@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Jost:ital,wght@0,300;0,400;0,500;1,300&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --off-white:#F3EEE7;--blush:#EDE5DA;--blush-mid:#D8C7B5;
  --slate:#3A312C;--slate-mid:#4a3f38;
  --gold:#A98F7A;--gold-pale:#D8C7B5;
  --text-dark:#3A312C;--text-mid:#8A7461;--text-light:#A98F7A;
  --border-gold:rgba(169,143,122,0.32);
  --ease:cubic-bezier(0.16,1,0.3,1);
}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--off-white);color:var(--text-dark);overflow-x:hidden}
.wrap{max-width:1280px;margin:0 auto;width:100%;padding:0 24px}

nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--slate);height:72px;display:flex;justify-content:center;align-items:center;transition:box-shadow .4s,transform .5s var(--ease)}
nav.hide{transform:translateY(-100%)}
nav.scrolled{box-shadow:0 2px 40px rgba(58,49,44,.32)}
nav.breadcrumb{position:relative;top:auto;left:auto;right:auto;background:transparent;height:auto;z-index:1;box-shadow:none;justify-content:flex-start;display:block;transform:none;transition:none;margin-top:72px}
.nav-inner{width:100%;max-width:1400px;display:flex;justify-content:space-between;align-items:center;padding:0 52px;position:relative}
.nav-logo{position:absolute;left:50%;transform:translateX(-50%);font-family:'Cormorant',serif;font-weight:300;font-size:1.15rem;letter-spacing:.28em;text-transform:uppercase;color:#F3EEE7;text-decoration:none;text-align:center;line-height:1.2;white-space:nowrap}
.nav-logo span{display:block;font-family:'Jost',sans-serif;font-size:.48rem;letter-spacing:.55em;color:rgba(243,238,231,.36);font-weight:300;margin-top:4px;text-transform:uppercase}
.nav-left,.nav-right{display:flex;align-items:center;gap:28px}
.nav-links{display:flex;gap:26px;list-style:none}
.nav-links a{font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:rgba(243,238,231,.48);text-decoration:none;transition:color .3s;position:relative;padding-bottom:2px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--blush-mid);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:rgba(243,238,231,.9)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left}
.nav-cta{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--off-white);text-decoration:none;padding:9px 22px;border:1px solid rgba(243,238,231,.26);transition:background .3s,border-color .3s}
.nav-cta:hover{background:rgba(243,238,231,.1);border-color:rgba(243,238,231,.6)}
.ham{display:none;flex-direction:column;gap:5px;width:28px;background:none;border:none;cursor:pointer;padding:2px}
.ham span{display:block;height:1px;background:rgba(243,238,231,.8);transition:all .4s var(--ease)}
.ham.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ham.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mob-menu{display:none;position:fixed;inset:0;background:var(--slate);z-index:999;flex-direction:column;justify-content:center;align-items:center;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease)}
.mob-menu.open{clip-path:inset(0 0 0% 0)}
.mob-menu ul{list-style:none;text-align:center}
.mob-menu ul li{overflow:hidden}
.mob-menu ul li a{display:block;font-family:'Cormorant',serif;font-style:italic;font-size:clamp(2.2rem,7vw,3.6rem);font-weight:300;color:rgba(243,238,231,.85);text-decoration:none;padding:10px 0;transform:translateY(110%);transition:transform .55s var(--ease),color .3s}
.mob-menu.open ul li:nth-child(1) a{transform:translateY(0);transition-delay:.14s}
.mob-menu.open ul li:nth-child(2) a{transform:translateY(0);transition-delay:.21s}
.mob-menu.open ul li:nth-child(3) a{transform:translateY(0);transition-delay:.28s}
.mob-menu.open ul li:nth-child(4) a{transform:translateY(0);transition-delay:.35s}
.mob-menu.open ul li:nth-child(5) a{transform:translateY(0);transition-delay:.42s}
.mob-menu.open ul li:nth-child(6) a{transform:translateY(0);transition-delay:.49s}
.mob-menu ul li a:hover{color:var(--blush-mid)}
.mob-footer{position:absolute;bottom:44px;font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(243,238,231,.26);opacity:0;transform:translateY(12px);transition:opacity .5s .5s ease,transform .5s .5s ease}
.mob-menu.open .mob-footer{opacity:1;transform:translateY(0)}

