/* MigsWax — Heritage Tailoring design system
   Ported from the Claude Design handoff (Home.dc.html + siblings), 2026-07-05.
   Cormorant Garamond serif · centered editorial · gold #b8945a. */

:root{
  --ink:#141414; --paper:#fff; --warm:#f7f5f2; --foot:#f2f0ed; --gold:#b8945a;
  --line:rgba(20,20,20,.12); --line14:rgba(20,20,20,.14); --line06:rgba(20,20,20,.06);
  --t90:rgba(20,20,20,.9); --t85:rgba(20,20,20,.85); --t82:rgba(20,20,20,.82);
  --t80:rgba(20,20,20,.8); --t78:rgba(20,20,20,.78); --t72:rgba(20,20,20,.72);
  --t70:rgba(20,20,20,.7); --t65:rgba(20,20,20,.65); --t60:rgba(20,20,20,.6);
  --d92:rgba(247,245,242,.92); --d82:rgba(247,245,242,.82); --d8:rgba(247,245,242,.8);
  --d78:rgba(247,245,242,.78); --d7:rgba(247,245,242,.7); --d65:rgba(247,245,242,.65);
  --d6:rgba(247,245,242,.6); --d55:rgba(247,245,242,.55); --d18:rgba(247,245,242,.18); --d1:rgba(247,245,242,.1);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:var(--serif);}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,p{margin:0;}
em{font-style:italic;}

/* ---- header / nav ---- */
.hdr{position:relative;padding:clamp(26px,4vw,40px) 24px 0;display:flex;flex-direction:column;align-items:center;text-align:center;}
.brand{display:flex;flex-direction:column;align-items:center;}
.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px clamp(16px,2.4vw,28px);margin-top:26px;font:600 13px/1 var(--serif);letter-spacing:.13em;text-transform:uppercase;}
.nav a{color:var(--ink);padding:6px 0;border-bottom:1.5px solid transparent;transition:color .2s,border-color .2s;}
.nav a:hover{border-bottom-color:var(--gold);}
.nav a.active{border-bottom-color:var(--ink);}

/* ---- type helpers ---- */
.eyebrow{font:400 10.5px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);}
.h1{margin:0 auto;font:400 clamp(36px,5vw,56px)/1.15 var(--serif);}
.h2{margin:0;font:400 clamp(28px,4vw,38px)/1.2 var(--serif);}
.lede{font:italic 400 19px/1.6 var(--serif);color:var(--t85);}
.rule{width:40px;height:1px;background:var(--gold);border:0;margin:0 auto;}
.center{text-align:center;}

