/* PRISTYNE - styles */
:root{--bg:#f4ecda;--fg:#111;--mut:#5e5643;--card:#fffaf0;--ac:#8a6408;--gold:#e3bf5a;--ln:#d8c8a0;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0c0b09;--fg:#f5ecd7;--mut:#b9ae96;--card:#171510;--ac:#e3bf5a;--ln:#2d281c}}
:root[data-theme="dark"]{--bg:#0c0b09;--fg:#f5ecd7;--mut:#b9ae96;--card:#171510;--ac:#e3bf5a;--ln:#2d281c}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.7 Inter,system-ui,sans-serif}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,7vw,4.6rem)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{font-size:1.2rem;color:var(--ac)}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;padding:.7rem 1.2rem;background:var(--bg);border-bottom:1px solid var(--ln)}
nav b{font-family:'Playfair Display',serif;letter-spacing:.2em;margin-right:auto}
nav a{color:var(--fg);text-decoration:none;font-size:.85rem;padding:.3rem .6rem;border-radius:99px}
nav a.on,nav a:hover{background:var(--gold);color:#111}
main{max-width:1000px;margin:auto;padding:0 1.2rem}
section[data-p]{display:none;padding:3rem 0}section[data-p].show{display:block}
.hero{min-height:70vh;display:flex;flex-direction:column;justify-content:center}
.tag{color:var(--ac);letter-spacing:.15em;font-style:italic}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}
.card{background:var(--card);border:1px solid var(--ln);border-radius:14px;padding:1.3rem;transition:transform .3s}
.card:hover{transform:translateY(-4px)}
.ph{border:2px dashed var(--ln);border-radius:14px;padding:2rem;text-align:center;color:var(--mut);font-size:.85rem;margin:1rem 0}
blockquote{border-left:4px solid var(--gold);margin:1.5rem 0;padding:.3rem 1rem;font-family:'Playfair Display',serif;font-size:1.3rem}
.btn{display:inline-block;background:var(--gold);color:#111;padding:.7rem 1.4rem;border-radius:99px;text-decoration:none;font-weight:600;margin:.3rem .3rem .3rem 0}
.path{display:flex;flex-wrap:wrap;gap:.5rem;font-weight:600;color:var(--ac)}
.r{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.r.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.r{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
footer{text-align:center;padding:2rem 1rem;border-top:1px solid var(--ln);color:var(--mut);font-size:.85rem}
.note{font-size:.75rem;color:var(--mut)}
#prog{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,#b8860b,#f7db94);transform-origin:0 50%;transform:scaleX(0);z-index:20}
h2.r{letter-spacing:.14em;transition:opacity .8s,transform .8s,letter-spacing .9s}h2.r.in{letter-spacing:0}
.grid .card:nth-child(2){transition-delay:.1s}.grid .card:nth-child(3){transition-delay:.2s}.grid .card:nth-child(4){transition-delay:.3s}.grid .card:nth-child(5){transition-delay:.4s}
h1,h2{font-family:'Archivo Black','Arial Black',Arial,sans-serif;text-transform:uppercase}h2{font-size:clamp(1.6rem,3.6vw,2.4rem)}
#hero{position:relative;display:block;width:100%;height:calc(100svh - 3.4rem);scroll-margin-top:3.4rem;min-height:480px;overflow:hidden;isolation:isolate;background:var(--bg);color:var(--fg);container:mph/size;font-family:Inter,sans-serif}
#hero svg.rm{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;stroke:var(--fg);stroke-width:.8;fill:none;opacity:.13}#hero svg.rm *{vector-effect:non-scaling-stroke}
.st{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,177.78cqh);aspect-ratio:16/9;container:mphs/inline-size}
.st a{color:inherit;text-decoration:none}
.pt{position:absolute;left:4.6%;right:4.6%;top:4.4%;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;column-gap:2.4cqw;font-size:1.05cqw;font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:.02em}
.pi{display:inline-flex;align-items:center;gap:.9em;border:.12cqw solid var(--fg);border-radius:99px;padding:.12em .9em .12em .12em;font-size:.72em}.pi b{background:var(--gold);color:#111;border-radius:99px;padding:.3em 1.2em}
.ptag{font-size:1.18em;font-weight:900;margin-left:1cqw}.pb{grid-column:4;font-size:1.3em;font-weight:700;margin-right:2.6cqw}
.pr{grid-column:5;display:flex;align-items:center;gap:.8em;font-size:.8em;text-align:right}.pr i{width:1.9em;height:1.9em;border-radius:50%;background:var(--gold);border:.12cqw solid var(--fg);flex:none}
.ph1{position:absolute;left:8.8%;top:17.5%;margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:900;font-size:6.5cqw;line-height:.93;letter-spacing:-.045em;text-transform:uppercase}
.pl{display:block;width:max-content;white-space:nowrap;position:relative}.pl2{font-size:1.3em}
.pc{display:inline-block;transition:transform .35s cubic-bezier(.3,1.6,.5,1),color .2s}.pc:hover{transform:translateY(-.08em) rotate(-4deg);color:var(--ac)}
.pa{display:inline-block;width:.6em;height:.6em;margin:0 .06em 0 .1em;vertical-align:-.02em}.pa path{stroke:currentColor;stroke-width:15;fill:none;stroke-linecap:square}
.pbd{position:absolute;top:-.02em;left:calc(100% + .55em);font:800 .2em/1 Inter,sans-serif;letter-spacing:0;text-transform:none;border:.13cqw solid var(--fg);border-radius:50%;padding:.75em 1.15em;transform:rotate(-9deg);transition:background .25s,transform .4s cubic-bezier(.3,1.6,.5,1)}.pbd:hover{background:var(--gold);color:#111;transform:rotate(6deg) scale(1.08)}
.sw{position:relative;display:inline-block}.sw svg{position:absolute;left:-.95em;top:.3em;width:2.55em;height:.72em;overflow:visible;pointer-events:none}
.sw path{fill:none;stroke:var(--fg);stroke-width:.2cqw;stroke-linecap:round;stroke-dasharray:1;animation:dw 1.6s .5s cubic-bezier(.6,0,.2,1) both}.ph1:hover .sw path{animation:dw 1.1s cubic-bezier(.6,0,.2,1) both}
.lead{position:absolute;left:8.8%;top:46%;width:38%;margin:0;font-size:1.45cqw;line-height:1.55;font-weight:600}
.pp{position:absolute;left:8.8%;top:72.8%;display:flex;align-items:stretch;font-size:1.72cqw;font-weight:800;line-height:1}
.pp1{position:relative;z-index:1;background:var(--card);border:.16cqw solid var(--fg);border-radius:99px;padding:.72em 1.25em}
.pp2{display:inline-flex;align-items:center;gap:.5em;margin-left:-1.4em;padding:.72em 3.4em .72em 3.1em;background:var(--gold);color:#111!important;border:.16cqw solid var(--fg);border-radius:0 99px 99px 0;transition:background .25s,color .25s,padding .35s cubic-bezier(.3,1.4,.5,1)}
.pp2 em{font-style:normal;width:0;overflow:hidden;opacity:0;transition:width .35s,opacity .25s}.pp2:hover,.pp2:focus-visible{background:var(--fg);color:var(--bg)!important;padding-right:2.4em;outline:none}.pp2:hover em,.pp2:focus-visible em{width:1em;opacity:1}
.fl{position:absolute;left:48.4%;top:66%;width:7.4%;aspect-ratio:1;animation:sp 22s linear infinite}.fl svg{width:100%;height:100%;overflow:visible}.fl path{fill:var(--card);stroke:var(--fg);stroke-width:2.6;stroke-linejoin:round}
.cu{position:absolute;left:43.2%;top:52.5%;width:5.6%;aspect-ratio:1;overflow:visible;pointer-events:none}.cu path{fill:none;stroke:var(--fg);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:dw 1.4s 1s cubic-bezier(.6,0,.2,1) both}
.sv{position:absolute;left:4.6%;bottom:4.6%;max-width:46cqw;display:flex;flex-wrap:wrap;gap:.7cqw 2.4cqw;margin:0;padding:0;list-style:none;font-size:1.05cqw;font-weight:800}
.sv a{position:relative;display:block;padding-bottom:.25em}.sv a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:.18em;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}.sv a:hover:after{transform:scaleX(1)}
.rl{position:absolute;width:0;border-left:.1cqw solid var(--fg)}.rl:after{content:"";position:absolute;bottom:0;left:-.1cqw;width:1.1cqw;border-top:.1cqw solid var(--fg);transform:rotate(28deg);transform-origin:left}.rl1{left:3.7%;top:23%;height:13%}.rl2{left:94.8%;top:66%;height:13%}
.halo{position:absolute;right:6%;bottom:-8%;width:36%;aspect-ratio:1;border-radius:50%;background:var(--gold);border:.16cqw solid var(--fg);will-change:transform}
.ch{position:absolute;right:3%;bottom:-8px;height:85%;aspect-ratio:1105/1423;padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ch:focus-visible{outline:.2cqw dashed var(--fg);outline-offset:.4cqw}
.cb{display:block;width:100%;height:100%;transform-origin:50% 100%;will-change:transform}.cb img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(.5cqw .5cqw 0 var(--gold))}
.bu{position:absolute;left:-6%;top:6%;max-width:46%;background:var(--card);color:var(--fg);border:.16cqw solid var(--fg);border-radius:1.4em 1.4em 1.4em .2em;padding:.8em 1.1em;font-size:1.3cqw;font-weight:800;line-height:1.2;text-align:left;box-shadow:.35cqw .35cqw 0 var(--gold);transform-origin:0 100%;transform:scale(0) rotate(-8deg);opacity:0;transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .2s;pointer-events:none}.bu[data-on="true"]{transform:scale(1) rotate(-4deg);opacity:1}
@keyframes dw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes sp{to{transform:rotate(360deg)}}
@container mph (orientation:portrait){
.st{top:0;transform:translateX(-50%);width:min(100cqw,56.25cqh);height:100cqh;aspect-ratio:auto}
.pt{top:5cqw;left:6%;right:6%;grid-template-columns:auto 1fr auto;font-size:2.5cqw}.ptag,.pb{display:none}.pr{grid-column:3}
.ph1{left:7%;top:17cqw;font-size:11.4cqw}.pbd{left:calc(100% + .35em);top:.1em;font-size:.22em}
.lead{left:7%;top:44cqw;width:86%;font-size:3.1cqw}.pp{left:7%;top:62cqw;font-size:3.5cqw}
.fl{left:auto;right:6%;top:60cqw;width:13%}.cu{display:none}
.sv{left:7%;right:7%;max-width:none;bottom:auto;top:72cqw;gap:1.6cqw 5cqw;font-size:2.6cqw}
.rl1{left:3%;top:22cqw;height:12cqw}.rl2{display:none}
.halo{right:8%;width:78%;bottom:-6%}.ch{right:auto;left:10%;width:80%;height:auto;bottom:0}.bu{font-size:3cqw;left:-8%;top:2%;max-width:52%}}
@media(prefers-reduced-motion:reduce){#hero *,#hero *:after{animation:none!important;transition:none!important}}
#ex{position:relative;width:100%;height:calc(100svh - 3.4rem);min-height:460px;overflow:hidden;background:var(--bg);color:var(--fg);outline:none}
#ex .hg2{position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,var(--gold),transparent 55%);opacity:.5;pointer-events:none}
#exi{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;pointer-events:none;z-index:0;padding:0 1rem}
#exi h2{font-size:clamp(1.3rem,3.4vw,2.6rem);margin:0 0 .8rem}#exi p{margin:0;font:800 .7rem Inter,sans-serif;letter-spacing:.25em;color:var(--mut)}
#exa{position:absolute;left:0;right:0;top:7%;text-align:center;pointer-events:none;z-index:2;padding:0 1rem;opacity:0}
#exa h2{font-size:clamp(1.8rem,5vw,3.6rem);margin:0 0 .6rem}#exa p{max-width:34rem;margin:auto;color:var(--mut);font-size:clamp(.85rem,1.6vw,1rem)}
.cd{position:absolute;left:50%;top:50%;width:84px;height:116px;perspective:700px;cursor:pointer;opacity:0;will-change:transform}
.cd .in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,1.4,.5,1)}
.cd:hover .in,.cd.f .in{transform:rotateY(180deg)}
.cd .fr,.cd .bk{position:absolute;inset:0;border:2px solid var(--fg);border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:3px 3px 0 var(--gold)}
.cd .fr{background:var(--card);display:flex;flex-direction:column;justify-content:flex-end;padding:7px}.cd .fr:before{content:"";position:absolute;left:0;right:0;top:0;height:42%;background:var(--gold)}
.cd .fr b{position:relative;font:900 9.5px/1.15 'Archivo Black',Arial Black,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.cd .bk{transform:rotateY(180deg);background:var(--fg);color:var(--bg);padding:7px;font:600 6.6px/1.3 Inter,sans-serif;display:flex;flex-direction:column;gap:3px}
.cd .bk em{font:800 6px Inter,sans-serif;font-style:normal;letter-spacing:.14em;color:var(--gold)}.cd .bk a{margin-top:auto;color:var(--gold);font-weight:800;text-decoration:none}
@media(prefers-reduced-motion:reduce){.cd .in{transition:none}}
#intro{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100svh - 3.4rem);padding:2rem 1.2rem 7rem;background:#f6f5f5;color:#1b1a16;overflow:hidden;isolation:isolate}
#intro:after{content:"";position:absolute;left:0;right:0;bottom:0;height:24vh;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}
.lgp{will-change:transform,opacity;mix-blend-mode:darken}.lgw{position:relative;width:min(74vw,42svh,420px);aspect-ratio:1;overflow:hidden;animation:lgin 1.8s cubic-bezier(.2,.8,.2,1) both}
.lgw img{display:block;width:100%;height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.lgw:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.9) 50%,transparent 62%);transform:translateX(-120%);animation:shn 7s 1.8s ease-in-out infinite;pointer-events:none}
@keyframes shn{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}
@keyframes lgin{from{opacity:0;transform:scale(.86) translateY(24px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
#intro h1{font-family:'Playfair Display',Georgia,serif;text-transform:none;font-weight:700;font-size:clamp(1.7rem,4.6vw,3.2rem);letter-spacing:-.01em;margin:1.6rem 0 .5rem;color:#1b1a16;animation:up 1s .9s both}
#intro .tg{margin:0 0 1rem;color:#8a6408;letter-spacing:.28em;font-size:.72rem;font-weight:600;font-style:italic;animation:up 1s 1.15s both}
#intro .bs{max-width:34rem;margin:0;color:#5b5546;animation:up 1s 1.4s both}
#intro .cue{position:absolute;bottom:2.2rem;left:50%;margin-left:-2rem;width:4rem;z-index:2;background:none;border:0;cursor:pointer;font:800 .62rem Inter,sans-serif;letter-spacing:.3em;color:#5b5546;display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:up 1s 1.8s both}
#intro .cue i{width:1px;height:2.2rem;background:linear-gradient(#8a6408,transparent);transform-origin:top;animation:cu 2s 2.8s infinite}@keyframes cu{50%{transform:scaleY(.4)}}
@media(prefers-reduced-motion:reduce){#intro *,#intro *:after{animation:none!important}}
.nl{display:flex;gap:.3rem;flex-wrap:wrap}.mt{display:none;width:2.4rem;height:2.4rem;border:1.5px solid var(--fg);border-radius:50%;background:none;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.mt span{display:block;width:16px;height:2px;background:var(--fg);transition:transform .25s,opacity .2s}nav.open .mt span:nth-child(1){transform:translateY(6px) rotate(45deg)}nav.open .mt span:nth-child(2){opacity:0}nav.open .mt span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
section[data-p="founder"].show{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:clamp(1.2rem,4vw,3rem);align-items:start}
section[data-p="founder"] h2{grid-column:1/-1}.fp{margin:0;position:sticky;top:5rem}
.fp img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:49% 30%;border:3px solid var(--fg);border-radius:999px 999px 18px 18px;box-shadow:10px 10px 0 var(--gold)}
@media(max-width:860px){nav{flex-wrap:nowrap;padding:.5rem 1rem}.mt{display:inline-flex}
.nl{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;flex-wrap:nowrap;gap:0;padding:.4rem 1rem 1rem;background:var(--bg);border-bottom:1px solid var(--ln);box-shadow:0 14px 24px rgba(0,0,0,.1)}nav.open .nl{display:flex}.nl a{padding:.75rem .8rem;font-size:1rem;border-radius:12px}
main{padding:0 1rem}section[data-p]{padding:2rem 0}
section[data-p="founder"].show{grid-template-columns:1fr}.fp{position:static;max-width:380px;margin:0 auto 1.5rem;width:100%}
blockquote{font-size:1.1rem}.btn{display:block;text-align:center;margin:.5rem 0}}
.gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:14px;margin:1.2rem 0}.gal img{display:block;width:100%;aspect-ratio:5/6;object-fit:cover;object-position:var(--op,50% 40%);border-radius:14px;border:2px solid var(--fg);transition:transform .4s cubic-bezier(.3,1.4,.5,1)}.gal img:nth-child(1){--op:50% 62%}.gal img:nth-child(2){--op:42% 55%}.gal img:nth-child(3){--op:50% 38%}.gal img:nth-child(4){--op:50% 32%}.gal img:nth-child(5){--op:50% 55%}.gal img:nth-child(6){--op:50% 82%}.gal img:nth-child(7){--op:50% 72%}.gal img:nth-child(8){--op:50% 50%}.gal img:nth-child(9){--op:58% 60%}.gal img:hover{transform:scale(1.025) rotate(-.6deg)}
.mq{overflow:hidden;margin:1.2rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mqt{display:flex;gap:14px;width:max-content;animation:mqs 60s linear infinite}.mq:hover .mqt{animation-play-state:paused}.mqt img{height:220px;width:auto;border-radius:14px;border:2px solid var(--fg);display:block}
@keyframes mqs{to{transform:translateX(-50%)}}
.bn{position:relative;margin:1.2rem 0;aspect-ratio:16/9;overflow:hidden;border:2px solid var(--fg);border-radius:18px;box-shadow:8px 8px 0 var(--gold);background:#111}.bn img{position:absolute;inset:0;width:100%;height:100%}.bn .bgi{object-fit:cover;filter:blur(22px) brightness(.8);transform:scale(1.15)}.bn .fgi{object-fit:contain}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,1fr);gap:10px}.gal img:nth-child(4){grid-column:span 2;aspect-ratio:16/10}.mqt img{height:160px}.bn{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.mq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.mqt{animation:none}}
@media(min-width:861px) and (max-width:1100px){nav{flex-wrap:nowrap;padding:.5rem 1rem}.mt{display:inline-flex}.nl{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;flex-wrap:nowrap;gap:0;padding:.4rem 1rem 1rem;background:var(--bg);border-bottom:1px solid var(--ln);box-shadow:0 14px 24px rgba(0,0,0,.1)}nav.open .nl{display:flex}.nl a{padding:.75rem .8rem;font-size:1rem;border-radius:12px}}
section[data-p="services"] .grid,section[data-p="collaborate"] .grid{grid-template-columns:repeat(6,1fr)}section[data-p="services"] .card,section[data-p="collaborate"] .card{grid-column:span 2}section[data-p="services"] .card:nth-child(n+4),section[data-p="collaborate"] .card:nth-child(n+4){grid-column:span 3}
@media(max-width:760px){section[data-p="services"] .grid,section[data-p="collaborate"] .grid{grid-template-columns:1fr}section[data-p="services"] .card,section[data-p="collaborate"] .card{grid-column:auto!important}}
