*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0d0d0d;--white:#f5f3ee;--cream:#f0ede6;--accent:#c8b89a;--mid:#666;--serif:"DM Serif Display",serif;--sans:"DM Sans",sans-serif}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--white);color:var(--black);overflow-x:hidden}#progress{background:var(--black);z-index:9999;width:0;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}#cursor,#cursor-follower{pointer-events:none;z-index:9997;border-radius:50%;transition:opacity .3s;position:fixed;transform:translate(-50%,-50%)}#cursor{background:var(--black);width:8px;height:8px}#cursor-follower{border:1.5px solid #00000040;width:36px;height:36px;transition:width .3s,height .3s}nav{z-index:200;justify-content:space-between;align-items:center;padding:1.5rem 4rem;transition:background .4s,box-shadow .4s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f3eef0;box-shadow:0 1px #00000014}.nav-logo a{font-family:var(--serif);letter-spacing:-.02em;color:var(--black);align-items:center;font-size:1.6rem;text-decoration:none;display:flex}.nav-logo img{height:36px;display:block}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--black);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:500;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--black);width:0;height:1px;transition:width .3s;position:absolute;bottom:-3px;left:0}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta{text-transform:uppercase;letter-spacing:.09em;color:var(--black);border:1.5px solid var(--black);border-radius:2rem;padding:.5rem 1.4rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:background .3s,color .3s}.nav-cta:hover{background:var(--black);color:var(--white)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:0;display:none;position:relative}.hamburger span{background:var(--black);transform-origin:50%;width:24px;height:1.5px;transition:transform .25s,opacity .2s;display:block}.hamburger.is-open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.is-open span:nth-child(2){opacity:0}.hamburger.is-open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-nav{background:var(--black);z-index:190;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transition:transform .45s cubic-bezier(.77,0,.18,1);display:flex;position:fixed;inset:0;transform:translate(100%)}.mobile-nav.open{transform:none}.mobile-nav a{font-family:var(--serif);color:var(--white);font-size:clamp(2rem,7vw,3rem);text-decoration:none;transition:color .2s}.mobile-nav a:hover{color:var(--accent)}.mobile-close{color:var(--white);cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:absolute;top:2rem;right:2.5rem}.page-hero{background:var(--white);flex-direction:column;justify-content:flex-end;min-height:52vh;padding:160px 4rem 5rem;display:flex;position:relative;overflow:hidden}.hero-bg-word{font-family:var(--serif);color:#0000000a;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:-.04em;opacity:0;font-size:clamp(6rem,18vw,18rem);animation:1s .4s forwards bgWordIn;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}@keyframes bgWordIn{to{opacity:1}}.hero-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--mid);opacity:0;margin-bottom:1.4rem;font-size:.72rem;animation:.7s .6s forwards fadeUp;transform:translateY(20px)}.hero-title{font-family:var(--serif);letter-spacing:-.04em;z-index:1;opacity:0;max-width:800px;font-size:clamp(3.5rem,9vw,9rem);line-height:.95;animation:.85s .75s forwards fadeUp;position:relative;transform:translateY(40px)}.hero-title em{color:var(--accent);font-style:italic}.hero-sub{color:var(--mid);z-index:1;opacity:0;max-width:500px;margin-top:1.8rem;font-size:1rem;line-height:1.75;animation:.85s .9s forwards fadeUp;position:relative;transform:translateY(24px)}@keyframes fadeUp{to{opacity:1;transform:none}}.marquee-strip{background:var(--black);padding:1.1rem 0;overflow:hidden}.marquee-inner{white-space:nowrap;gap:2.5rem;animation:22s linear infinite marqueeScroll;display:flex}.marquee-inner span{letter-spacing:.18em;text-transform:uppercase;color:#ffffffa6;font-size:.78rem}.marquee-inner .dot{color:var(--accent);font-size:1.1rem;line-height:1}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact-section{grid-template-columns:1fr 1.1fr;align-items:start;gap:8rem;padding:7rem 4rem 8rem;display:grid}.contact-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--mid);margin-bottom:.8rem;font-size:.7rem;display:block}.contact-heading{font-family:var(--serif);letter-spacing:-.025em;margin-bottom:1.5rem;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08}.contact-heading em{color:var(--accent);font-style:italic}.contact-desc{color:var(--mid);max-width:400px;margin-bottom:3.5rem;font-size:.98rem;line-height:1.78}.info-blocks{flex-direction:column;gap:0;display:flex}.info-block{border-top:1px solid #0000001a;align-items:flex-start;gap:1.2rem;padding:1.8rem 0;display:flex}.info-block:last-child{border-bottom:1px solid #0000001a}.info-icon{background:var(--cream);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:background .3s,transform .3s;display:flex}.info-block:hover .info-icon{background:var(--black);color:var(--white);transform:scale(1.05)}.info-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.3rem;font-size:.65rem;display:block}.info-value{color:var(--black);font-size:.95rem;font-weight:500;line-height:1.5}.info-value a{color:inherit;text-decoration:none;transition:color .2s}.info-value a:hover{color:var(--accent)}.social-section{margin-top:3.5rem}.social-label{letter-spacing:.2em;text-transform:uppercase;color:var(--mid);margin-bottom:1.2rem;font-size:.65rem;display:block}.social-links{flex-wrap:wrap;gap:1rem;display:flex}.social-link{color:var(--black);letter-spacing:.04em;border:1.5px solid #0000001f;border-radius:2rem;align-items:center;gap:.7rem;padding:.55rem 1.2rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .25s;display:flex}.social-link:hover{background:var(--black);color:var(--white);border-color:var(--black);transform:translateY(-2px)}.social-link svg{flex-shrink:0;transition:transform .3s}.social-link:hover svg{transform:scale(1.1)}.contact-form-wrap{background:var(--cream);border-radius:1.2rem;padding:3.5rem 3rem}.form-heading{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:.6rem;font-size:1.8rem}.form-sub{color:var(--mid);margin-bottom:2.5rem;font-size:.88rem;line-height:1.6}.form-row{grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;display:grid}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.2rem;display:flex}.form-group:last-of-type{margin-bottom:0}.form-label{letter-spacing:.15em;text-transform:uppercase;color:var(--mid);font-size:.7rem;font-weight:500}.form-input,.form-select,.form-textarea{font-family:var(--sans);color:var(--black);background:var(--white);border:1.5px solid #0000001a;border-radius:.6rem;outline:none;width:100%;padding:.85rem 1.1rem;font-size:.92rem;transition:border-color .3s,box-shadow .3s}.form-input::placeholder,.form-textarea::placeholder{color:#0000004d}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--black);box-shadow:0 0 0 3px #0d0d0d0f}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1.1rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-textarea{resize:vertical;min-height:130px;line-height:1.65}.form-check-row{align-items:flex-start;gap:.8rem;margin:1.5rem 0 2rem;display:flex}.form-check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--black);cursor:pointer;border-radius:3px;flex-shrink:0;margin-top:2px}.form-check-row label{color:var(--mid);cursor:pointer;font-size:.82rem;line-height:1.55}.form-check-row label a{color:var(--black);text-underline-offset:2px;text-decoration:underline}.form-submit{background:var(--black);width:100%;color:var(--white);font-family:var(--sans);letter-spacing:.04em;cursor:pointer;border:none;border-radius:2rem;justify-content:center;align-items:center;gap:.6rem;padding:1rem 2rem;font-size:.92rem;font-weight:600;transition:background .3s,transform .3s,box-shadow .3s;display:flex}.form-submit:hover{background:#222;transform:translateY(-2px);box-shadow:0 12px 36px #0000002e}.form-submit svg{transition:transform .3s}.form-submit:hover svg{transform:translate(4px)}.form-message{text-align:center;border-radius:.75rem;margin-top:1.2rem;padding:1rem 1.3rem;font-size:.88rem;font-weight:500;display:none}.form-message.success{color:#2e7d32;background:#e8f5e9;display:block}.form-message.error{color:#c62828;background:#fdecea;display:block}.location-band{background:var(--black);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.location-info{flex-direction:column;justify-content:center;padding:6rem 4rem;display:flex}.location-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;font-size:.68rem;display:block}.location-name{font-family:var(--serif);color:var(--white);letter-spacing:-.025em;margin-bottom:2rem;font-size:clamp(2rem,3.5vw,3.2rem)}.location-details{flex-direction:column;gap:1.5rem;display:flex}.location-detail-item{align-items:flex-start;gap:1rem;display:flex}.ld-icon{width:36px;height:36px;color:var(--accent);background:#ffffff14;border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.ld-label{letter-spacing:.18em;text-transform:uppercase;color:#fff6;margin-bottom:.2rem;font-size:.62rem}.ld-value{color:#ffffffbf;font-size:.9rem;line-height:1.5}.ld-value a{color:var(--accent);text-decoration:none}.ld-value a:hover{text-decoration:underline}.location-map{background:#1a1a2e;min-height:420px;position:relative;overflow:hidden}.map-embed{filter:grayscale(30%)contrast(1.1);border:none;width:100%;height:100%}.availability-section{background:var(--cream);grid-template-columns:1fr 1fr;align-items:center;gap:6rem;padding:7rem 4rem;display:grid}.avail-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--mid);margin-bottom:.8rem;font-size:.7rem;display:block}.avail-title{font-family:var(--serif);letter-spacing:-.025em;margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}.avail-title em{color:var(--accent);font-style:italic}.avail-desc{color:var(--mid);max-width:420px;font-size:.95rem;line-height:1.78}.avail-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.avail-card{background:var(--white);border-radius:.85rem;padding:1.8rem 1.5rem;transition:transform .3s,box-shadow .3s}.avail-card:hover{transform:translateY(-3px);box-shadow:0 16px 44px #0000001a}.avail-dot{background:#4caf50;border-radius:50%;width:8px;height:8px;margin-bottom:1.2rem;display:block}.avail-dot.busy{background:#ff9800}.avail-card h5{font-family:var(--serif);margin-bottom:.3rem;font-size:1.1rem}.avail-card p{color:var(--mid);font-size:.8rem;line-height:1.55}footer{color:var(--white);background:#0a0a0a;padding:5rem 4rem 3rem}.footer-inner{border-bottom:1px solid #ffffff14;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding-bottom:4rem;display:grid}.footer-logo{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.8rem}.footer-brand p{color:#ffffff61;max-width:240px;font-size:.85rem;line-height:1.7}.footer-col h5{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;font-size:.66rem}.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:.85rem}.footer-col ul a{color:#ffffff7a;font-size:.88rem;text-decoration:none;transition:color .2s}.footer-col ul a:hover{color:var(--white)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2.5rem;display:flex}.footer-bottom p{color:#ffffff47;font-size:.78rem}.footer-socials{gap:1.5rem;display:flex}.footer-socials a{color:#ffffff61;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;text-decoration:none;transition:color .2s}.footer-socials a:hover{color:var(--white)}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(36px)}.reveal-left{opacity:0;transition:opacity .8s,transform .8s;transform:translate(-36px)}.reveal-right{opacity:0;transition:opacity .8s,transform .8s;transform:translate(36px)}.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}.float-group{margin-bottom:1.2rem;position:relative}.float-group .form-input,.float-group .form-textarea{padding-top:1.4rem;padding-bottom:.55rem}.float-label{color:#00000059;pointer-events:none;font-size:.9rem;transition:all .25s;position:absolute;top:50%;left:1.1rem;transform:translateY(-50%)}.float-group textarea~.float-label{top:1.1rem;transform:none}.float-group .form-input:focus~.float-label,.float-group .form-input:not(:placeholder-shown)~.float-label,.float-group .form-textarea:focus~.float-label,.float-group .form-textarea:not(:placeholder-shown)~.float-label{letter-spacing:.1em;text-transform:uppercase;color:var(--mid);font-size:.62rem;top:.45rem;transform:none}@media (max-width:1100px){.location-band{grid-template-columns:1fr}.location-map{min-height:300px}.availability-section{grid-template-columns:1fr;gap:3rem}}@media (max-width:1024px){nav{padding:1.5rem 2.5rem}.nav-links,.nav-cta{display:none}.hamburger{display:flex}.page-hero{padding:140px 2.5rem 4rem}.contact-section{grid-template-columns:1fr;gap:4rem;padding:5rem 2.5rem 6rem}.location-info{padding:4rem 2.5rem}.availability-section{padding:5rem 2.5rem}footer{padding:4rem 2.5rem 2.5rem}.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:640px){.form-row{grid-template-columns:1fr}.contact-form-wrap{padding:2.5rem 1.8rem}.avail-grid,.footer-inner{grid-template-columns:1fr}.social-links{gap:.7rem}}