.ticker{background:var(--slate);overflow:hidden;white-space:nowrap;padding:10px 0;border-top:1px solid rgba(169,143,122,.22);border-bottom:1px solid rgba(169,143,122,.22)}
.ticker-track{display:inline-flex;align-items:center;animation:ticker 30s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.ticker-track span{font-family:'Jost',sans-serif;font-style:normal;font-size:.58rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:rgba(243,238,231,.72);padding:0 28px;transition:color .3s}
.ticker-track span:not(.sep):hover{color:var(--gold)}
.ticker-track .sep{padding:0 18px;color:var(--gold);font-size:.5rem;opacity:.7}
@keyframes ticker{to{transform:translateX(-50%)}}

.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform}
.hero-overlay{position:absolute;inset:0;background:rgba(58,49,44,.70)}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 32px;max-width:980px}
.hero-script{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:clamp(2.8rem,5.5vw,5.2rem);color:rgba(243,238,231,.96);line-height:1.1;overflow:hidden}
.hero-script-inner{display:block;transform:translateY(100%);transition:transform 1.15s var(--ease)}
.hero-rule{width:0;height:1px;background:rgba(243,238,231,.3);margin:28px auto;transition:width 1s .85s var(--ease)}
.hero-sub{font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.46em;text-transform:uppercase;font-weight:300;color:rgba(243,238,231,.52);margin-bottom:58px;opacity:0;transform:translateY(16px);transition:opacity .9s 1.05s ease,transform .9s 1.05s var(--ease)}
.hero-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:opacity .9s 1.25s ease,transform .9s 1.25s var(--ease)}
.hero-loaded .hero-script-inner{transform:translateY(0)}
.hero-loaded .hero-rule{width:76px}
.hero-loaded .hero-sub{opacity:1;transform:translateY(0)}
.hero-loaded .hero-btns{opacity:1;transform:translateY(0)}
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;transition:opacity .9s 1.7s ease}
.hero-loaded .hero-scroll{opacity:1}
.scroll-line{width:1px;height:52px;background:linear-gradient(to bottom,transparent,rgba(243,238,231,.48));animation:scrollDrop 2.2s 2s infinite}
@keyframes scrollDrop{0%{transform:scaleY(0);transform-origin:top;opacity:1}50%{transform:scaleY(1);transform-origin:top;opacity:1}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}
.scroll-txt{font-family:'Jost',sans-serif;font-size:.52rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(243,238,231,.32);writing-mode:vertical-rl}

