/* Luxorbi, concept site by Black Duck. Design tokens and layout measured from the Figma file.
   Unit: calc(1*var(--u)) = one design pixel at 1920 wide (scales between 1024 and 1920, capped above). */
:root{
  --bg:#090909; --card:#0f0e0f; --line:#27231c;
  --gold:#fcd582; --soft:#fddeb3; --ink:#f7f3ed; --mute:#838788;
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --u:calc(min(100vw,1920px) / 1920);
  --b:1px; --bc:rgba(252,213,130,.55); --bc2:rgba(252,213,130,.22);
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-resolution:2dppx){:root{--b:.5px; --bc:rgba(252,213,130,1); --bc2:rgba(252,213,130,.5)}}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(90*var(--u))}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:500;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;animation:pageIn .7s var(--ease) both}
body.leaving{opacity:0;transition:opacity .28s ease}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
::selection{background:var(--gold);color:#090909}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--gold);color:#090909;padding:10px 16px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:top .3s}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* trimmed text boxes: the top of every text block is the cap height, exactly like the Figma frames */
.eyebrow,.h1,.h2,.h3,.lead,.back span,.btn>span,.tag,.tagline,.wordmark,.turn-t,.logo,.nav a,.ft-logo,.ft-nav,.ft-l1,.ft-l2,.ct,.cb,.sn,.sb,.an,.at,.ad,.pc-t,.pc-s,.pdp-tag,.pdp-note,.spec dt,.spec dd,.fl label,.mlab,.msym,.mb,.s5t,.s5b,.lr dt,.lr dd,.stag,.il,.iv,.is,.ic,.fq-q,blockquote,figcaption,.film-cap span,.fl input,.fl select,.thanks p{text-box:trim-both cap alphabetic}
.fl input,.fl select{text-box:none}

/* ---------- header ---------- */
.hd{position:fixed;inset:0 0 auto 0;z-index:60;height:calc(77*var(--u));border-bottom:calc(2*var(--u)) solid var(--line);transition:background .6s ease,backdrop-filter .6s ease}
.hd.scrolled{background:rgba(9,9,9,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hd-in{max-width:1920px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:0 calc(59.5*var(--u)) 0 calc(60*var(--u));height:100%}
.logo{margin-top:calc(28*var(--u));font-family:var(--serif);font-weight:500;font-size:max(18px,calc(30*var(--u)));letter-spacing:.24em;text-transform:uppercase;color:var(--soft);line-height:normal;transition:color .5s}
.logo:hover{color:var(--gold)}
.nav{display:flex;gap:calc(49.5*var(--u));margin-top:calc(32*var(--u))}
.nav a{position:relative;font-weight:400;font-size:max(10px,calc(15*var(--u)));letter-spacing:.1em;text-transform:uppercase;color:var(--soft);line-height:normal;white-space:nowrap;transition:color .5s}
.nav a::after{content:"";position:absolute;left:0;right:0;top:calc(100% + calc(5*var(--u)));height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.nav a:hover,.nav a[aria-current]{color:var(--gold)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.burger,.menu{display:none}

/* ---------- frames ---------- */
.fr{position:relative;overflow-x:clip;display:flex;flex-direction:column;align-items:flex-start;min-height:calc(var(--h)*var(--u));isolation:isolate;max-width:1920px;margin:0 auto;background:var(--bg)}
.fr::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;bottom:0;background:url(assets/stars.webp) center calc(var(--sy,0)*var(--u))/calc(1923*var(--u)) calc(1083*var(--u)) repeat-y;opacity:.4;pointer-events:none}
.fr.nostars::before{display:none}
.fr>*{position:relative;margin-top:calc(var(--mt,0)*var(--u));margin-left:calc(var(--ml,0)*var(--u))}
.c{align-self:center}
.eyebrow{font-size:max(11px,calc(17*var(--u)));letter-spacing:.35em;text-transform:uppercase;color:var(--ink);white-space:nowrap;line-height:normal}
.h1,.h2,.h3{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:normal;width:calc(var(--w)*var(--u))}
.h1{font-size:max(40px,calc(90*var(--u)))}
.h2{font-size:max(30px,calc(51*var(--u)))}
.h3{font-size:max(26px,calc(40*var(--u)))}
.h1 em,.h2 em,.tag em,.h3 em{font-style:italic;color:var(--gold)}
.gold{color:var(--gold)}
.c.h1,.c.h2,.c.lead,.c.eyebrow{text-align:center}
/* Figma boxes exclude the trailing letter-spacing, so centred tracked text gets a compensating pad */
.eyebrow.c{padding-left:.35em}
.wordmark{padding-left:.24em}
.tagline{padding-left:.24em}
.pc-s{padding-left:.1em}
.btn>span{padding-left:.24em}
.btn-lg>span{padding-left:.25em}
.ft-logo,.ft-nav,.ft-l1,.ft-l2{padding-left:.24em}
.film-cap .r{margin-right:-.1em}
.lead{font-size:max(15px,calc(22*var(--u)));line-height:1.5909;letter-spacing:-.05em;color:var(--mute);width:calc(var(--w)*var(--u))}
.lead.soft{color:var(--soft)}
.back{display:flex;align-items:center;gap:calc(8.8*var(--u));color:var(--gold);transition:gap .5s var(--ease),color .5s}
.back img{width:calc(13.2*var(--u));height:calc(8.7*var(--u))}
.back span{font-size:max(12px,calc(17*var(--u)));letter-spacing:.35em;text-transform:uppercase;line-height:normal;position:relative}
.back:hover{gap:calc(16*var(--u))}
.back:hover span{color:var(--soft)}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;width:calc(var(--w)*var(--u));height:calc(55*var(--u));border:var(--b) solid var(--bc);color:var(--gold);font-size:max(11px,calc(15*var(--u)));letter-spacing:.24em;text-transform:uppercase;line-height:normal;white-space:nowrap;background:linear-gradient(var(--gold),var(--gold)) no-repeat left center/0% 100%;transition:background-size .7s var(--ease),color .5s ease,border-color .5s ease,box-shadow .7s ease}
.btn-lg{height:calc(73*var(--u));font-size:max(12px,calc(18*var(--u)));letter-spacing:.25em}
.btn:hover,.btn:focus-visible{background-size:100% 100%;color:#090909;border-color:var(--gold);box-shadow:0 0 calc(38*var(--u)) rgba(252,213,130,.28)}
.btn:active{background-size:100% 100%;color:#090909;filter:brightness(.92)}
button.btn{cursor:pointer;background-color:transparent}

/* ---------- media frames ---------- */
.media{position:relative;display:block;flex:none;background:var(--card);padding:calc(10*var(--u))}
.media::before{content:"";position:absolute;inset:0;border:var(--b) solid var(--bc2);pointer-events:none;z-index:2}
.mi{position:relative;display:block;overflow:hidden;width:100%;height:100%}
.media .mi::after{content:"";position:absolute;inset:0;border:var(--b) solid var(--bc2);pointer-events:none}
.mi img{position:absolute;max-width:none;left:calc(var(--il,0)*1%);top:calc(var(--it,0)*1%);width:calc(var(--iw,100)*1%);height:calc(var(--ih,100)*1%);object-fit:cover;transform:scale(1);transition:transform 2.2s var(--ease)}
.zoom:hover .mi img,.zoom:focus-visible .mi img{transform:scale(1.06)}
.split{display:flex;align-items:flex-start}
.split .media{width:calc(605*var(--u));height:calc(480*var(--u))}
.stext{margin-left:calc(180*var(--u));display:flex;flex-direction:column;align-items:flex-start}
.stext>*{margin-top:calc(var(--mt,0)*var(--u))}

/* ---------- hero (home / intro) ---------- */
.hero-logo{width:calc(208*var(--u));height:calc(171*var(--u));align-self:center}
.hero-logo.i47{width:calc(158*var(--u));height:calc(130*var(--u))}
.wordmark{font-family:var(--serif);font-weight:500;font-size:max(44px,calc(105*var(--u)));letter-spacing:.24em;text-transform:uppercase;color:var(--soft);line-height:normal;white-space:nowrap}
.tag{font-family:var(--serif);font-weight:500;font-size:max(28px,calc(51*var(--u)));color:var(--ink);line-height:normal;white-space:nowrap}
.tagline{font-size:max(11px,calc(15*var(--u)));letter-spacing:.24em;text-transform:uppercase;color:var(--gold);line-height:normal;white-space:nowrap}
.ring{width:calc(408*var(--u));height:calc(var(--rh)*var(--u));overflow:hidden;cursor:grab;touch-action:pan-y;perspective:900px;-webkit-user-select:none;user-select:none}
.ring.drag{cursor:grabbing}
.ring img{position:absolute;max-width:none;left:calc(var(--il)*1%);top:calc(var(--it)*1%);width:calc(var(--iw)*1%);height:calc(var(--ih)*1%);transform:rotateY(var(--ry,0deg));transition:transform .9s var(--ease);filter:drop-shadow(0 calc(18*var(--u)) calc(30*var(--u)) rgba(0,0,0,.4))}
.ring.drag img{transition:none}
.turn{display:flex;align-items:center;gap:calc(15*var(--u))}
.turn img{width:calc(26*var(--u));height:calc(26*var(--u))}
.turn-t{font-weight:300;font-size:max(11px,calc(15*var(--u)));letter-spacing:.24em;text-transform:uppercase;color:var(--gold);white-space:pre;line-height:normal}
.turn-t span{letter-spacing:.075em}
.turn-t.soft{color:var(--soft)}

/* home: film + maison */
.film-h{white-space:nowrap}
.film-wrap{position:relative;width:calc(1420*var(--u));height:calc(562*var(--u));align-self:center}
.film-glow{position:absolute;left:calc(-121*var(--u));top:calc(-88*var(--u));width:calc(1662*var(--u));height:calc(738*var(--u));max-width:none;pointer-events:none;z-index:0}
.film{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;padding:0;background:#000;border:var(--b) solid var(--bc);cursor:pointer;transition:box-shadow .9s ease,border-color .6s}
.film:hover,.film:focus-visible{box-shadow:0 0 calc(90*var(--u)) rgba(252,213,130,.2);border-color:var(--gold)}
.film-play{width:calc(92*var(--u));height:calc(92*var(--u));border:var(--b) solid var(--gold);border-radius:50%;position:relative;opacity:0;transform:scale(.9);transition:opacity .7s ease,transform .9s var(--ease)}
.film-play::after{content:"";position:absolute;left:50%;top:50%;margin:calc(-11*var(--u)) 0 0 calc(-6*var(--u));border-style:solid;border-width:calc(11*var(--u)) 0 calc(11*var(--u)) calc(18*var(--u));border-color:transparent transparent transparent var(--gold)}
.film:hover .film-play,.film:focus-visible .film-play{opacity:1;transform:none}
.film-cap{display:flex;align-items:flex-start;width:calc(1420*var(--u));align-self:center;color:var(--mute);font-size:max(11px,calc(15*var(--u)));letter-spacing:.1em;text-transform:uppercase;line-height:normal}
.film-cap .g{width:calc(91*var(--u));color:var(--gold)}
.film-cap .r{margin-left:auto}
.home-split .stext{margin-left:0;margin-right:0}
.home-split{width:calc(1420*var(--u))}
.home-split .stext{width:calc(640*var(--u))}
.split .home-media{width:calc(538*var(--u));height:calc(475*var(--u));margin-left:calc(calc(1132*var(--u)) - calc(250*var(--u)) - calc(640*var(--u)))}

/* ---------- cards ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(21.5*var(--u));width:calc(1420*var(--u))}
.card3{position:relative;display:block;height:calc(var(--ch)*var(--u));padding:calc(50*var(--u)) calc(45*var(--u)) 0;border:var(--b) solid var(--bc);transition:border-color .6s,transform .8s var(--ease),box-shadow .8s ease,background .6s}
.card3.is-link:hover,.card3.is-link:focus-visible{border-color:var(--gold);background:rgba(252,213,130,.035);box-shadow:0 calc(26*var(--u)) calc(60*var(--u)) rgba(252,213,130,.07);transform:translateY(calc(-5*var(--u)))}
.ct{font-family:var(--serif);font-weight:500;font-size:calc(var(--ts)*var(--u));line-height:normal}
.ct.gold{color:var(--gold)}.ct.ink{color:var(--ink)}
.cb{margin-top:calc(45.1*var(--u));font-size:max(15px,calc(22*var(--u)));line-height:1.6363;letter-spacing:0;color:var(--mute);max-width:calc(369*var(--u));text-wrap:balance}
.cb b,.sb b{font-weight:inherit;color:var(--gold)}
.cards-short .cb{margin-top:calc(45.1*var(--u))}
.quote{display:flex;width:calc(var(--w)*var(--u) + calc(72*var(--u)))}
.qbar{flex:none;width:calc(2*var(--u));height:calc(195*var(--u));background:var(--gold)}
.qbody{margin-left:calc(70*var(--u));padding-top:calc(20*var(--u))}
.quote blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:max(26px,calc(51*var(--u)));line-height:normal;color:var(--soft);width:calc(var(--w)*var(--u))}
.quote figcaption{margin-top:calc(50.3*var(--u));font-size:max(11px,calc(15*var(--u)));letter-spacing:.1em;text-transform:uppercase;color:var(--mute);line-height:normal}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(23.3*var(--u));width:calc(1420*var(--u))}
.step4{border:var(--b) solid var(--bc);height:calc(316*var(--u));padding:calc(50*var(--u)) calc(45*var(--u)) 0;transition:border-color .6s,box-shadow .8s ease,transform .8s var(--ease)}
.step4:hover{border-color:var(--gold);box-shadow:0 calc(26*var(--u)) calc(60*var(--u)) rgba(252,213,130,.06);transform:translateY(calc(-4*var(--u)))}
.sn{display:block;font-family:var(--serif);font-weight:500;font-size:max(30px,calc(51*var(--u)));color:var(--ink);line-height:normal}
.sb{margin-top:calc(25.1*var(--u));font-size:max(15px,calc(22*var(--u)));line-height:1.6363;letter-spacing:0;color:var(--mute);max-width:calc(248*var(--u))}
.sb.bal{text-wrap:balance}
.steps5{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(18.5*var(--u));width:calc(1419*var(--u))}
.step5{border:var(--b) solid var(--bc);height:calc(347*var(--u));padding:calc(50*var(--u)) calc(20*var(--u)) 0 calc(44*var(--u));transition:border-color .6s,box-shadow .8s ease,transform .8s var(--ease)}
.step5:hover{border-color:var(--gold);box-shadow:0 calc(26*var(--u)) calc(60*var(--u)) rgba(252,213,130,.06);transform:translateY(calc(-4*var(--u)))}
.s5t{font-family:var(--serif);font-weight:500;font-size:max(24px,calc(35*var(--u)));color:var(--gold);line-height:normal;white-space:nowrap}
.s5b{margin-top:calc(30.1*var(--u));font-size:max(15px,calc(22*var(--u)));line-height:1.6363;letter-spacing:0;color:var(--mute)}
.s5b.bal{text-wrap:balance}
.s5b{max-width:calc(198*var(--u))}

/* ---------- collections ---------- */
.acts{width:calc(1420*var(--u))}
.act{display:grid;grid-template-columns:calc(119*var(--u)) 1fr}
.act:not(:last-child){padding-bottom:calc(35.5*var(--u));border-bottom:1px solid var(--gold)}
.act+.act{padding-top:calc(35*var(--u))}
.an{margin-top:calc(13*var(--u));font-size:max(11px,calc(17*var(--u)));letter-spacing:.35em;text-transform:uppercase;color:var(--gold);line-height:normal;white-space:nowrap}
.act .h3{width:auto;font-size:max(26px,calc(40*var(--u)))}
.ad{margin-top:calc(25*var(--u));color:var(--ink);width:calc(var(--w)*var(--u))}
.at{margin-top:calc(29.6*var(--u));font-size:max(11px,calc(15*var(--u)));letter-spacing:.1em;text-transform:uppercase;color:var(--mute);line-height:normal}
.wing{position:relative;width:calc(1420*var(--u));height:calc(749*var(--u));padding:calc(50*var(--u)) calc(43*var(--u)) 0 calc(45*var(--u));border:var(--b) solid var(--bc)}
.wing-h{margin-top:calc(35.1*var(--u));width:auto}
.wing-h span{color:var(--gold)}
.wing-p{margin-top:calc(55.1*var(--u))}
.pcards{display:flex;gap:calc(22*var(--u));margin:calc(34.6*var(--u)) 0 0 calc(-2*var(--u))}
.pc{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;width:calc(317*var(--u));height:calc(430*var(--u));overflow:hidden;background:#000;transition:transform .9s var(--ease),box-shadow .9s ease}
.pc::after{content:"";position:absolute;inset:0;border:var(--b) solid var(--bc);pointer-events:none;z-index:4;transition:border-color .6s}
.pc:hover{transform:translateY(calc(-6*var(--u)));box-shadow:0 calc(30*var(--u)) calc(70*var(--u)) rgba(252,213,130,.09)}
.pc:hover::after{border-color:var(--gold)}
.pc-img{position:absolute;inset:0}
.pc-img img{position:absolute;max-width:none;left:calc(var(--il)*1%);top:calc(var(--it)*1%);width:calc(var(--iw)*1%);height:calc(var(--ih)*1%);transition:transform 2.2s var(--ease)}
.pc:hover .pc-img img{transform:scale(1.07)}
.pc-shade{position:absolute;left:0;right:0;top:calc(204*var(--u));height:calc(226*var(--u));background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,#000 28.365%);pointer-events:none}
.pc-quick{position:absolute;z-index:3;left:0;right:0;top:0;height:calc(268*var(--u));background:transparent;border:0;padding:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center}
.pc-quick span{margin-bottom:calc(22*var(--u));font-size:max(10px,calc(12*var(--u)));letter-spacing:.3em;text-transform:uppercase;color:var(--ink);padding:calc(10*var(--u)) calc(18*var(--u));border:var(--b) solid var(--bc);background:rgba(9,9,9,.65);opacity:0;transform:translateY(calc(8*var(--u)));transition:opacity .6s ease,transform .8s var(--ease);text-box:none}
.pc:hover .pc-quick span,.pc-quick:focus-visible span{opacity:1;transform:none}
.pc-t{position:relative;z-index:2;margin-top:calc(277*var(--u));font-family:var(--serif);font-weight:500;font-size:max(24px,calc(35*var(--u)));color:var(--ink);line-height:normal;text-transform:capitalize;text-align:center;white-space:nowrap}
.pc-s{position:relative;z-index:2;margin-top:calc(25.1*var(--u));font-size:max(11px,calc(15*var(--u)));letter-spacing:.1em;text-transform:uppercase;color:var(--mute);line-height:normal;white-space:nowrap}
.pc-b{position:relative;z-index:5;margin-top:calc(25.5*var(--u));width:calc(287*var(--u))}

/* ---------- product page ---------- */
.pdp{display:flex;align-items:flex-start}
.pdp-img{flex:none;width:calc(810*var(--u));height:calc(640*var(--u))}
.pdp-img .mi{width:100%;height:100%}
.pdp-t{margin-left:calc(95*var(--u));width:calc(539*var(--u));display:flex;flex-direction:column;align-items:flex-start}
.pdp-t>*{margin-top:calc(var(--mt,0)*var(--u))}
.pdp-h{font-size:max(44px,calc(75*var(--u)));width:auto}
.pdp-tag{font-family:var(--serif);font-style:italic;font-weight:500;font-size:max(22px,calc(30*var(--u)));line-height:1.1667;letter-spacing:-.05em;color:var(--gold);width:calc(var(--w)*var(--u))}
.pdp-lead{}
.spec{width:calc(531*var(--u));border-bottom:1px solid var(--line)}
.sr{display:grid;grid-template-columns:calc(248*var(--u)) 1fr;height:calc(54*var(--u));border-top:1px solid var(--line)}
.spec dt{margin-top:calc(22*var(--u));font-size:max(10px,calc(13*var(--u)));letter-spacing:.3em;text-transform:uppercase;color:var(--ink);line-height:normal}
.spec dd{margin-top:calc(20*var(--u));font-size:max(13px,calc(18*var(--u)));line-height:1.9444;letter-spacing:-.1em;color:var(--ink);max-width:calc(283*var(--u));white-space:pre}
.pdp-btn{width:calc(531*var(--u))}
.pdp-note{font-style:italic;font-weight:400;font-size:max(13px,calc(17*var(--u)));line-height:1.7059;letter-spacing:-.07em;color:var(--mute);width:calc(var(--w)*var(--u))}

/* ---------- forms ---------- */
.form{display:flex;flex-direction:column;align-items:stretch;position:relative}
.fl{position:relative;margin-top:calc(30*var(--u));display:block}
.form>.fl:first-child{margin-top:0}
.fl label{display:block;font-size:max(10px,calc(13*var(--u)));letter-spacing:.3em;text-transform:uppercase;color:var(--gold);line-height:normal}
.fl input,.fl select,.fl textarea{display:block;width:100%;height:calc(56*var(--u));margin-top:calc(12.9*var(--u));padding:0 calc(20*var(--u));background:transparent;border:var(--b) solid var(--bc);border-radius:0;color:var(--ink);font-weight:500;font-size:max(15px,calc(17*var(--u)));letter-spacing:-.05em;line-height:normal;outline:0;transition:border-color .5s,background .5s,box-shadow .6s}
.fl textarea{height:calc(115*var(--u));padding:calc(18*var(--u)) calc(20*var(--u));resize:none;line-height:1.5}
.fl select{-webkit-appearance:none;appearance:none;padding-right:calc(56*var(--u));cursor:pointer;background:url(assets/chevron.svg) no-repeat right calc(16*var(--u)) top calc(16*var(--u))/calc(24*var(--u)) calc(24*var(--u))}
.fl select option{background:#0f0e0f;color:var(--ink)}
.fl input::placeholder,.fl textarea::placeholder{color:var(--mute);opacity:1}
.fl input:hover,.fl select:hover,.fl textarea:hover{border-color:var(--gold)}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--gold);background:rgba(252,213,130,.04);box-shadow:0 0 calc(26*var(--u)) rgba(252,213,130,.12)}
.fl.bad input,.fl.bad textarea{border-color:#e39a78}
.err{position:absolute;left:0;top:100%;margin-top:calc(6*var(--u));font-size:max(12px,calc(12*var(--u)));letter-spacing:.04em;color:#e8a07f;line-height:1.2}
.form>.btn{margin-top:calc(45*var(--u));align-self:center}
.thanks{padding:calc(40*var(--u)) 0}
.thanks[hidden]{display:none}
.thanks>*+*{margin-top:calc(24*var(--u))}
.thanks .h3{width:auto}
.thanks .btn{margin-top:calc(36*var(--u));display:flex}
.form.sent>:not(.thanks){display:none}
.rq-form{width:calc(660*var(--u))}
.rq-form .fl{margin-top:calc(30*var(--u))}
.rq-form .rq-send{width:calc(532*var(--u))}
.rq-form .rq-send{margin-top:calc(45*var(--u))}
.rq-form .fl:nth-of-type(3) input,.rq-form .fl:nth-of-type(3) select{}

/* ---------- materials ---------- */
.mat{display:grid;grid-template-columns:calc(664*var(--u)) calc(731*var(--u));column-gap:calc(25*var(--u));width:calc(1420*var(--u))}
.mat-cards{display:flex;flex-direction:column;gap:calc(15*var(--u))}
.mcard{position:relative;height:calc(309*var(--u));border:var(--b) solid var(--bc);padding:calc(39*var(--u)) calc(40*var(--u)) 0;transition:border-color .6s,box-shadow .8s ease}
.mcard:hover{border-color:var(--gold);box-shadow:0 calc(26*var(--u)) calc(60*var(--u)) rgba(252,213,130,.06)}
.mline{position:absolute;left:calc(40*var(--u));top:calc(44*var(--u));width:calc(73*var(--u));height:1px;background:rgba(252,213,130,.5)}
.mlab{margin-left:calc(103*var(--u));font-weight:400;font-size:max(11px,calc(15*var(--u)));letter-spacing:.1em;text-transform:uppercase;color:var(--mute);line-height:normal}
.msym{margin-top:calc(20.5*var(--u));font-family:var(--serif);font-weight:500;font-size:max(40px,calc(70*var(--u)));color:var(--ink);line-height:normal}
.msym.gold{color:var(--gold)}
.mb{margin-top:calc(35.25*var(--u));font-size:max(15px,calc(22*var(--u)));line-height:1.5909;letter-spacing:-.05em;color:var(--mute);width:calc(573*var(--u))}
.mat-media{width:calc(731*var(--u));height:calc(633*var(--u));padding:calc(10*var(--u)) calc(9*var(--u)) calc(10*var(--u)) calc(10*var(--u))}

/* ---------- commitment ---------- */
.cm{display:flex;align-items:flex-start;width:calc(1424*var(--u))}
.cm-t{width:calc(787*var(--u));display:flex;flex-direction:column;align-items:flex-start}
.cm-t>*{margin-top:calc(var(--mt,0)*var(--u))}
.cm-m .media{width:calc(636*var(--u));height:calc(488*var(--u))}
.cm-m{margin-left:0}
.ledger{width:calc(1420*var(--u))}
.lr{display:grid;grid-template-columns:calc(377*var(--u)) 1fr;padding:calc(32*var(--u)) 0 calc(34.6*var(--u));border-bottom:1px solid var(--gold)}
.lr:first-child{padding-top:0}
.lr:last-child{border-bottom:0}
.lr dt{margin-top:calc(3*var(--u));font-size:max(12px,calc(17*var(--u)));letter-spacing:.35em;text-transform:uppercase;color:var(--gold);line-height:normal}
.lr dd{font-size:max(15px,calc(22*var(--u)));line-height:1.5909;letter-spacing:-.05em;color:var(--ink);max-width:calc(1029*var(--u))}
.lr dd.it{font-style:italic;color:var(--mute)}

/* ---------- contact ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(29*var(--u)) calc(21.5*var(--u));width:calc(1420*var(--u))}
.scard{display:block;height:calc(336*var(--u));padding:calc(50*var(--u)) calc(45*var(--u)) 0;border:var(--b) solid var(--bc);transition:border-color .6s,transform .8s var(--ease),box-shadow .8s ease,background .6s}
.scard:hover,.scard:focus-visible{border-color:var(--gold);background:rgba(252,213,130,.035);box-shadow:0 calc(26*var(--u)) calc(60*var(--u)) rgba(252,213,130,.07);transform:translateY(calc(-5*var(--u)))}
.scard .h3{width:auto}
.scard .sb{margin-top:calc(45*var(--u));max-width:calc(369*var(--u));text-wrap:balance}
.stag{margin-top:calc(29.6*var(--u));font-family:var(--serif);font-weight:400;font-size:max(14px,calc(20*var(--u)));line-height:1.8;letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}
.wr{display:grid;grid-template-columns:calc(639*var(--u)) calc(660*var(--u));column-gap:calc(121*var(--u));width:calc(1420*var(--u));align-items:start}
.wr-l{display:flex;flex-direction:column;align-items:flex-start}
.wr-l>*{margin-top:calc(var(--mt,0)*var(--u))}
.icard{display:grid;grid-template-columns:calc(170*var(--u)) 1fr;width:calc(639*var(--u));height:calc(148*var(--u));padding-top:calc(34*var(--u));border:var(--b) solid var(--bc);transition:border-color .6s,transform .8s var(--ease),box-shadow .8s ease,background .6s}
.icard.is-link:hover,.icard.is-link:focus-visible{border-color:var(--gold);background:rgba(252,213,130,.035);box-shadow:0 calc(26*var(--u)) calc(60*var(--u)) rgba(252,213,130,.07)}
.ic{margin:calc(18*var(--u)) 0 0 calc(52*var(--u));font-family:var(--serif);font-style:italic;font-weight:500;font-size:max(32px,calc(51*var(--u)));color:var(--soft);line-height:normal}
.ic.ny{margin-top:calc(26*var(--u));font-size:max(28px,calc(44*var(--u)))}
.ib{display:block}
.ib i,.ib b{display:block;font-style:normal;font-weight:500}
.il{font-size:max(10px,calc(12*var(--u)));letter-spacing:.12em;text-transform:uppercase;color:var(--soft);line-height:normal}
.iv{margin-top:calc(26.6*var(--u));font-size:max(15px,calc(22*var(--u)));letter-spacing:-.05em;line-height:1.5909;color:var(--ink)}
.is{margin-top:calc(18.6*var(--u));font-size:max(11px,calc(15*var(--u)));letter-spacing:.1em;color:var(--mute);line-height:normal}
.wr-r .fl{margin-top:calc(52*var(--u))}
.wr-r>.fl:first-child{margin-top:0}
.wr-r .wr-send{margin-top:calc(52*var(--u));width:calc(660*var(--u));align-self:stretch}
.faq{width:calc(1420*var(--u))}
.fq{border-bottom:1px solid var(--gold)}
.fq+.fq{padding-top:calc(45*var(--u))}
.fq h3{width:auto}
.fq-b{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 0 calc(45.25*var(--u));background:none;border:0;cursor:pointer;text-align:left;transition:color .5s}
.fq-q{font-family:var(--serif);font-weight:500;font-size:max(19px,calc(30*var(--u)));line-height:1.1667;letter-spacing:-.05em;color:var(--ink);transition:color .5s}
.fq-p{display:flex;justify-content:flex-end;align-items:center;width:calc(55*var(--u));height:0;font-weight:300;font-size:max(22px,calc(30*var(--u)));line-height:1;letter-spacing:0;color:var(--gold);transition:transform .7s var(--ease);transform-origin:80% 50%}
.fq-b:hover .fq-q,.fq-b[aria-expanded=true] .fq-q{color:var(--gold)}
.fq-b[aria-expanded=true] .fq-p{transform:rotate(45deg)}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease)}
.fq-a>div{overflow:hidden}
.fq-b[aria-expanded=true]+* {}
.fq-b[aria-expanded=true]~.fq-a{}
.fq.open .fq-a{grid-template-rows:1fr}
.fq-a .lead{padding:0 0 calc(40*var(--u));max-width:calc(900*var(--u));width:auto}

/* ---------- footer ---------- */
.ft{position:relative;display:flex;flex-direction:column;align-items:center;min-height:calc(190*var(--u));border-top:calc(2*var(--u)) solid var(--line);text-align:center;background:var(--bg);max-width:1920px;margin:0 auto;isolation:isolate}
.ft::before{content:"";position:absolute;z-index:-1;inset:0;background:url(assets/stars.webp) center 0/calc(1923*var(--u)) calc(1083*var(--u)) repeat-y;opacity:.4;pointer-events:none}
.ft-logo{margin-top:calc(35*var(--u));font-family:var(--serif);font-weight:500;font-size:max(20px,calc(30*var(--u)));letter-spacing:.24em;text-transform:uppercase;color:var(--soft);line-height:normal;transition:color .5s}
.ft-logo:hover{color:var(--gold)}
.ft-nav{margin-top:calc(25.25*var(--u));max-width:calc(1240*var(--u));font-size:max(10px,calc(12*var(--u)));letter-spacing:.24em;text-transform:capitalize;color:var(--mute);white-space:pre-wrap;line-height:normal}
.ft-nav a{transition:color .5s}.ft-nav a:hover{color:var(--gold)}
.ft-l1{margin-top:calc(39.6*var(--u));max-width:calc(1240*var(--u));font-size:max(10px,calc(12*var(--u)));letter-spacing:.24em;text-transform:capitalize;color:var(--mute);line-height:normal}
.ft-l2{margin-top:calc(14.6*var(--u));max-width:calc(1240*var(--u));font-weight:400;font-size:max(10px,calc(12*var(--u)));letter-spacing:.24em;text-transform:capitalize;color:var(--mute);line-height:normal}
.ft-credit{position:absolute;right:calc(60*var(--u));bottom:calc(22*var(--u));font-size:max(10px,calc(11*var(--u)));font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(131,135,136,.55);transition:color .5s}
.ft-credit:hover{color:var(--gold)}

/* ---------- reveal + entrances ---------- */
.js [data-r]{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--ease) var(--rd,0ms),transform 1.3s var(--ease) var(--rd,0ms),border-color .6s,box-shadow .8s ease,background .6s,background-size .7s var(--ease),color .5s}
.js [data-r].is-in{opacity:1;transform:none}
.js .hero-fr [data-r],.js .hero-fr .hero-logo,.js .hero-fr .wordmark,.js .hero-fr .tag,.js .hero-fr .tagline,.js .hero-fr .ring,.js .hero-fr .turn,.js .hero-fr .btn{opacity:0;transform:scale(1.045);transition:opacity 2s var(--ease) var(--rd,0ms),transform 2.6s var(--ease) var(--rd,0ms),background-size .7s var(--ease),color .5s,border-color .5s,box-shadow .7s}
.js .hero-fr .is-in{opacity:1;transform:none}
.js .hero-fr .ring.is-in{transform:none}
.js .hero-fr .ring img{transition:transform .9s var(--ease)}
.js .pdp-fr .pdp [data-r].is-in{transform:none}
.js .btn.is-in:hover{transform:none}
.js .card3.is-in.is-link:hover,.js .scard.is-in:hover{transform:translateY(calc(-5*var(--u)))}
.js .step4.is-in:hover,.js .step5.is-in:hover{transform:translateY(calc(-4*var(--u)))}
.js .pc.is-in:hover{transform:translateY(calc(-6*var(--u)))}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(5,5,5,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .5s ease}
.modal.open{display:flex}
.modal.show{opacity:1}
.mdl{position:relative;width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#0b0a0a;border:1px solid rgba(252,213,130,.5);display:grid;grid-template-columns:1fr 1fr;transform:translateY(16px) scale(.985);transition:transform .8s var(--ease)}
.modal.show .mdl{transform:none}
.mdl.film-m{display:block;width:min(1100px,100%)}
.mdl-img{position:relative;min-height:420px;background:#000}
.mdl-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mdl-b{padding:40px 40px 36px;display:flex;flex-direction:column;align-items:flex-start}
.mdl-b .eyebrow{font-size:12px;margin-bottom:14px}
.mdl-b h2{font-family:var(--serif);font-weight:500;font-size:44px;line-height:1.1;margin-bottom:12px;color:var(--ink)}
.mdl-b .qt{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold);letter-spacing:-.02em;margin-bottom:16px;line-height:1.25}
.mdl-b p.tx{color:var(--mute);font-size:15px;line-height:1.7;margin-bottom:20px}
.mdl-b ul{width:100%;border-top:1px solid var(--line);margin-bottom:26px}
.mdl-b li{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.35}
.mdl-b li span{flex:none;width:90px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);padding-top:2px}
.mdl-b .mdl-acts{display:flex;gap:12px;flex-wrap:wrap}
.mdl .btn{width:auto;min-width:200px;height:50px;padding:0 22px;font-size:12px;text-box:none}
.mdl .btn span{text-box:none}
.mdl-x{position:absolute;right:14px;top:14px;z-index:3;width:42px;height:42px;border:1px solid rgba(252,213,130,.5);background:rgba(9,9,9,.7);color:var(--gold);cursor:pointer;font-size:22px;line-height:1;transition:background .4s,color .4s}
.mdl-x:hover{background:var(--gold);color:#090909}
.film-screen{aspect-ratio:16/9;background:#000;display:grid;place-items:center;text-align:center;padding:24px;border-bottom:1px solid var(--line)}
.film-screen p{font-family:var(--serif);font-size:clamp(24px,3.4vw,42px);color:var(--ink);line-height:1.2}
.film-screen em{color:var(--gold)}
.film-info{padding:22px 28px 26px;color:var(--mute);font-size:14px;line-height:1.6}
html.modal-open,html.menu-open{overflow:hidden}

/* =========================================================
   TABLET and MOBILE (below 1024)
   ========================================================= */
@media (max-width:1023px){
  :root{--u:1px;--pad:clamp(22px,5vw,48px)}
  html{scroll-padding-top:76px}
  body{font-size:16px}
  .hd{height:68px;border-bottom-width:1px}
  .hd-in{padding:0 var(--pad);align-items:center}
  .logo{margin-top:0;font-size:22px}
  .nav{display:none}
  .burger{display:block;position:relative;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer}
  .burger span{position:absolute;left:11px;right:11px;height:1px;background:var(--gold);transition:transform .6s var(--ease),top .6s var(--ease),opacity .4s}
  .burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:26px}
  .menu-open .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
  .menu-open .burger span:nth-child(2){top:22px;transform:rotate(-45deg)}
  .menu{display:flex;position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;align-items:center;gap:0;background:rgba(9,9,9,.98);opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
  .menu-open .menu{opacity:1;visibility:visible}
  .menu nav{display:flex;flex-direction:column;align-items:center;gap:6px}
  .menu nav a{font-family:var(--serif);font-weight:500;font-size:clamp(30px,8.4vw,44px);line-height:1.25;color:var(--soft);padding:6px 12px;opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .9s var(--ease),color .4s}
  .menu-open .menu nav a{opacity:1;transform:none}
  .menu nav a:nth-child(2){transition-delay:.05s}.menu nav a:nth-child(3){transition-delay:.1s}.menu nav a:nth-child(4){transition-delay:.15s}.menu nav a:nth-child(5){transition-delay:.2s}.menu nav a:nth-child(6){transition-delay:.25s}.menu nav a:nth-child(7){transition-delay:.3s}
  .menu nav a[aria-current],.menu nav a:hover{color:var(--gold)}
  .menu-note{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);padding:0 24px}
  .hd.scrolled{background:rgba(9,9,9,.96)}
  .menu-open .hd{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}

  .fr{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:56px var(--pad) 56px;max-width:900px}
  .fr.hero-fr{padding-top:calc(68px + 36px)}
  .fr::before{left:0;right:0;background-size:max(900px,100%) auto;background-position:center top}
  .fr>*{margin:0 !important;max-width:100%}
  .c{align-self:stretch}
  .eyebrow{font-size:12px;letter-spacing:.3em;white-space:normal}
  .c.eyebrow,.c.h1,.c.h2,.c.lead{text-align:center}
  .h1{font-size:clamp(40px,10.6vw,72px);width:auto}
  .h2{font-size:clamp(30px,7.6vw,46px);width:auto}
  .h3{font-size:clamp(26px,6.4vw,34px);width:auto}
  .lead{font-size:16px;line-height:1.65;letter-spacing:0;width:auto;max-width:640px}
  .c.lead{margin-left:auto !important;margin-right:auto !important}
  .lead br{display:none}
  .lead.cm-p br{display:block;content:"";margin-top:10px}
  .back{align-self:flex-start;margin-bottom:8px}
  .back span{font-size:12px}
  .back img{width:14px;height:9px}
  .btn{width:100%;max-width:420px;height:54px;font-size:13px;letter-spacing:.2em;align-self:flex-start;white-space:normal;text-align:center;padding:0 16px}
  .btn.c{align-self:center}
  .btn-lg{height:64px;font-size:13px}
  .hero-fr .back{padding-bottom:24px}

  .hero-logo,.hero-logo.i47{width:min(180px,46vw);height:auto;aspect-ratio:208/171;align-self:center}
  .wordmark{font-size:clamp(40px,12.4vw,84px);text-align:center;letter-spacing:.2em;white-space:normal}
  .tag{font-size:clamp(26px,6.6vw,40px);text-align:center;white-space:normal}
  .tagline{font-size:12px;text-align:center;white-space:normal;letter-spacing:.2em}
  .ring{width:min(76vw,380px);height:auto;aspect-ratio:408/383;align-self:center;margin-top:6px !important}
  .turn{align-self:center}
  .turn-t{font-size:12px}
  .hero-fr.nostars{padding-bottom:64px}

  .film-h{white-space:normal}
  .film-wrap{width:100%;height:auto;aspect-ratio:1420/562;align-self:stretch}
  .film-glow{left:-12%;top:-30%;width:124%;height:160%}
  .film-play{opacity:1;transform:none;width:64px;height:64px}
  .film-cap{width:100%;flex-wrap:wrap;gap:6px 16px;font-size:12px}
  .film-cap .g{width:auto}
  .film-cap .r{margin-left:0;width:100%}
  .home-split{width:100%}
  .split,.home-split{flex-direction:column;gap:32px;align-items:stretch}
  .split .media,.home-media{width:100%;height:auto;aspect-ratio:605/480;margin-left:0 !important}
  .home-media{aspect-ratio:538/475}
  .stext,.home-split .stext{margin-left:0;width:100%;gap:20px}
  .stext>*{margin:0 !important}
  .home-split .stext{width:100%}

  .cards3,.steps4,.steps5,.svc{width:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
  .card3,.step4,.step5,.scard{height:auto;min-height:0;padding:34px 30px 38px}
  .ct{font-size:clamp(32px,7.6vw,42px)}
  .cb,.sb,.s5b{margin-top:18px;font-size:16px;line-height:1.65;max-width:none}
  .sn{font-size:34px}
  .s5t{font-size:clamp(26px,6vw,30px)}
  .quote{width:100%}
  .qbar{height:auto;align-self:stretch}
  .qbody{margin-left:24px;padding-top:4px}
  .quote blockquote{font-size:clamp(24px,6vw,36px);width:auto}
  .quote figcaption{margin-top:20px;font-size:12px}
  .act{grid-template-columns:1fr;gap:12px}
  .act:not(:last-child){padding-bottom:26px}
  .act+.act{padding-top:26px}
  .acts,.faq,.ledger,.wing,.mat,.wr,.rq-form{width:100%}
  .an{margin-top:0;font-size:12px}
  .ad{margin-top:14px;width:auto}
  .at{margin-top:16px;font-size:12px}
  .wing{height:auto;padding:30px 24px 34px}
  .wing-h{margin-top:20px}
  .wing-p{margin-top:16px}
  .pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin:28px 0 0}
  .pc{width:100%;height:auto;aspect-ratio:317/430;justify-content:flex-end;padding-bottom:16px}
  .pc-t{margin-top:0;font-size:30px}
  .pc-s{margin-top:8px;font-size:12px}
  .pc-b{margin-top:16px;width:calc(100% - 32px);align-self:center}
  .pc-quick{height:60%;align-items:flex-start;justify-content:flex-end;padding:14px}
  .pc-quick span{opacity:1;transform:none;margin:0;font-size:11px;padding:8px 12px}
  .pdp{flex-direction:column;gap:30px;align-items:stretch}
  .pdp-img{width:100%;height:auto;aspect-ratio:810/640}
  .pdp-t{margin-left:0;width:100%;gap:18px}
  .pdp-t>*{margin:0 !important}
  .pdp-h{font-size:clamp(44px,12vw,68px)}
  .pdp-tag{font-size:clamp(22px,5.6vw,30px);width:auto}
  .spec{width:100%}
  .sr{grid-template-columns:110px 1fr;height:auto;padding:16px 0}
  .spec dt{margin-top:2px;font-size:12px}
  .spec dd{margin-top:0;font-size:16px;line-height:1.5;letter-spacing:-.02em;white-space:normal;max-width:none}
  .pdp-btn{width:100%}
  .pdp-note{font-size:14px;line-height:1.7;width:auto;letter-spacing:-.02em}
  .rq-form .rq-send,.wr-r .wr-send,.form>.btn{width:100%;max-width:none;margin-top:30px !important;align-self:stretch}
  .fl,.rq-form .fl,.wr-r .fl{margin-top:26px !important}
  .form>.fl:first-child{margin-top:0 !important}
  .fl label{font-size:12px}
  .fl input,.fl select,.fl textarea{height:54px;margin-top:10px;font-size:16px;letter-spacing:0;padding:0 16px}
  .fl textarea{height:130px;padding:14px 16px}
  .fl select{background-position:right 14px top 15px}
  .thanks{padding:24px 0}
  .mat{grid-template-columns:1fr;gap:18px}
  .mat-media{width:100%;height:auto;aspect-ratio:731/633}
  .mcard{height:auto;padding:34px 24px 34px}
  .mline{left:24px;top:40px;width:56px}
  .mlab{margin-left:76px;font-size:12px}
  .msym{margin-top:20px;font-size:56px}
  .mb{margin-top:20px;width:auto;font-size:16px;line-height:1.65;letter-spacing:0}
  .cm{flex-direction:column;align-items:stretch;gap:32px;width:100%}
  .cm-m{width:100%}
  .cm-t{width:100%;gap:20px}
  .cm-t>*{margin:0 !important}
  .cm-m .media{width:100%;height:auto;aspect-ratio:636/488}
  .lr{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .lr dt{margin-top:0;font-size:12px}
  .lr dd{font-size:16px;line-height:1.6;letter-spacing:0}
  .scard{height:auto}
  .scard .sb{margin-top:16px}
  .stag{margin-top:18px;font-size:16px}
  .wr{grid-template-columns:1fr;gap:44px}
  .wr-l>*{margin:0 !important}
  .wr-l{gap:20px}
  .icard{width:100%;height:auto;grid-template-columns:90px 1fr;padding:26px 16px 26px 0}
  .ic{margin:2px 0 0 26px;font-size:42px}
  .ic.ny{margin-top:6px;font-size:34px}
  .iv{font-size:19px;margin-top:12px;line-height:1.3;letter-spacing:-.02em;word-break:break-word}
  .is{font-size:13px;margin-top:10px}
  .il{font-size:12px}
  .fq-q{font-size:clamp(22px,5.4vw,28px);line-height:1.2;letter-spacing:-.02em;padding-right:12px}
  .fq-b{padding-bottom:26px;align-items:flex-start}
  .fq+.fq{padding-top:26px}
  .fq-p{margin-top:0;height:auto;width:28px;font-size:28px}
  .fq-a .lead{font-size:16px;padding-bottom:26px}
  .ft{min-height:0;padding:44px var(--pad) 70px;border-top-width:1px}
  .ft::before{background-size:max(900px,100%) auto}
  .ft-logo{margin-top:0;font-size:26px}
  .ft-nav{margin-top:26px;font-size:12px;line-height:1.4;white-space:normal;letter-spacing:.2em;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;padding-left:0}
  .sep{display:none}
  .ft-nav a{display:block;padding:4px 0}
  .ft-l1,.ft-l2{margin-top:22px;font-size:12px;letter-spacing:.16em;line-height:1.8;text-wrap:balance}
  .ft-l2{margin-top:10px}
  .ft-credit{position:static;margin-top:26px;font-size:12px}
  .mdl{grid-template-columns:1fr}
  .mdl-img{min-height:0;aspect-ratio:4/3}
  .mdl-b{padding:26px 22px 26px}
  .mdl-b h2{font-size:34px}
}
@media (max-width:767px){
  .fr{padding-top:44px;padding-bottom:44px;gap:20px}
  .cards3,.steps4,.steps5,.svc,.pcards{grid-template-columns:1fr}
  .pc{max-width:360px;margin:0 auto;width:100%}
  .icard{grid-template-columns:76px 1fr}
  .ic{margin-left:18px;font-size:36px}
  .ic.ny{font-size:28px}
}
@media (min-width:768px) and (max-width:1023px){
  .fr{max-width:none;padding-left:max(var(--pad),calc((100% - 820px)/2));padding-right:max(var(--pad),calc((100% - 820px)/2))}
  .pcards{grid-template-columns:repeat(2,1fr)}
  .steps4{grid-template-columns:repeat(2,1fr)}
  .steps5{grid-template-columns:repeat(2,1fr)}
  .cards3,.svc{grid-template-columns:repeat(2,1fr)}
  .split,.home-split{gap:40px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;transition-delay:0s !important;scroll-behavior:auto !important}
  .js [data-r],.js .hero-fr [data-r],.js .hero-fr .hero-logo,.js .hero-fr .wordmark,.js .hero-fr .tag,.js .hero-fr .tagline,.js .hero-fr .ring,.js .hero-fr .turn,.js .hero-fr .btn{opacity:1 !important;transform:none !important}
}
