:root{--paper:#fff;--paper-2:#faf8f6;--ink:#201e1c;--ink-60:#6c6661;--ink-30:#b5aaa0;--ink-12:#e9e4df;--copper:#94603e;--copper-deep:#70442a;--copper-tint:#f8f3ef;--rule:1px solid #e8e2dc;--pad:clamp(22px,5vw,90px);--radius:8px}
body{background:#fff}section{scroll-margin-top:100px}a,button{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
header{background:rgba(255,255,255,.79);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid rgba(183,155,132,.22)}.header-in{padding-block:20px;max-width:1800px;margin:auto}.logo{font-size:25px}.logo-img{height:41px}nav.main{gap:clamp(16px,2vw,34px)}nav.main a{position:relative;font-size:14px;color:#59534d}nav.main a:after{content:"";position:absolute;height:1px;inset-inline:0;bottom:-7px;background:var(--copper);transform:scaleX(0);transition:transform .2s}nav.main a:hover:after,nav.main a:focus-visible:after{transform:scaleX(1)}.lang{border:1px solid #dfd6cc;border-radius:6px;padding:3px;gap:2px;background:rgba(255,255,255,.55)}.lang button{border-radius:3px;font-size:11px;padding:5px 9px}.lang button[aria-pressed=true]{background:#24211f url('./leather-grain.svg');color:#fff}.menu-toggle{display:none}
.hero{padding-top:clamp(55px,6vw,100px);padding-bottom:clamp(45px,5vw,80px);background:radial-gradient(ellipse at 85% 52%,#fff8fa 0,transparent 45%),#fff}.hero-grid{max-width:1600px;margin:auto;grid-template-columns:minmax(0,1.6fr) minmax(0,.85fr);gap:clamp(24px,5vw,80px)}.hero .kicker{font-size:10px;letter-spacing:.13em;margin-bottom:30px}.hero h1{font-size:clamp(45px,6.1vw,96px);font-weight:600;line-height:1.06;letter-spacing:-.04em;max-width:15ch}.hero h1 .k{font-style:italic;font-weight:500;color:var(--copper)}.hero p.lead{font-size:clamp(16px,1.35vw,19px);line-height:1.8;max-width:51ch;margin-top:28px}.hero .cta-row{margin-top:32px;gap:12px}.hero .meta{font-size:12px;margin-top:34px;gap:22px;color:#746a62}.hero .meta i{width:4px;height:4px;background:#b88764}.avatar-visual{min-height:550px}.avatar-scene:before{background:radial-gradient(ellipse at center,#f6e9ed80,transparent 66%)}.avatar-toggle{color:#76645a;font-family:var(--body);font-size:11px;border:1px solid #e2d7ce;border-radius:5px;padding:6px 12px;background:#ffffffa8;backdrop-filter:blur(12px);transition:background .2s}.avatar-toggle:hover{background:#faf5f0}
.btn{position:relative;border-radius:var(--radius);font-weight:500;font-size:14px;min-height:50px;padding:14px 24px;letter-spacing:.01em;transition:transform .2s,box-shadow .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fffaf5;background:linear-gradient(115deg,#00000000,#00000035),url('./leather-grain.svg'),#211f1d;border:1px solid #4b3e34;box-shadow:inset 0 1px 0 #ffffff24,0 6px 14px #21170d13}.btn-primary:after{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid #d6ae8220;border-radius:4px}.btn-primary:hover{background:linear-gradient(115deg,#00000000,#00000035),url('./leather-grain.svg'),#211f1d;border-color:#aa7851;box-shadow:0 7px 20px #31201326}.btn-ghost{background:linear-gradient(120deg,#ffffffd9,#f4eee83d);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid #d3c7bc;color:#493e34;box-shadow:inset 0 1px 0 #fff,0 4px 14px #80553908}.btn-ghost:hover{background:#ffffffb8;border-color:#a67750;color:#241d18;box-shadow:0 6px 18px #94603e14}
.eyebrow{font:10px var(--mono);letter-spacing:.16em;color:var(--copper);text-transform:uppercase;margin-bottom:15px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.section-intro h2,.reviews-heading h2{font:500 clamp(34px,3.4vw,54px)/1.15 var(--disp);letter-spacing:-.03em}.section-note{max-width:23ch;color:#817469;font-size:14px;line-height:1.7}.projects-section{padding:80px var(--pad) 90px;background:linear-gradient(180deg,#fff,#fdfbfa)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-card{display:block;width:100%;border:1px solid #ded6ce;border-radius:10px;background:#ffffffa8;text-align:start;font:inherit;color:var(--ink);cursor:pointer;overflow:hidden;box-shadow:0 15px 35px -25px #5b3c2980;transition:transform .35s,box-shadow .35s,border-color .35s}.project-card:hover{transform:translateY(-8px);border-color:#b08a68;box-shadow:0 24px 42px -25px #5b3c2970}.window-bar{display:flex;align-items:center;gap:5px;padding:13px 14px;background:linear-gradient(#fff,#f3eeea);border-bottom:1px solid #e4ddd7}.window-bar i,.window-dots i{width:6px;height:6px;border-radius:50%;background:#cfb3a0;display:inline-block}.window-bar i:nth-child(2),.window-dots i:nth-child(2){background:#e3d3c7}.window-bar i:nth-child(3),.window-dots i:nth-child(3){background:#bfbab1}.window-bar>span{margin:auto;font:8px var(--mono);letter-spacing:.1em;color:#7b7067}.window-bar b{font-size:15px;font-weight:400;color:var(--copper)}.project-image{display:block;aspect-ratio:1.65;overflow:hidden;background:#f5f1ea}.project-image img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.project-caption{display:flex;gap:10px;align-items:end;justify-content:space-between;padding:23px 20px 25px;background:linear-gradient(130deg,#fff,#fcfaf8)}.project-caption small{display:block;font:8px var(--mono);letter-spacing:.04em;color:#967457;margin-bottom:8px}.project-caption strong{display:block;font:500 clamp(19px,1.7vw,27px) var(--disp)}.project-open{font-size:11px;white-space:nowrap;color:#8c674c;margin-bottom:4px}
#services{padding:60px var(--pad) 70px}.sec-head{padding:0 0 35px;border:0}.sec-head h2{font-weight:500;font-size:clamp(32px,3.1vw,48px)}.sec-head .mono{font-size:9px;letter-spacing:.1em;color:#86786c}.svc{border-bottom:1px solid #e8e2dc}.svc:first-of-type{border-top:1px solid #e8e2dc}.svc-btn{padding:24px 12px;grid-template-columns:70px 1fr 36px}.svc-btn .name{font-size:clamp(21px,2vw,29px);font-weight:500}.svc-btn .code{font-size:10px;font-weight:400;color:#a17a5a}.svc-btn .plus{font-size:20px;border:1px solid #dfd5cc;border-radius:5px;display:grid;place-items:center;width:30px;height:30px;color:#96613e}.svc-btn:hover,.svc.open .svc-btn{background:#fbf7f4;color:var(--ink)}.svc-btn:hover .code,.svc-btn:hover .plus,.svc.open .code,.svc.open .plus{color:var(--copper)}.svc-body{background:#fdfbf9}.svc-body-in{grid-template-columns:70px 1fr;padding:8px 12px 28px}.svc-body-in p{font-size:16px;color:#6c6259}.svc-body-in .tags{font-size:10px}.svc.open .svc-body{max-height:600px}
#process{padding:70px var(--pad);background:#fcfaf8}.steps{gap:32px}.step{border:0;padding:18px 20px 15px 0}.step .num{font:italic 38px var(--disp);color:#b28968;border-top:1px solid #ccb099;padding-top:20px}.step h3{font-size:25px}.step p{font-size:15px;line-height:1.8}#work{padding:70px var(--pad)}.show-wrap{border:1px solid #d7cbc0;border-radius:10px;overflow:hidden;box-shadow:0 14px 35px -23px #4a352d70}.show-frame{height:min(56vh,520px)}.show-cap{padding:18px 0;font-size:12px;border:0}.show-cap .mono{font-size:10px}
.reviews-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:85px var(--pad);background:radial-gradient(ellipse at 85% 30%,#fceef380,transparent 55%),#fcfaf8;align-items:center}.reviews-heading>p:last-child{max-width:42ch;margin-top:25px;font-size:16px;color:#7c6f65}.review-invite{position:relative;padding:38px;border:1px solid #e3d5c8;background:linear-gradient(145deg,#ffffffd9,#ffffff65);backdrop-filter:blur(20px);border-radius:10px;box-shadow:0 15px 35px -30px #85603a80}.quote-mark{font:80px/.7 var(--disp);color:#b08966;display:block;height:58px}.review-invite h3{font:500 27px var(--disp);margin-bottom:14px}.review-invite p{font-size:15px;color:#7b6b60;line-height:1.8}.review-invite .btn{margin-top:24px}.review-invite .review-disclaimer{font-size:11px;margin-top:16px;color:#8e8176}.published-review{margin-bottom:26px}.published-review blockquote{font:22px/1.5 var(--disp);margin-bottom:15px}.published-review small{color:var(--copper)}
#world{padding:65px var(--pad)}.world{gap:7%}.world-txt{padding:18px 0;border:0}.world-txt h3{font-weight:500;font-size:37px}.world-txt .mono{color:var(--copper);font-size:10px}.world-txt p{font-size:15px;line-height:1.8}.zone{padding:15px 0;border-color:#eee6df;font-size:14px}.zone .z-name{font-weight:400}.zone .mono{font-size:10px;color:#947052}
.contact{background:linear-gradient(115deg,#191716ea,#191716b0),url('./leather-grain.svg');position:relative;overflow:hidden}.contact:after{content:"R";position:absolute;right:4%;top:-16%;font:600 460px var(--disp);color:#d3ac8010;pointer-events:none}.contact-in{position:relative;z-index:1;padding-block:85px}.contact h2{font-weight:500;font-size:clamp(43px,5.4vw,80px);max-width:16ch}.contact .btn-primary{border-color:#bd9269;background:linear-gradient(120deg,#a5724a,#805435);color:#fff7ef;box-shadow:inset 0 1px 0 #ead2b88f}.contact .btn-primary:hover{background:linear-gradient(120deg,#b78258,#855b3d)}.contact .btn-ghost{background:#ffffff09;border-color:#a98b7270;box-shadow:inset 0 1px 0 #ffffff12;color:#efe1d4}.contact .btn-ghost:hover{background:#ffffff12;color:#fff}.contact .mono{font-size:10px;color:#ca9f7d}.contact .direct{font-size:13px;color:#c2b3a6}.contact .direct a{color:#e4c9af}footer{background:#1c1917;color:#c3b2a4;border-color:#9f76512e;font-size:11px;align-items:center;padding-block:24px}footer .mono{font-size:8px;max-width:60ch}.petal-toggle{font:11px var(--body);background:transparent;color:#ceb8a5;border:1px solid #a8815e66;border-radius:5px;padding:7px 11px;cursor:pointer}
.petals{position:fixed;inset:0;z-index:15;pointer-events:none;overflow:hidden;contain:strict}.petal{position:absolute;top:-30px;width:var(--size);height:calc(var(--size)*1.45);left:var(--left);border-radius:85% 10% 75% 20%;background:radial-gradient(ellipse at 25% 25%,#ffe8f0,#efb2c6 65%,#de8dab);box-shadow:inset 1px 1px 2px #ffffffb3;opacity:var(--alpha);animation:petal-fall var(--duration) var(--delay) linear infinite}.petals.paused .petal{animation-play-state:paused}@keyframes petal-fall{0%{transform:translate3d(0,-8vh,0) rotate(0deg) rotateY(25deg)}25%{transform:translate3d(40px,25vh,0) rotate(110deg) rotateY(150deg)}50%{transform:translate3d(-20px,53vh,0) rotate(210deg) rotateY(290deg)}75%{transform:translate3d(30px,81vh,0) rotate(320deg) rotateY(140deg)}100%{transform:translate3d(-30px,112vh,0) rotate(410deg) rotateY(30deg)}}
dialog{border:0;padding:0;max-width:none;max-height:none;background:transparent;color:var(--ink);margin:auto;width:min(1180px,92vw);overflow:visible}dialog::backdrop{background:#27221e75;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.project-window,.review-window{background:#fffcf9;border:1px solid #d9c8b9;border-radius:12px;box-shadow:0 35px 120px #100b075c;max-height:89dvh;overflow:auto}.dialog-top{display:flex;align-items:center;gap:16px;position:sticky;top:0;background:#f8f4f0ed;backdrop-filter:blur(20px);z-index:3;border-bottom:1px solid #dfd3c9;padding:11px 20px;min-height:52px}.window-dots{display:flex;gap:6px}.dialog-top>span:nth-child(2){font:9px var(--mono);color:#8b6c55;letter-spacing:.1em;margin:auto}.dialog-close{margin-inline-start:auto;width:34px;height:32px;border:1px solid #d4c5b7;border-radius:5px;background:#ffffff85;font:24px/1 var(--body);color:#79563e;cursor:pointer}.dialog-close:hover{background:#eadace}.project-details{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 36px 24px}.project-details h2{font:500 38px var(--disp);margin-bottom:10px}.project-details p:not(.eyebrow){font-size:14px;color:#7b7068;max-width:63ch}.project-details .eyebrow{font-size:9px;margin-bottom:8px}.project-tabs{display:flex;gap:8px;padding:0 36px 22px}.project-tabs:empty{display:none}.project-tabs button{padding:8px 16px;background:#ffffffad;border:1px solid #d5c7bb;border-radius:5px;font:12px var(--body);color:#795e49;cursor:pointer}.project-tabs button[aria-pressed=true]{background:#26211d;color:#fff4ea}.project-preview{padding:0 24px 24px}.project-preview img{width:100%;height:auto;border:1px solid #e0d6cd;border-radius:4px;background:#eee7df}.review-window{padding:0 30px 30px}.review-window .dialog-top{margin-inline:-30px}.review-window h2{font:500 32px/1.2 var(--disp);margin:28px 0}#review-dialog{width:min(600px,92vw)}#review-form{display:grid;gap:18px}#review-form label:not(.consent){display:grid;gap:6px;font-size:12px;color:#65564b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;padding:11px 12px;background:#fff;border:1px solid #cfc1b6;border-radius:6px;color:var(--ink);font:15px var(--body)}textarea{resize:vertical}.rating{border:0}.rating legend{font-size:12px;margin-bottom:8px;color:#65564b}.rating>div{display:flex;gap:8px}.rating label{position:relative}.rating input{position:absolute;opacity:0}.rating label>span:not(.sr-only){padding:8px 12px;display:block;border:1px solid #d6c6b7;border-radius:5px;background:#fff;color:#92623e;cursor:pointer}.rating input:checked+span{background:#2b2520;color:#f5cfac;border-color:#8e694b}.rating input:focus-visible+span{outline:2px solid var(--copper);outline-offset:3px}.consent{display:flex;gap:10px;align-items:start;font-size:11px;color:#7c6d61;line-height:1.6}.consent input{margin-top:3px;accent-color:var(--copper);flex-shrink:0}#review-status{font-size:13px;color:#8b5130}#review-status:empty{display:none}.review-window .btn{justify-content:center}
@media(min-width:1700px){.hero-grid,.project-grid,.section-intro{max-width:1600px;margin-inline:auto}}
@media(max-width:1050px){nav.main{gap:16px}nav.main a{font-size:12px}.header-in{gap:12px}.project-grid{gap:15px}.project-caption{padding:18px 14px}.project-open{display:none}.project-caption small{font-size:7px}.hero h1{font-size:clamp(45px,6vw,76px)}.hero-grid{gap:25px}.avatar-visual{min-height:500px}}
@media(max-width:820px){.header-in{padding-block:14px}.logo-img{height:34px}.logo{font-size:22px}.menu-toggle{display:flex;gap:8px;align-items:center;margin-inline-start:auto;border:1px solid #dacec3;border-radius:6px;background:#ffffff80;padding:8px 10px;font:11px var(--body);color:#574537}.lang button{font-size:10px;padding:5px 7px}nav.main{display:none;position:absolute;inset-inline:var(--pad);top:calc(100% + 8px);background:#ffffffed;backdrop-filter:blur(22px);border:1px solid #dfd1c5;border-radius:8px;padding:12px;box-shadow:0 12px 36px #5c3c2020}nav.main.is-open{display:grid;grid-template-columns:1fr 1fr;gap:4px}nav.main a{font-size:14px;padding:10px}nav.main a:after{display:none}.hero-grid{grid-template-columns:1fr}.hero h1{max-width:16ch;font-size:clamp(42px,8vw,65px)}.hero .kicker{font-size:9px;line-height:1.9}.hero p.lead{font-size:16px}.hero .meta{font-size:11px;gap:14px}.avatar-visual{min-height:0;height:340px}.hero{padding-top:40px;padding-bottom:30px}.projects-section,#services,#process,#work,#world{padding-block:50px}.section-intro{display:block;margin-bottom:28px}.section-note{margin-top:18px;max-width:none}.project-grid{grid-template-columns:1fr;gap:26px}.project-image{aspect-ratio:1.9}.project-open{display:block}.project-caption strong{font-size:25px}.project-caption small{font-size:8px}.project-caption{padding:22px}.section-intro h2,.reviews-heading h2{font-size:37px}.svc-btn{grid-template-columns:40px 1fr 30px;padding-block:22px;gap:10px}.svc-btn .name{font-size:22px}.svc-body-in{display:block}.svc-body-in .code-col{display:none}.svc-body-in p{font-size:14px}.steps{gap:5px}.step{padding:10px 0 16px;border:0}.step .num{font-size:32px}.reviews-section{grid-template-columns:1fr;gap:32px;padding-block:50px}.review-invite{padding:28px}.world-txt h3{font-size:32px}.contact-in{padding-block:65px}.contact h2{font-size:48px}.contact:after{font-size:320px;right:-15%;top:10%}.contact .cta-row{gap:12px}.contact .btn{font-size:12px;padding-inline:20px}footer{gap:16px}.petal:nth-child(n+7){display:none}.project-details{padding:24px;display:block}.project-details h2{font-size:30px}.project-details .btn{margin-top:18px}.project-tabs{padding:0 24px 20px}.project-preview{padding:0 12px 12px}.dialog-top{padding-inline:12px}.review-window{padding-inline:22px}.review-window .dialog-top{margin-inline:-22px}.form-grid{grid-template-columns:1fr}.review-window h2{font-size:28px}.review-window{max-height:90dvh}.rating label>span:not(.sr-only){padding:8px 10px}}
@media(max-width:360px){.header-in{gap:8px}.logo{gap:6px}.logo-img{height:29px}.logo{font-size:19px}.menu-toggle{padding:7px}.lang button{padding:5px}.hero h1{font-size:40px}.btn{padding-inline:18px;font-size:13px}.rating>div{gap:5px}}
@media(prefers-reduced-motion:reduce){.petals{display:none}.petal-toggle{display:none}.project-card:hover,.project-card:hover img{transform:none}}