.page-hero{height:56vh;min-height:360px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-bottom:72px;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-overlay{position:absolute;inset:0;background:rgba(58,49,44,.70)}
.page-hero-content{position:relative;z-index:2;text-align:center}
.page-hero-eyebrow{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.46em;text-transform:uppercase;color:rgba(243,238,231,.4);display:block;margin-bottom:16px}
.page-hero-title{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:clamp(3.2rem,7vw,6.4rem);color:#F3EEE7;line-height:1;letter-spacing:-.01em}

.eyebrow{display:block;font-family:'Jost',sans-serif;font-size:.57rem;letter-spacing:.42em;text-transform:uppercase;font-weight:400;color:var(--text-light);margin-bottom:14px;overflow:hidden}
.eyebrow-inner{display:block;transform:translateY(110%);transition:transform .72s var(--ease)}
.in-view .eyebrow-inner{transform:translateY(0)}
.split-line{overflow:hidden;display:block}
.split-line-inner{display:block;transform:translateY(110%);transition:transform .88s var(--ease)}
.in-view .split-line-inner{transform:translateY(0)}
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .88s ease,transform .88s var(--ease)}
.in-view .fade-up,.fade-up.in-view{opacity:1;transform:translateY(0)}
.fade-up.d1{transition-delay:.1s}.fade-up.d2{transition-delay:.22s}.fade-up.d3{transition-delay:.34s}.fade-up.d4{transition-delay:.46s}.fade-up.d5{transition-delay:.58s}
.line-draw{display:block;transform-origin:left;transform:scaleX(0);transition:transform .95s var(--ease)}
.in-view .line-draw{transform:scaleX(1)}
.img-reveal{clip-path:inset(100% 0 0 0);transition:clip-path 1.15s var(--ease)}
.in-view .img-reveal{clip-path:inset(0% 0 0 0)}
.img-reveal img{transform:scale(1.12);transition:transform 1.45s var(--ease)}
.in-view .img-reveal img{transform:scale(1)}

.btn-primary{display:inline-flex;align-items:center;gap:12px;padding:15px 42px;background:var(--off-white);border:1px solid var(--off-white);font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--slate);text-decoration:none;transition:background .4s,border-color .4s,transform .3s}
.btn-primary:hover{background:var(--blush-mid);border-color:var(--blush-mid);transform:translateY(-2px)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:15px 42px;background:transparent;border:1px solid rgba(243,238,231,.38);font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--off-white);text-decoration:none;transition:border-color .4s,background .4s,transform .3s}
.btn-ghost:hover{border-color:var(--off-white);background:rgba(243,238,231,.1);transform:translateY(-2px)}
.btn-dark{display:inline-flex;align-items:center;gap:12px;padding:15px 42px;background:var(--slate);border:1px solid var(--slate);font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--off-white);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s}
.btn-dark::before{content:'';position:absolute;inset:0;background:var(--slate-mid);transform:translateX(-101%);transition:transform .45s var(--ease)}
.btn-dark:hover::before{transform:translateX(0)}
.btn-dark:hover{transform:translateY(-2px)}
.btn-dark span{position:relative;z-index:1}
.btn-warm{display:inline-flex;align-items:center;gap:12px;padding:15px 42px;background:var(--gold);border:1px solid var(--gold);font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--off-white);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s}
.btn-warm::before{content:'';position:absolute;inset:0;background:#8a7461;transform:translateX(-101%);transition:transform .45s var(--ease)}
.btn-warm:hover::before{transform:translateX(0)}
.btn-warm:hover{transform:translateY(-2px)}
.btn-warm span{position:relative;z-index:1}
.btn-outline-dark{display:inline-flex;align-items:center;gap:10px;padding:14px 38px;background:transparent;border:1px solid var(--border-gold);font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--text-mid);text-decoration:none;transition:border-color .35s,background .35s,color .35s,transform .3s}
.btn-outline-dark:hover{background:var(--slate);border-color:var(--slate);color:var(--off-white);transform:translateY(-2px)}

.tag{display:inline-block;padding:7px 18px;border:1px solid var(--border-gold);font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mid);transition:background .35s,color .35s,border-color .35s}
.tag:hover{background:var(--gold);border-color:var(--gold);color:var(--off-white)}

.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.form-group label{font-family:'Jost',sans-serif;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-light);font-weight:400}
.form-group input,.form-group select,.form-group textarea{background:var(--off-white);border:1px solid var(--border-gold);padding:13px 16px;font-family:'Jost',sans-serif;font-size:.84rem;color:var(--text-dark);font-weight:300;outline:none;transition:border-color .3s,box-shadow .3s;appearance:none;-webkit-appearance:none;border-radius:0}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,143,122,.1)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(138,116,97,.44)}
.form-group textarea{resize:vertical;min-height:120px;line-height:1.8}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A7461' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.form-group select option{background:var(--off-white);color:var(--text-dark)}
.form-check{display:flex;align-items:flex-start;gap:12px;margin-bottom:28px}
.form-check input[type="checkbox"]{width:16px;height:16px;border:1px solid var(--border-gold);background:var(--off-white);appearance:none;-webkit-appearance:none;cursor:pointer;flex-shrink:0;margin-top:2px;transition:background .2s,border-color .2s}
.form-check input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold)}
.form-check label{font-family:'Jost',sans-serif;font-size:.78rem;color:var(--text-mid);font-weight:300;line-height:1.72;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-submit{width:100%;padding:16px;background:var(--slate);border:none;font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;font-weight:400;color:var(--off-white);cursor:pointer;position:relative;overflow:hidden;transition:transform .3s}
.form-submit::before{content:'';position:absolute;inset:0;background:var(--slate-mid);transform:translateX(-101%);transition:transform .45s var(--ease)}
.form-submit:hover::before{transform:translateX(0)}
.form-submit:hover{transform:translateY(-2px)}
.form-submit span{position:relative;z-index:1}

.quote-section{padding:110px 24px;background:var(--blush-mid);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}
.quote-vert{width:1px;height:0;background:linear-gradient(to bottom,transparent,var(--gold));margin:0 auto 52px;transition:height 1.1s .2s var(--ease)}
.in-view .quote-vert{height:80px}
.quote-section blockquote{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:clamp(1.8rem,2.8vw,3rem);color:var(--text-dark);max-width:780px;line-height:1.58;margin-bottom:34px}
.quote-section blockquote::before{content:'\201C';font-size:4.4rem;color:var(--gold);line-height:0;vertical-align:-.42em;margin-right:4px}
.quote-section blockquote::after{content:'\201D';font-size:4.4rem;color:var(--gold);line-height:0;vertical-align:-.42em;margin-left:4px}
.quote-author{font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-light);font-weight:400}