/* ---- buttons ---- */
.btn{display:inline-block;background:var(--ink);color:#fff;padding:18px 44px;font:400 15px/1 var(--serif);letter-spacing:.08em;transition:background .2s,transform .2s;}
.btn:hover{background:#2b2b2b;transform:translateY(-1px);}
.btn--outline{display:inline-block;background:none;border:1px solid var(--ink);color:var(--ink);padding:15px 36px;font:400 14px/1 var(--serif);letter-spacing:.1em;transition:background .2s,color .2s;}
.btn--outline:hover{background:var(--ink);color:#fff;}
.btn--ghost{display:inline-block;border:1px solid var(--d7);color:var(--warm);padding:15px 36px;font:400 14px/1 var(--serif);letter-spacing:.1em;transition:background .2s,color .2s;}
.btn--ghost:hover{background:var(--warm);color:var(--ink);}

/* ---- section frames ---- */
.section{padding:clamp(56px,8vw,96px) 24px;}
.section--tight{padding:clamp(48px,7vw,72px) 24px;}
.topline{border-top:1px solid var(--line);}
.dark{background:var(--ink);color:var(--warm);}

/* ---- hero (home) ---- */
.hero{display:flex;flex-direction:column;align-items:center;padding:clamp(40px,6vw,64px) 24px 0;}
.hero__img{width:min(640px,100%);aspect-ratio:660/860;object-fit:cover;object-position:50% 6%;}
.hero__copy{text-align:center;padding:clamp(32px,5vw,44px) 0 clamp(64px,8vw,100px);max-width:640px;}
.hero__copy h1{margin:0;font:400 clamp(34px,4vw,42px)/1.2 var(--serif);}
.hero__copy p{margin:22px 0 0;font:400 17px/1.6 var(--serif);color:var(--t85);}
.hero__copy p strong{font-weight:600;}
.hero__copy .btn{margin-top:38px;}

/* page hero (interior pages) */
.phero{text-align:center;padding:clamp(56px,8vw,96px) 24px clamp(40px,6vw,64px);}
.phero .eyebrow{display:block;margin-bottom:20px;}
.phero .lede{display:block;margin:26px auto 0;max-width:540px;}

/* ---- statement ---- */
.statement{text-align:center;}
.statement .rule{margin-bottom:36px;}
.statement p+p{margin-top:24px;}
.statement p{margin:0 auto;max-width:680px;font:400 clamp(20px,2.4vw,24px)/1.7 var(--serif);text-align:left;}
.statement p+p{margin-top:1.1em;text-indent:2em;}

/* ---- wedding party ---- */
.wp{text-align:center;padding:0 24px clamp(64px,9vw,100px);}
.wp .eyebrow{display:block;margin-bottom:16px;}
.wp h2{margin:0 auto 54px;max-width:none;white-space:nowrap;font:400 clamp(13px,4.3vw,38px)/1.2 var(--serif);}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:1000px;margin:0 auto;}
.cell{padding:40px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line06);}
.cell:last-child{border-right:0;}
.cell--fill{background:#faf9f7;}
.cell__num{font:400 24px/1 var(--serif);color:var(--gold);}
.cell__k{font:600 17px/1.3 var(--serif);margin-top:16px;}
.cell__d{margin:8px 0 0;font:400 13px/1.6 var(--sans);color:var(--t78);}
.cell__d em{font-family:var(--serif);color:var(--gold);}
.wp__note{margin:32px auto 0;max-width:540px;font:italic 400 17px/1.7 var(--serif);color:var(--t85);}
.wp .btn--outline{margin-top:28px;}
.btn__arr{display:inline-block;margin-left:9px;vertical-align:-1px;transition:transform .25s ease;}
.btn:hover .btn__arr,.btn--outline:hover .btn__arr{transform:rotate(-10deg);}

/* ---- house account band (home) ---- */
.ha{text-align:center;}
.ha .eyebrow{display:block;margin-bottom:16px;color:var(--gold);}
.ha h2{margin:0 auto;max-width:720px;font:400 clamp(28px,4vw,38px)/1.25 var(--serif);}
.ha__sub{margin:20px auto 0;max-width:520px;font:400 13px/1.7 var(--sans);color:var(--d78);}
.ha__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--d18);margin:52px auto 0;max-width:1100px;}
.ha__cell{padding:34px 22px;border-right:1px solid var(--d18);border-bottom:1px solid var(--d1);}
.ha__cell:last-child{border-right:0;}
.ha__tier{font:600 16px/1.3 var(--serif);}
.ha__at{font:400 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--d7);margin-top:9px;}
.ha__pct{font:400 28px/1 var(--serif);color:var(--gold);margin-top:18px;}
.ha .btn--ghost{margin-top:36px;}
.ha__quiet{margin:36px auto 0;max-width:1100px;}
.ha__quiet p{margin:0;font:italic 400 16px/1.6 var(--serif);color:var(--d82);}
.ha__engine{margin-top:22px;font:400 9px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--d55);}

/* ---- generic centered section heads / CTA ---- */
.eyebrow-block{text-align:center;margin-bottom:clamp(40px,6vw,60px);}
.eyebrow-block .eyebrow{display:block;margin-bottom:16px;}
.sect-cta{text-align:center;}
.sect-cta h2{margin:0 auto;max-width:640px;font:400 clamp(26px,3.5vw,38px)/1.25 var(--serif);}
.sect-cta p{margin:20px auto 0;max-width:460px;font:400 13px/1.7 var(--sans);color:var(--t78);}
.sect-cta .btn,.sect-cta .btn--outline{margin-top:32px;}

/* ---- our story ---- */
.story{max-width:680px;margin:0 auto;font:400 clamp(17px,2vw,19px)/1.85 var(--serif);color:var(--t90);}
.story p+p{margin-top:28px;}
.story__em{font-style:italic;text-align:center;color:var(--ink);}
.story__img{display:flex;flex-direction:column;align-items:center;padding-bottom:clamp(40px,6vw,64px);}
.story__cap{margin:16px 0 0;font:italic 400 13px/1.6 var(--serif);color:var(--t60);text-align:center;max-width:660px;}
.story__img img{width:min(660px,100%);height:auto;}

