:root{
  --ink:#13110f;--ink2:#1c1915;--ink3:#26221d;
  --cream:#f2ebdf;--bone:#e7ddcc;--paper:#faf6ef;
  --copper:#b8743f;--copper2:#d08a52;--brass:#c6a15b;--brass2:#e0c27f;--tin:#a9adb0;
  --text:#2a241e;--muted:#6f655a;--mutedd:#a89c8c;
  --line:rgba(19,17,15,.12);--lined:rgba(242,235,223,.14);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  --pad:clamp(20px,5vw,72px);
  --max:1320px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.65;color:var(--text);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--brass);color:var(--ink);padding:8px 14px;z-index:999}
.skip:focus{left:8px}

/* type */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(44px,7.4vw,112px)}
h2{font-size:clamp(34px,4.8vw,72px)}
h3{font-size:clamp(24px,2.4vw,34px)}
h1 em,h2 em,h3 em{font-style:italic;color:var(--copper)}
.dark h1 em,.dark h2 em,.dark h3 em{color:var(--brass2)}
p{margin:0 0 1em}
.eyebrow{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--copper);display:inline-flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow::before{content:'';width:28px;height:1px;background:currentColor;opacity:.7}
.dark .eyebrow{color:var(--brass)}
.lede{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--muted);max-width:40em}
.dark .lede{color:#c9bfb0}
.small{font-size:13px;color:var(--muted)}
.dark .small{color:var(--mutedd)}
.note{font-size:12.5px;letter-spacing:.02em;color:var(--muted);border-left:2px solid var(--brass);padding:2px 0 2px 12px;margin-top:18px;max-width:52em}
.dark .note{color:var(--mutedd)}

/* layout */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
section{position:relative}
.sec{padding:clamp(80px,11vw,160px) 0}
.sec-s{padding:clamp(56px,7vw,100px) 0}
.dark{background:var(--ink);color:var(--cream)}
.ink2{background:var(--ink2)}
.creamb{background:var(--cream)}
.head{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:clamp(40px,5vw,72px)}
@media(min-width:900px){.head.two{grid-template-columns:1.1fr .9fr;align-items:end}}
.grid{display:grid;gap:clamp(16px,2vw,28px)}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr 1fr}
@media(min-width:700px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,80px);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}.split.rev>:first-child{order:2}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid transparent;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s,transform .35s var(--ease);white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-metal{background:linear-gradient(135deg,#e2c487 0%,#c6a15b 38%,#9d7638 70%,#d9b673 100%);color:#1a140c;box-shadow:0 10px 30px -12px rgba(198,161,91,.6),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-copper{background:linear-gradient(135deg,#e0a274,#b8743f 50%,#8d5329);color:#fff7ee}
.btn-ghost{border-color:currentColor;background:transparent}
.dark .btn-ghost{color:var(--cream);border-color:rgba(242,235,223,.4)}
.dark .btn-ghost:hover{border-color:var(--brass);color:var(--brass2)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.link{font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;display:inline-flex;gap:8px;align-items:center}
.link:hover{color:var(--copper)}
.dark .link:hover{color:var(--brass2)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .4s,backdrop-filter .4s,border-color .4s,transform .4s var(--ease);border-bottom:1px solid transparent;color:var(--cream)}
.hdr.light{color:var(--ink)}
.hdr.solid{background:rgba(19,17,15,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--lined);color:var(--cream)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;max-width:1500px;margin:0 auto;padding:0 var(--pad)}
.mark{display:flex;flex-direction:column;line-height:1;gap:4px}
.mark b{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.42em}
.mark i{font-family:var(--serif);font-style:italic;font-size:21px;letter-spacing:.01em;color:var(--brass2)}
.hdr.light:not(.solid) .mark i{color:var(--copper)}
.nav{display:none;gap:clamp(16px,2vw,30px);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.nav a{opacity:.85;position:relative;padding:6px 0}
.nav a:hover,.nav a[aria-current]{opacity:1}
.nav a[aria-current]::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass)}
.hdr-cta{display:none}
.burger{width:46px;height:46px;border-radius:50%;border:1px solid currentColor;background:transparent;display:grid;place-items:center;opacity:.9}
.burger span{display:block;width:18px;height:1px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
@media(min-width:1180px){.nav{display:flex}.hdr-cta{display:inline-flex;min-height:42px;padding:0 20px;font-size:11.5px}.burger{display:none}}
.menu{position:fixed;inset:0;z-index:80;background:var(--ink);color:var(--cream);display:flex;flex-direction:column;padding:24px var(--pad) 40px;transform:translateY(-100%);transition:transform .6s var(--ease);visibility:hidden}
.menu.open{transform:none;visibility:visible}
.menu-top{display:flex;justify-content:space-between;align-items:center;height:52px}
.menu nav{display:flex;flex-direction:column;margin-top:36px}
.menu nav a{font-family:var(--serif);font-size:clamp(32px,8vw,52px);line-height:1.25;border-bottom:1px solid var(--lined);padding:6px 0}
.menu .btns{margin-top:auto}
.close{width:46px;height:46px;border-radius:50%;border:1px solid var(--lined);background:none;font-size:22px}

/* hero home */
.hero{min-height:100svh;display:flex;align-items:center;background:radial-gradient(120% 90% at 75% 40%,#2b241c 0%,#16130f 55%,#0e0c0a 100%);color:var(--cream);overflow:hidden;padding:110px 0 70px}
.hero .wrap{width:100%;display:grid;grid-template-columns:1fr;gap:10px;align-items:center}
@media(min-width:1000px){.hero .wrap{grid-template-columns:1.02fr 1fr;gap:40px}}
.hero h1{font-size:clamp(46px,7vw,104px);font-weight:300}
.hero .lede{margin-top:26px;max-width:30em}
.tile-stage{position:relative;aspect-ratio:1/1;width:100%;max-width:640px;justify-self:center;margin-top:10px}
.tile-stage canvas{width:100%!important;height:100%!important;touch-action:pan-y}
.tile-fallback{position:absolute;inset:12%;background:center/cover no-repeat;border-radius:2px;box-shadow:0 40px 80px -30px #000;transform:rotate(-8deg)}
.tile-stage.live .tile-fallback{opacity:0;transition:opacity .8s}
.swatches{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.sw{display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 8px;border-radius:999px;border:1px solid var(--lined);background:rgba(255,255,255,.03);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#d8cebf;transition:border-color .3s,background .3s}
.sw i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 1px 2px rgba(255,255,255,.5),inset 0 -2px 3px rgba(0,0,0,.35)}
.sw[aria-pressed=true]{border-color:var(--brass);background:rgba(198,161,91,.12);color:var(--cream)}
.c-copper{background:radial-gradient(circle at 35% 30%,#f2b98a,#b8743f 55%,#6f3f1c)}
.c-brass{background:radial-gradient(circle at 35% 30%,#f5dfa6,#c6a15b 55%,#7a5a25)}
.c-white{background:radial-gradient(circle at 35% 30%,#fff,#ebe5da 60%,#b9b1a4)}
.c-raw{background:radial-gradient(circle at 35% 30%,#f1f3f4,#a9adb0 55%,#5d6164)}
.hint{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mutedd);text-align:center;margin-top:14px}

/* page hero */
.phero{padding:clamp(140px,18vw,220px) 0 clamp(60px,8vw,110px);background:var(--ink);color:var(--cream);position:relative;overflow:hidden}
.phero.img{min-height:78svh;display:flex;align-items:flex-end}
.phero.img .bg{position:absolute;inset:0;background:center/cover no-repeat}
.phero.img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,10,.55) 0%,rgba(14,12,10,.25) 40%,rgba(14,12,10,.88) 100%)}
.phero .wrap{position:relative;z-index:2;width:100%}
.phero h1{font-weight:300;max-width:14em}
.phero .lede{margin-top:22px}
.crumbs{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mutedd);margin-bottom:26px;display:flex;gap:10px;flex-wrap:wrap}
.crumbs a:hover{color:var(--brass2)}

/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--lined);background:var(--ink2);color:var(--bone);padding:20px 0}
.marquee-track{display:flex;gap:56px;width:max-content;animation:mq 46s linear infinite;font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);font-style:italic;white-space:nowrap}
.marquee-track span::after{content:'✦';font-style:normal;font-size:.5em;color:var(--brass);margin-left:56px;vertical-align:middle}
@keyframes mq{to{transform:translateX(-50%)}}

/* pillars */
.pillar{border-top:1px solid var(--line);padding-top:26px}
.dark .pillar{border-color:var(--lined)}
.pillar .n{font-family:var(--serif);font-size:15px;color:var(--copper);font-style:italic}
.pillar h3{font-size:clamp(23px,2vw,28px);margin:10px 0 12px}
.pillar p{font-size:15px;color:var(--muted)}
.dark .pillar p{color:#b9ae9f}

/* pattern cards */
.pcard{display:block;position:relative;color:inherit}
.pcard .ph{position:relative;aspect-ratio:1/1;overflow:hidden;background:#2b261f}
.pcard img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .8s}
.pcard .ph::after{content:'';position:absolute;inset:-50%;background:linear-gradient(115deg,transparent 40%,rgba(255,240,210,.32) 50%,transparent 60%);transform:translateX(-60%);transition:transform 1.3s var(--ease);mix-blend-mode:overlay;pointer-events:none}
.pcard:hover img{transform:scale(1.06)}
.pcard:hover .ph::after{transform:translateX(60%)}
.pcard .meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 2px 4px;border-bottom:1px solid var(--line)}
.dark .pcard .meta{border-color:var(--lined)}
.pcard .no{font-family:var(--serif);font-size:clamp(22px,2vw,28px)}
.pcard .no small{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-right:8px}
.dark .pcard .no small{color:var(--mutedd)}
.pcard .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper);white-space:nowrap}
.dark .pcard .tag{color:var(--brass)}
.pcard .desc{font-size:14px;color:var(--muted);margin-top:8px}
.dark .pcard .desc{color:#a99e8f}
.pcard .badge{position:absolute;top:12px;left:12px;z-index:2;background:rgba(19,17,15,.75);color:var(--cream);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.dark .chip{border-color:var(--lined);color:var(--mutedd)}
.dark .chip[aria-pressed=true]{background:var(--brass);color:var(--ink);border-color:var(--brass)}
.pgrid{grid-template-columns:1fr 1fr}
@media(min-width:800px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1200px){.pgrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.pgrid .pcard .desc{display:none}.pcard .meta{flex-direction:column;gap:2px}}

/* media tiles */
.ptile{position:relative;display:block;overflow:hidden;color:var(--cream);background:#222}
.ptile img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.ptile:hover img{transform:scale(1.05)}
.ptile .cap{position:absolute;inset:auto 0 0 0;padding:clamp(20px,3vw,36px);background:linear-gradient(0deg,rgba(12,10,8,.88),rgba(12,10,8,0));}
.ptile .cap h3{font-size:clamp(26px,2.8vw,40px)}
.ptile .cap p{font-size:14px;color:#cfc4b4;margin:8px 0 0}
.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r169{aspect-ratio:16/9}.r11{aspect-ratio:1/1}.r32{aspect-ratio:3/2}
.figure{margin:0}
.figure img{width:100%;height:100%;object-fit:cover}
.figure figcaption{font-size:12.5px;color:var(--muted);padding-top:10px;letter-spacing:.02em}
.dark .figure figcaption{color:var(--mutedd)}
.masonry{columns:1;column-gap:clamp(14px,2vw,24px)}
@media(min-width:640px){.masonry{columns:2}}
@media(min-width:1050px){.masonry{columns:3}}
.masonry .figure{break-inside:avoid;margin-bottom:clamp(14px,2vw,24px)}
.masonry img{height:auto}

/* video facade */
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#000 center/cover no-repeat;border:0;padding:0;overflow:hidden}
.yt::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.5))}
.yt .play{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:rgba(19,17,15,.55);border:1px solid rgba(242,235,223,.6);backdrop-filter:blur(6px);display:grid;place-items:center;transition:transform .4s var(--ease),background .4s}
.yt .play::after{content:'';border-left:20px solid var(--cream);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:6px}
.yt:hover .play{transform:scale(1.08);background:rgba(184,116,63,.8)}
.yt .ylab{position:absolute;left:18px;bottom:16px;right:18px;text-align:left;color:var(--cream);font-size:13px;letter-spacing:.06em}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* piece (pattern page) */
.piece{background:radial-gradient(110% 80% at 30% 30%,#2a231b,#14110e 60%,#0d0b09);color:var(--cream);padding:clamp(110px,12vw,150px) 0 clamp(60px,8vw,110px)}
.piece .wrap{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,80px);align-items:center}
@media(min-width:1000px){.piece .wrap{grid-template-columns:1.15fr .85fr}}
.loupe{position:relative;aspect-ratio:1/1;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06);cursor:zoom-in;touch-action:pan-y;background:#2a241d}
.loupe img{width:100%;height:100%;object-fit:cover;transition:opacity .5s,transform .7s var(--ease)}
.loupe .sheen{position:absolute;inset:-30%;background:linear-gradient(105deg,transparent 42%,rgba(255,236,200,.28) 50%,transparent 58%);mix-blend-mode:overlay;animation:sheen 7s var(--ease) infinite;pointer-events:none}
@keyframes sheen{0%{transform:translateX(-55%)}55%,100%{transform:translateX(55%)}}
.loupe .lens{position:absolute;width:190px;height:190px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .25s;box-shadow:0 0 0 1px rgba(242,235,223,.7),0 20px 50px rgba(0,0,0,.6);background-repeat:no-repeat}
.loupe.on .lens{opacity:1}
.loupe .zoomhint{position:absolute;right:14px;bottom:14px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;background:rgba(19,17,15,.65);padding:7px 11px;border-radius:999px;color:#ddd3c4}
.piece h1{font-size:clamp(52px,7vw,104px);font-weight:300}
.piece .num{font-family:var(--sans);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;display:block}
.specs{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:28px 0;padding:22px 0;border-block:1px solid var(--lined);font-size:14px}
.specs dt{color:var(--mutedd);letter-spacing:.12em;text-transform:uppercase;font-size:11.5px;padding-top:3px}
.specs dd{margin:0;color:var(--cream)}
.fsw{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:12px}
@media(max-width:480px){.fsw{grid-template-columns:repeat(4,1fr)}}
.fsw button{aspect-ratio:1/1;border:1px solid var(--lined);padding:0;background:#222 center/cover;border-radius:50%;transition:transform .3s,box-shadow .3s}
.fsw button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--brass);transform:scale(1.06)}
.fname{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--brass2);margin-top:14px;min-height:1.3em}
.pnav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:28px;margin-top:20px}
.pnav a{display:flex;flex-direction:column;gap:4px}
.pnav a span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pnav a b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.6vw,34px)}
.pnav a:last-child{text-align:right}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.4vw,18px)}
@media(min-width:900px){.strip{grid-template-columns:repeat(8,1fr)}}
.strip figure{margin:0}
.strip img{aspect-ratio:1/1;object-fit:cover;width:100%}
.strip figcaption{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.35}

/* finishes */
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,22px)}
@media(min-width:640px){.fgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.fgrid{grid-template-columns:repeat(5,1fr)}}
.fcard{margin:0}
.fcard .ph{aspect-ratio:1/1;overflow:hidden;border-radius:50%;box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.fcard img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.fcard:hover img{transform:scale(1.1) rotate(4deg)}
.fcard figcaption{text-align:center;margin-top:14px;font-family:var(--serif);font-size:19px;line-height:1.2}
.fcard figcaption small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.dark .fcard figcaption small{color:var(--mutedd)}
.lines{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,28px)}
@media(min-width:800px){.lines{grid-template-columns:repeat(3,1fr)}}
.lines article{background:var(--paper);border:1px solid var(--line)}
.lines article img{aspect-ratio:4/3;object-fit:cover;width:100%}
.lines article div{padding:24px}
.lines h3{margin-bottom:10px}
.lines p{font-size:14.5px;color:var(--muted);margin:0}