.cta-banner{background:var(--blush);padding:100px 24px;text-align:center;overflow:hidden}
.cta-eyebrow{display:block;font-family:'Jost',sans-serif;font-size:.56rem;letter-spacing:.44em;text-transform:uppercase;font-weight:300;color:var(--text-light);margin-bottom:16px;overflow:hidden}
.cta-eyebrow-inner{display:block;transform:translateY(110%);transition:transform .72s var(--ease)}
.in-view .cta-eyebrow-inner{transform:translateY(0)}
.cta-title{font-family:'Cormorant',serif;font-style:italic;font-weight:300;font-size:clamp(2.6rem,4.2vw,4.4rem);color:var(--text-dark);line-height:1.12;margin-bottom:22px}
.cta-body{font-family:'Jost',sans-serif;font-size:.86rem;line-height:2.05;color:var(--text-mid);font-weight:300;max-width:520px;margin:0 auto 46px}
.cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

footer{background:var(--slate);padding:66px 24px 36px}
.footer-inner{width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer-logo{font-family:'Cormorant',serif;font-weight:300;font-size:.98rem;letter-spacing:.32em;text-transform:uppercase;color:rgba(243,238,231,.82);text-decoration:none;display:block;margin-bottom:18px;line-height:1.4}
.footer-logo small{display:block;font-family:'Jost',sans-serif;font-size:.48rem;letter-spacing:.52em;color:rgba(243,238,231,.26);margin-top:3px}
.footer-brand p{font-family:'Jost',sans-serif;font-size:.78rem;color:rgba(243,238,231,.24);line-height:2;font-weight:300;max-width:240px}
.footer-col h4{font-family:'Jost',sans-serif;font-size:.52rem;letter-spacing:.38em;text-transform:uppercase;color:rgba(243,238,231,.26);margin-bottom:20px;font-weight:400}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-family:'Jost',sans-serif;font-size:.78rem;color:rgba(243,238,231,.32);text-decoration:none;font-weight:300;transition:color .3s,padding-left .3s}
.footer-col ul li a:hover{color:rgba(243,238,231,.78);padding-left:6px}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(243,238,231,.07);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:8px}
.footer-bottom p{font-family:'Jost',sans-serif;font-size:.6rem;color:rgba(243,238,231,.18);font-weight:300}
.awards{display:flex;gap:10px;flex-wrap:wrap}
.award{padding:4px 12px;border:1px solid rgba(243,238,231,.12);font-family:'Jost',sans-serif;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,238,231,.28)}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:1024px){
  .nav-inner{padding:0 24px}.nav-links,.nav-cta{display:none}.ham{display:flex}.mob-menu{display:flex}
}
@media(max-width:960px){
  .footer-inner{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center}
  .cta-banner,.quote-section{padding:72px 24px}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .hero-btns,.cta-btns{flex-direction:column;align-items:center}
}