/* timeline */
.tl{max-width:900px;margin:0 auto;position:relative;}
.tl__spine{position:absolute;left:50%;top:6px;bottom:34px;width:1px;background:rgba(20,20,20,.18);transform:translateX(-.5px);}
.tl__row{display:grid;grid-template-columns:1fr 56px 1fr;padding-bottom:40px;position:relative;}
.tl__dot{grid-column:2;grid-row:1;display:flex;justify-content:center;padding-top:7px;}
.tl__dot span{width:9px;height:9px;background:rgba(20,20,20,.5);}
.tl__row--key .tl__dot span{background:var(--gold);}
.tl__c{grid-row:1;}
.tl__c--l{grid-column:1;text-align:right;}
.tl__c--r{grid-column:3;text-align:left;}
.tl__year{font:600 20px/1 var(--serif);color:var(--ink);}
.tl__row--key .tl__year{color:var(--gold);}
.tl__txt{margin:8px 0 0;font:400 14px/1.7 var(--sans);color:var(--t82);max-width:340px;display:inline-block;}
.tl__end{position:relative;text-align:center;padding-top:6px;}
.tl__end .dot{width:15px;height:15px;background:var(--gold);margin:0 auto 18px;}
.tl__end .y{font:600 clamp(28px,3vw,36px)/1 var(--serif);color:var(--gold);}
.tl__end p{margin:10px auto 0;max-width:420px;font:italic 400 16px/1.7 var(--serif);color:var(--ink);}
@media(max-width:640px){
  .tl__spine{left:14px;}
  .tl__row{grid-template-columns:28px 1fr;gap:0;}
  .tl__dot{grid-column:1;justify-content:flex-start;}
  .tl__c--l,.tl__c--r{grid-column:2;text-align:left;}
  .tl__txt{text-align:left;}
}

/* ---- dark quote band (our story why) ---- */
.why{text-align:center;}
.why__lead{margin:0 auto;max-width:680px;font:400 clamp(22px,3vw,28px)/1.6 var(--serif);}
.why__sub{margin:30px auto 0;max-width:680px;font:400 15px/1.8 var(--sans);color:var(--d8);}
.why .rule{margin:44px auto;}
.why__quote{margin:0 auto;max-width:680px;font:italic 400 clamp(24px,3vw,30px)/1.4 var(--serif);color:var(--gold);}
.why__cite{margin-top:16px;font:400 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--d65);}

/* ---- lookbook grid ---- */
.lb-cat{padding:0 24px clamp(56px,8vw,84px);}
.lb-cat__inner{max-width:1100px;margin:0 auto;}
.lb-cat__head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-top:1px solid var(--line14);padding:26px 0 28px;flex-wrap:wrap;}
.lb-cat__title{display:flex;align-items:baseline;gap:18px;}
.lb-cat__num{font:400 22px/1 var(--serif);color:var(--gold);}
.lb-cat__title h2{margin:0;font:400 clamp(24px,3vw,32px)/1.2 var(--serif);}
.lb-count{font:400 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--t60);}
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.lb-tile{width:100%;aspect-ratio:3/4;background-color:#efedea;overflow:hidden;}
.lb-tile img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block;}
@media(max-width:520px){.lb-grid{grid-template-columns:1fr 1fr;gap:10px;}}