/* visualiser */
.vis{display:grid;grid-template-columns:1fr;gap:0;background:var(--ink);color:var(--cream)}
@media(min-width:1100px){.vis{grid-template-columns:1fr 400px;min-height:calc(100svh - 76px)}}
.vis-stage{position:relative;aspect-ratio:4/3;min-height:320px;background:#1b1712;overflow:hidden}
@media(min-width:1100px){.vis-stage{aspect-ratio:auto}}
.vis-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.vis-stage .vfall{position:absolute;inset:0;background-size:120px;opacity:.9}
.vis-stage .vcap{position:absolute;left:18px;bottom:16px;right:18px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end;pointer-events:none;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.vis-stage .vcap b{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.4vw,30px);display:block}
.vis-stage .vcap span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#d6ccbd}
.vis-stage .loading{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mutedd)}
.vis-panel{padding:26px var(--pad) 40px;border-left:1px solid var(--lined)}
@media(min-width:1100px){.vis-panel{padding:30px 30px 40px;max-height:calc(100svh - 76px);overflow:auto}}
.vis-panel h2{font-size:clamp(28px,3vw,40px);margin-bottom:6px}
.vlabel{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:26px 0 12px;display:block}
.vpats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
@media(min-width:700px) and (max-width:1099px){.vpats{grid-template-columns:repeat(7,1fr)}}
.vpats button{position:relative;aspect-ratio:1/1;padding:0;border:1px solid var(--lined);background:#222 center/cover;border-radius:4px}
.vpats button span{position:absolute;left:4px;bottom:3px;font-size:10px;font-weight:600;color:#fff;text-shadow:0 1px 3px #000}
.vpats button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--brass)}
.vfins{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.vfins button{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:0;font-size:10.5px;line-height:1.25;color:#cfc5b6;text-align:center}
.vfins button i{width:100%;aspect-ratio:1/1;border-radius:50%;background:#222 center/cover;border:1px solid var(--lined)}
.vfins button[aria-pressed=true] i{box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--brass)}
.seg{display:inline-flex;border:1px solid var(--lined);border-radius:999px;padding:3px}
.seg button{border:0;background:none;padding:8px 16px;border-radius:999px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#cfc5b6}
.seg button[aria-pressed=true]{background:var(--brass);color:var(--ink)}

/* forms */
.form{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:700px){.form{grid-template-columns:1fr 1fr}.form .full{grid-column:1/-1}}
.field label{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dark .field label{color:var(--mutedd)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:inherit;background:transparent;border:0;border-bottom:1px solid rgba(19,17,15,.3);padding:10px 2px;border-radius:0;outline:none;transition:border-color .3s}
.dark .field input,.dark .field select,.dark .field textarea{border-color:rgba(242,235,223,.25)}
.field select option{color:#111}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--copper)}
.field textarea{min-height:110px;resize:vertical}
.field input[type=file]{font-size:14px;padding:12px 0}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;text-transform:none;letter-spacing:0;color:var(--text);cursor:pointer;margin:0}
.dark .checks label{border-color:var(--lined);color:var(--cream)}
.checks input{width:auto;accent-color:var(--copper)}
.formok{display:none;border:1px solid var(--brass);padding:22px;margin-top:20px;background:rgba(198,161,91,.08)}
.formok.show{display:block}
.formok b{font-family:var(--serif);font-size:24px;font-weight:400;display:block;margin-bottom:6px}
.demo-flag{display:inline-block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;background:var(--brass);color:var(--ink);padding:4px 10px;border-radius:999px;margin-bottom:16px}

/* contact cards */
.ccard{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:8px;background:var(--paper)}
.dark .ccard{background:transparent;border-color:var(--lined)}
.ccard .who{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--copper)}
.dark .ccard .who{color:var(--brass)}
.ccard .big{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.1;word-break:break-word}
.ccard .btns{margin-top:14px}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th,.tbl td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tbl td:first-child{font-family:var(--serif);font-size:20px;white-space:nowrap}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbc{color:var(--copper);font-style:italic}

/* steps */
.steps{counter-reset:s;display:grid;gap:0}
.steps li{list-style:none;counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-size:28px;color:var(--copper);line-height:1}
.steps{padding:0;margin:0}
.steps h4{font-family:var(--sans);font-weight:600;font-size:15px;margin-bottom:4px;letter-spacing:.02em}
.steps p{margin:0;font-size:14.5px;color:var(--muted)}

/* quote band */
.qband{background:linear-gradient(135deg,#1d1813,#2b2219 60%,#3a2a1b);color:var(--cream);text-align:center}
.qband h2{max-width:14em;margin:0 auto}
.qband .btns{justify-content:center}

/* footer */
.ftr{background:#0d0b09;color:#bdb2a3;padding:clamp(60px,8vw,100px) 0 30px;font-size:14px}
.ftr .cols{display:grid;grid-template-columns:1fr;gap:36px}
@media(min-width:800px){.ftr .cols{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.ftr h4{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:16px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a:hover{color:var(--cream)}
.ftr .mark i{font-size:30px}
.ftr .base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--lined);margin-top:50px;padding-top:24px;font-size:12px;color:#8b8073}
.demo-bar{background:var(--brass);color:var(--ink);font-size:12px;text-align:center;padding:8px 16px;letter-spacing:.04em}

/* whatsapp float */
.wa{position:fixed;right:18px;bottom:18px;z-index:50;width:58px;height:58px;border-radius:50%;background:#1f8f55;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.6);transition:transform .3s var(--ease)}
.wa:hover{transform:scale(1.07)}
.wa svg{width:28px;height:28px;fill:#fff}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.marquee-track,.loupe .sheen{animation:none}html{scroll-behavior:auto}}
.prose{max-width:42em}
.prose p{font-size:17px;color:var(--muted)}
.dark .prose p{color:#c3b8a9}
.prose h3{margin:36px 0 12px}
.hr{height:1px;background:var(--line);border:0;margin:0}
.stat{border-top:1px solid var(--lined);padding-top:20px}
.stat b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1;color:var(--brass2)}
.stat span{font-size:13px;color:#b5aa9b}
.center{text-align:center}
.mt0{margin-top:0}.mt2{margin-top:20px}.mt4{margin-top:40px}.mt6{margin-top:60px}
.hide-sm{display:none}@media(min-width:800px){.hide-sm{display:block}}
.vis-spacer{height:110px;background:var(--ink)}
.demo-bar{position:relative}
.hdr.solid .demo-bar{display:none}
@media(min-width:1100px){.vis{min-height:calc(100svh - 110px)}.vis-panel{max-height:calc(100svh - 110px)}}