/* ---- forms (appointments) ---- */
.form-wrap{max-width:560px;margin:0 auto;border:1px solid var(--line14);padding:clamp(28px,4vw,44px);position:relative;}
.form-col{display:flex;flex-direction:column;gap:22px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font:400 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--t72);}
.field label .opt{color:rgba(20,20,20,.5);text-transform:none;letter-spacing:0;}
.field input,.field select,.field textarea{border:1px solid rgba(20,20,20,.25);padding:14px 16px;font-size:16px;font-family:var(--sans);background:#fff;color:var(--ink);border-radius:0;outline:none;transition:border-color .2s;}
.field textarea{line-height:1.6;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px;}
.consent{display:flex;gap:11px;align-items:flex-start;font:400 12.5px/1.5 var(--sans);color:var(--t72);cursor:pointer;}
.consent input{margin-top:2px;width:16px;height:16px;flex:0 0 auto;accent-color:var(--ink);}
.form-btn{background:var(--ink);color:#fff;border:none;padding:18px 24px;font:400 15px/1 var(--serif);letter-spacing:.08em;cursor:pointer;transition:background .2s;width:100%;}
.form-btn:hover{background:#2b2b2b;}
.form-btn:disabled{opacity:.6;cursor:default;}
.form-fine{margin:0;text-align:center;font:400 11.5px/1.7 var(--sans);color:var(--t65);}
.form-ok{display:none;text-align:center;padding:24px 8px;}
.form-ok h3{font:400 clamp(24px,3vw,30px)/1.2 var(--serif);margin:0 0 12px;}
.form-ok p{font:400 14px/1.7 var(--sans);color:var(--t72);margin:0;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.field-err{font:400 11.5px/1.4 var(--sans);color:#a3341f;}

/* ---- address band ---- */
.addr{text-align:center;}
.addr .eyebrow{display:block;margin-bottom:18px;}
.addr__line{font:400 clamp(24px,3vw,30px)/1.4 var(--serif);}
.addr__meta{margin:16px 0 0;font:400 13px/1.8 var(--sans);color:var(--d78);}
.addr__meta a{border-bottom:1px solid var(--gold);}

/* ---- house account page: how-it-works, cards, table ---- */
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1040px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.how__step{padding:clamp(36px,4vw,52px) clamp(28px,3vw,40px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.how__step:last-child{border-right:0;}
.how__n{font:400 32px/1 var(--serif);color:var(--gold);}
.how__t{font:600 clamp(21px,2.4vw,26px)/1.25 var(--serif);margin-top:18px;}
.how__d{margin:12px 0 0;font:400 clamp(14.5px,1.4vw,16.5px)/1.7 var(--sans);color:var(--t78);}
.cards{display:flex;flex-wrap:wrap;justify-content:center;gap:36px;max-width:1200px;margin:0 auto;}
.cardcol{display:flex;flex-direction:column;align-items:center;gap:18px;}
.wallet{width:300px;height:172px;border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 34px rgba(0,0,0,.45);}
.wallet__top{display:flex;justify-content:space-between;align-items:flex-start;}
.wallet__wm{font:500 16px/1 var(--serif);letter-spacing:.08em;}
.wallet__est{font:400 6.5px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;margin-top:5px;opacity:.7;}
.wallet__member{font:400 8px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:.7;}
.wallet__bot{display:flex;justify-content:space-between;align-items:flex-end;}
.wallet__name{font:400 8px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:.65;}
.wallet__tier{font:500 21px/1.1 var(--serif);margin-top:6px;}
.wallet__qr{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;font:400 6px/1 ui-monospace,Menlo,monospace;}
.cardcap{text-align:center;color:var(--warm);}
.cardcap__tier{font:600 16px/1 var(--serif);}
.cardcap__th{font:400 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--d7);margin-top:8px;}
.cardcap__cr{font:400 24px/1 var(--serif);color:var(--gold);margin-top:12px;}
.cardcap__lbl{font:400 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--d6);margin-top:6px;}
.htab{max-width:1000px;margin:0 auto;}
.htab__inner{min-width:0;}
.htab__hd{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;border-bottom:1px solid var(--ink);padding:0 0 16px;gap:12px;}
.htab__hd div{text-align:center;font:600 17px/1 var(--serif);}
.htab__hd div:first-child{text-align:left;}
.htab__hd .is-gold{color:var(--gold);}
.htab__row{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;padding:14px 0;border-bottom:1px solid rgba(20,20,20,.1);gap:12px;align-items:baseline;}
.htab__row>div{text-align:center;font:500 15px/1 var(--serif);color:var(--ink);}
.htab__row>div:first-child{text-align:left;font:400 13.5px/1.5 var(--sans);color:var(--ink);}
.htab__note{margin:28px auto 0;max-width:640px;text-align:center;font:400 12px/1.8 var(--sans);color:var(--t70);}
.htab__note strong{color:var(--ink);}

/* ---- footer ---- */
.foot{background:var(--foot);padding:30px 24px;text-align:center;font:400 11px/1.9 var(--sans);letter-spacing:.06em;color:var(--t70);}
.foot a{border-bottom:1px solid var(--gold);}
.foot__nav{margin-top:10px;}
.foot__nav a{border:0;letter-spacing:.14em;text-transform:uppercase;margin:0 8px;}
.foot__nav a:hover{color:var(--gold);}

/* ---- motion (respectful) ---- */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1);transition-delay:var(--d,0ms);}
  .reveal.in{opacity:1;transform:none;}
}

/* ============ 2026-07-05 batch: logo, lang, wallet, timeline photos, legal, mobile ============ */

/* real logo lockup in header (replaces text wordmark) */
.brand__logo{height:clamp(58px,7.5vw,76px);width:auto;display:block;}

/* EN / FR lives inside the nav — so it appears in the mobile burger menu; on desktop it's hidden here and shown in the footer instead */
.nav__lang{display:none;}
.nav__lang a{border:0;padding:0;transition:color .2s;}
.nav__lang .sep{opacity:.45;}
@media(max-width:768px){
  .nav .nav__lang{display:inline-flex;gap:10px;align-items:center;margin-top:26px;font:600 14px/1 var(--serif);letter-spacing:.18em;color:var(--t60);}
  .nav .nav__lang a{color:var(--t60);font-size:14px;padding:0;}
  .nav .nav__lang a:hover{color:var(--ink);}
  .nav .nav__lang a.active{color:var(--gold);}
}
/* EN / FR in the footer (always, both viewports) */
.foot__lang{margin-top:12px;font:600 11px/1 var(--sans);letter-spacing:.16em;color:var(--t60);}
.foot__lang a{border:0;color:var(--t60);transition:color .2s;}
.foot__lang a:hover{color:var(--gold);}
.foot__lang .sep{opacity:.45;margin:0 4px;}

/* Add to Wallet button */
.addwallet{display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:#fff;border:none;cursor:pointer;padding:15px 30px;border-radius:9px;font:400 15px/1 var(--serif);letter-spacing:.04em;transition:background .2s,transform .2s;text-decoration:none;}
.addwallet:hover{background:#2b2b2b;transform:translateY(-1px);}
.addwallet svg{width:22px;height:22px;flex:0 0 auto;}
.addwallet small{display:block;font:400 9px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-bottom:3px;}
.addwallet .aw-main{font:400 15px/1.1 var(--serif);letter-spacing:.03em;}
.wallet-band{text-align:center;padding:clamp(40px,6vw,64px) 24px;}
.wallet-band .addwallet{margin:0 auto;}
.wallet-band__note{margin:16px auto 0;max-width:460px;font:400 12.5px/1.7 var(--sans);color:var(--t65);}
.wallet-band__note a{border-bottom:1px solid var(--gold);}

/* the how section — give it presence */
.how-wrap{padding:clamp(52px,7vw,84px) 24px;}
.how-wrap .eyebrow-block{margin-bottom:clamp(34px,4vw,48px);}

/* timeline photo slot (real photos land tomorrow) */
.tl__photo{margin-top:16px;width:min(300px,100%);aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#efedea 0,#efedea 14px,#f6f4f1 14px,#f6f4f1 28px);display:flex;align-items:center;justify-content:center;padding:14px;box-sizing:border-box;}
.tl__c--l .tl__photo{margin-left:auto;}
.tl__photo span{font:400 10.5px/1.7 ui-monospace,Menlo,monospace;color:var(--t60);text-align:center;}
.tl__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.tl__photo--img{padding:0;aspect-ratio:auto;background:none;}
.tl__photo--img img{height:auto;object-fit:contain;}

/* legal / terms page */
.legal{max-width:760px;margin:0 auto;font-family:var(--sans);color:var(--t85);}
.legal h2{font:400 clamp(21px,2.4vw,26px)/1.3 var(--serif);color:var(--ink);margin:38px 0 12px;}
.legal h2:first-child{margin-top:0;}
.legal p,.legal li{font:400 14.5px/1.8 var(--sans);color:var(--t82);}
.legal ul{margin:10px 0 0;padding-left:20px;}
.legal li{margin:6px 0;}
.legal .updated{font:400 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--t60);margin-bottom:28px;}

/* ---- mobile ---- */
@media(max-width:640px){
  .how{border-left:0;border-right:0;}
  .how__step{border-right:0;}
  .hero__img{aspect-ratio:4/5;}
  .phero{padding-top:clamp(36px,7vw,56px);}
  .htab__inner{min-width:560px;}
  .wallet{width:270px;height:158px;}
  .nav{gap:12px 18px;margin-top:24px;}
}
@media(max-width:400px){
  .lb-grid{grid-template-columns:1fr;}
  .htab__inner{min-width:460px;}
}

/* appointments success — House Card offer first */
.succ-card{max-width:460px;margin:26px auto 4px;padding:28px 26px;border:1px solid var(--gold);background:#fbf9f5;text-align:center;}
.succ-card__eyebrow{font:400 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.succ-card__h{font:400 clamp(21px,2.6vw,26px)/1.3 var(--serif);color:var(--ink);}
.succ-card__h strong{font-weight:600;}
.succ-card__sub{margin-top:10px;font:400 14px/1.6 var(--sans);color:var(--t78);}
.succ-card__sub strong{color:var(--ink);}
.succ-explore{margin:18px 0 0;font:400 13px/1.8 var(--sans);color:var(--t70);}
.succ-explore a{border-bottom:1px solid var(--gold);}
.wizard-wrap{padding-bottom:clamp(20px,4vw,40px);}

/* ---- lookbook: collapse to 2 rows + View more ---- */
.lb-grid.is-collapsed .lb-tile:nth-child(n+9){display:none;}
.lb-more-wrap{text-align:center;margin-top:24px;}
.lb-more{display:inline-flex;align-items:center;gap:9px;background:none;border:1px solid var(--ink);color:var(--ink);padding:12px 28px;font:600 12px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s;}
.lb-more:hover{background:var(--ink);color:#fff;}

/* ---- referral partners ---- */
.partners-cta{text-align:center;}
.partners-cta .eyebrow{display:block;margin-bottom:16px;}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;max-width:1000px;margin:clamp(36px,5vw,52px) auto 0;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.pgrid__cell{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;}
.pgrid__cell:last-child{border-right:0;}
.pgrid__n{font:400 22px/1 var(--serif);color:var(--gold);}
.pgrid__t{font:600 18px/1.3 var(--serif);margin-top:14px;}
.pgrid__d{margin:9px 0 0;font:400 13.5px/1.7 var(--sans);color:var(--t78);}

/* ============ 2026-07-05 round-3: mobile comparison, category nav, lightbox, hamburger ============ */

/* ---- House Account: mobile comparison (no L-R scroll) ---- */
.htab-m{display:none;}
@media(max-width:768px){
  .htab{display:none;}
  .htab-m{display:block;max-width:520px;margin:0 auto;}
}
.hfin{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);}
.hfin li{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;column-gap:16px;padding:16px 2px;border-bottom:1px solid rgba(20,20,20,.1);}
.hfin__t{font:600 17px/1.15 var(--serif);color:var(--ink);}
.hfin__th{font:400 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--t60);}
.hfin__p{font:400 22px/1 var(--serif);color:var(--gold);min-width:44px;text-align:right;}
.hinc{margin-top:24px;padding:24px 22px;background:var(--warm);}
.hinc__h{font:400 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.hinc ul{list-style:none;margin:0;padding:0;}
.hinc li{position:relative;padding:9px 0 9px 26px;font:400 15px/1.5 var(--serif);color:var(--ink);border-bottom:1px solid var(--line06);}
.hinc li:last-child{border-bottom:0;}
.hinc li::before{content:"\2713";position:absolute;left:0;top:10px;color:var(--gold);font-size:13px;}

/* ---- lookbook cross-category jump nav (category pages) ---- */
.lb-jump{max-width:1100px;margin:0 auto;padding:clamp(48px,7vw,80px) 24px;border-top:1px solid var(--line14);text-align:center;}
.lb-jump>.eyebrow{display:block;margin-bottom:8px;}
.lb-jump__row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0;}
.lb-jump__cell{display:block;text-decoration:none;color:inherit;}
.lb-jump__img{display:block;aspect-ratio:3/4;background:#efedea center/cover no-repeat;margin-bottom:10px;}
.lb-jump__t{display:block;font:400 15px/1.3 var(--serif);}
.lb-jump__n{display:block;font:400 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--t60);margin-top:4px;}
.lb-jump__all{display:inline-block;margin-top:8px;font:600 12px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--gold);text-decoration:none;color:var(--ink);}
@media(max-width:640px){.lb-jump__row{grid-template-columns:1fr 1fr;gap:10px;}}

/* ---- lightbox ---- */
.lbx{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(20,20,20,.94);}
.lbx.is-open{display:flex;}
.lbx__stage{margin:0;display:flex;align-items:center;justify-content:center;padding:24px;max-width:100%;max-height:100%;}
.lbx__img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lbx__x{position:absolute;top:12px;right:16px;background:none;border:0;color:#f7f5f2;font-size:34px;line-height:1;cursor:pointer;opacity:.85;}
.lbx__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#f7f5f2;font-size:44px;cursor:pointer;padding:12px 18px;opacity:.7;}
.lbx__prev{left:2px;}.lbx__next{right:2px;}
.lbx__x:hover,.lbx__nav:hover{opacity:1;}
.lbx__count{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#e8e4dd;font:400 12px/1 var(--sans);letter-spacing:.16em;}
@media(max-width:640px){.lbx__nav{display:none;}.lbx__img{max-width:96vw;max-height:82vh;}}
@media(prefers-reduced-motion:no-preference){.lbx.is-open .lbx__img{animation:lbxin .28s ease;}}
@keyframes lbxin{from{opacity:0;transform:scale(.98);}to{opacity:1;transform:none;}}

/* ---- mobile hamburger ---- */
.hdr__burger{display:none;position:absolute;right:clamp(14px,4vw,20px);top:clamp(48px,13vw,60px);width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;padding:0;margin:0;cursor:pointer;color:var(--ink);z-index:20;}
.hdr__burger svg{display:block;}
.hdr__burger .i-close{display:none;}
.hdr__burger[aria-expanded="true"] .i-open{display:none;}
.hdr__burger[aria-expanded="true"] .i-close{display:block;}
@media(max-width:768px){
  .hdr__burger{display:inline-flex;}
  .nav{position:fixed;inset:0;z-index:15;margin:0;flex-wrap:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:0;background:var(--paper);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s;}
  .nav a{font-size:22px;letter-spacing:.16em;padding:16px 0;border-bottom:0;}
  .nav a.active{border-bottom:0;color:var(--gold);}
  body.nav-open{overflow:hidden;}
  body.nav-open .nav{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .28s ease;}
}
@media(prefers-reduced-motion:reduce){.nav{transition:none;}}

.lb-sentinel{height:1px;width:100%;}

/* ---- home social-proof showcase (4 cycling wedding photos) ---- */
.sp{text-align:center;}
.sp .eyebrow{display:block;margin-bottom:16px;}
.sp h2{margin:0 auto;max-width:640px;}
.sp__sub{margin:18px auto 0;max-width:560px;font:400 15px/1.7 var(--sans);color:var(--t72);}
.sp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1000px;margin:clamp(36px,5vw,52px) auto 0;}
.sp-tile{position:relative;aspect-ratio:4/5;overflow:hidden;background:#efedea;}
.sp-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;}
.sp-tile img.is-on{opacity:1;}
.sp .btn--outline{margin-top:clamp(32px,4vw,44px);}
@media(max-width:640px){.sp-grid{grid-template-columns:1fr 1fr;gap:8px;}}

/* ---- testimonials (real Google reviews) on the dark lookbook band ---- */
.reviews__rating{text-align:center;margin:0 0 clamp(28px,4vw,40px);}
.reviews__stars{color:var(--gold);letter-spacing:.15em;font-size:15px;}
.reviews__meta{display:block;margin-top:9px;font:400 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--d7);}
.reviews__meta a{color:var(--warm);border-bottom:1px solid var(--gold);}
.reviews__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(28px,4vw,52px);max-width:900px;margin:0 auto;}
.review{flex:0 1 320px;max-width:360px;text-align:center;}
.review__stars{color:var(--gold);letter-spacing:.22em;font-size:14px;margin-bottom:14px;}
.review__text{font:italic 400 clamp(16px,1.8vw,19px)/1.55 var(--serif);color:var(--warm);}
.review__who{margin-top:16px;font:600 13px/1 var(--serif);color:var(--warm);}
.review__src{margin-top:6px;font:400 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--d6);}
/* home showcase rating */
.sp__rating{margin-top:14px;font:600 12px/1 var(--sans);letter-spacing:.1em;color:var(--t60);}
.sp__stars{color:var(--gold);letter-spacing:.12em;margin-right:6px;}
.sp__rating a{color:var(--ink);border-bottom:1px solid var(--gold);}

/* ---- reviews ---- */
.rev{text-align:center;padding:0 0 clamp(64px,9vw,100px);}
.rev .eyebrow{display:block;margin-bottom:16px;}
.rev h2{margin:0 auto 44px;max-width:700px;padding:0 24px;}
.rev-viewport{max-width:1040px;margin:0 auto;overflow:hidden;padding:0 24px;}
.rev-track{display:flex;gap:24px;width:max-content;animation:rev-glide 70s linear infinite;}
.rev-viewport:hover .rev-track{animation-play-state:paused;}
.rev-card{flex:0 0 min(480px,82vw);margin:0;padding:34px 30px;border:1px solid var(--line);background:#faf9f7;text-align:center;}
.rev-stars{color:var(--gold);letter-spacing:5px;font-size:14px;}
.rev-card blockquote{margin:16px 0 0;font:italic 400 17px/1.75 var(--serif);color:var(--t85);}
.rev-card figcaption{margin-top:18px;font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);}
.rev-card figcaption span{font-weight:400;color:var(--t72);text-transform:none;letter-spacing:0;}
@keyframes rev-glide{from{transform:translateX(0);}to{transform:translateX(calc(-50% - 12px));}}
@media (prefers-reduced-motion: reduce){.rev-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;}.rev-dup{display:none;}}

/* touch devices: no auto-glide — native swipe with snap */
@media (hover: none){
  .rev-viewport{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;}
  .rev-viewport::-webkit-scrollbar{display:none;}
  .rev-track{animation:none;}
  .rev-card{scroll-snap-align:center;}
  .rev-dup{display:none;}
}
.story__annot{position:relative;display:block;width:min(660px,100%);}
.story__annot img{width:100%;height:auto;display:block;}
.wolfmark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.wolfmark__ring{fill:none;stroke:#f2e8d5;stroke-width:4;stroke-linecap:round;stroke-dasharray:270;stroke-dashoffset:270;animation:wolfdraw 1.1s ease-out .9s forwards;}
.wolfmark__arrow{fill:none;stroke:#ecdfc6;stroke-width:3;stroke-linecap:round;fill:none;stroke-dasharray:70;stroke-dashoffset:70;animation:wolfdraw .5s ease-out 2.2s forwards;}
.wolfmark__head{fill:#ecdfc6;stroke:none;opacity:0;animation:wolffade .3s ease-out 2.6s forwards;}
.wolfmark__label{font:italic 600 54px var(--serif);fill:#ffffff;stroke:#241c12;stroke-width:5px;paint-order:stroke;stroke-linejoin:round;opacity:0;animation:wolffade .5s ease-out 2s forwards;}
@keyframes wolfdraw{to{stroke-dashoffset:0;}}
@keyframes wolffade{to{opacity:1;}}
@media (prefers-reduced-motion: reduce){.wolfmark__ring,.wolfmark__arrow{animation:none;stroke-dashoffset:0;}.wolfmark__head,.wolfmark__label{animation:none;opacity:1;}}
.wolfmark__arrow{stroke-width:4;stroke-dasharray:90;stroke-dashoffset:90;}
.wolfmark__arrow--under{stroke:#2b2317;stroke-width:7;}
.wolfmark__head--under{fill:#2b2317;}
.wolfmark__ring--under{stroke:#241c12;stroke-width:7.5;}
.story__annot img{box-shadow:-16px 18px 30px rgba(20,20,20,.30),-5px 7px 12px rgba(20,20,20,.14);}
.tl__photo--img img{box-shadow:-11px 13px 22px rgba(20,20,20,.30),-4px 5px 9px rgba(20,20,20,.14);}
.tl__photo--img img.cutout{box-shadow:none;filter:drop-shadow(-9px 11px 14px rgba(20,20,20,.32));}
a,button{-webkit-tap-highlight-color:transparent;}
.nav a:focus,.hdr__burger:focus,.foot__nav a:focus,.nav__lang a:focus{outline:none;}
.nav a:focus-visible,.hdr__burger:focus-visible{outline:1px solid var(--gold);outline-offset:3px;}
