:root{--bg: #d6cdbf;--bg-2: #cfc5b5;--bg-3: #1c1812;--bg-4: #2a241b;--ink: #1c1812;--ink-soft: #4a3f31;--ink-mute: #7a6a55;--gold: #a1825a;--gold-2: #c4a075;--maroon: #5d1518;--maroon-2: #7a2025;--line: rgba(28, 24, 18, .18);--line-soft: rgba(28, 24, 18, .08);--cream: #d6cdbf;--cream-mute: rgba(214, 205, 191, .7);--cream-line: rgba(214, 205, 191, .12);--serif: "Cormorant Garamond", "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.7, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}body{overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{background:none;border:none;font:inherit;color:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--cream)}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .8s var(--ease),visibility .8s var(--ease)}.loader.is-done{opacity:0;visibility:hidden}.loader__inner{text-align:center;width:280px}.loader__mark{width:128px;height:128px;margin:0 auto 32px;display:block;background-color:var(--maroon);-webkit-mask:url(/images/logo.webp) center / contain no-repeat;mask:url(/images/logo.webp) center / contain no-repeat}.loader__bar{height:1px;background:var(--line);position:relative;overflow:hidden}.loader__bar span{position:absolute;top:0;right:100%;bottom:0;left:0;background:var(--ink);transition:right .2s linear}.loader__label{margin-top:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}.cursor{position:fixed;top:0;left:0;z-index:999;pointer-events:none;mix-blend-mode:difference}.cursor__dot{position:fixed;width:6px;height:6px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);transition:width .25s var(--ease-out),height .25s var(--ease-out),opacity .25s var(--ease-out)}.cursor__ring{position:fixed;width:36px;height:36px;border:1px solid rgba(255,255,255,.6);border-radius:50%;transform:translate(-50%,-50%);transition:width .4s var(--ease-out),height .4s var(--ease-out),opacity .4s var(--ease-out),border-color .4s var(--ease-out)}.cursor.is-hover .cursor__dot{width:0;height:0;opacity:0}.cursor.is-hover .cursor__ring{width:64px;height:64px;border-color:#fff}@media (hover: none),(pointer: coarse){.cursor{display:none}body{cursor:auto}}@media (hover: hover) and (pointer: fine){body,a,button{cursor:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,56px);transition:background .5s var(--ease),color .5s var(--ease),padding .4s var(--ease),border-color .5s var(--ease);border-bottom:1px solid transparent}.nav.is-scrolled{background:#efe7d9d9;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line-soft);padding:14px clamp(20px,4vw,56px)}.nav.is-dark{color:var(--cream)}.nav.is-dark.is-scrolled{background:#1c1812c7;border-bottom-color:var(--cream-line)}.nav__brand{display:flex;align-items:center;gap:14px}.nav__brand-mark{width:46px;height:46px;flex-shrink:0;display:block;background-color:var(--maroon);-webkit-mask:url(/images/logo.webp) center / contain no-repeat;mask:url(/images/logo.webp) center / contain no-repeat;transition:transform .5s var(--ease-out),background-color .5s var(--ease)}.nav.is-dark .nav__brand-mark{background-color:var(--cream)}.nav__brand:hover .nav__brand-mark{transform:rotate(-4deg)}.nav__brand-name{font-size:11px;letter-spacing:.32em;text-transform:uppercase}.nav__links{display:flex;gap:clamp(20px,2.6vw,40px);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.nav__links a{position:relative;padding:6px 0;transition:opacity .3s var(--ease)}.nav__links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .4s var(--ease-out)}.nav__links a:hover:after{right:0}.nav__links a.is-active{color:var(--gold-2)}.nav__links a.is-active:after{right:0}.nav__cta{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid currentColor;border-radius:999px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;transition:background .4s var(--ease),color .4s var(--ease)}.nav.is-dark .nav__cta:hover{background:var(--cream);color:var(--bg-3)}.nav:not(.is-dark) .nav__cta:hover{background:var(--ink);color:var(--cream)}.nav__lang{display:inline-flex;align-items:center;gap:8px;padding:4px 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase}.nav__lang-btn{background:transparent;border:0;padding:4px 2px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:currentColor;opacity:.45;cursor:pointer;transition:opacity .3s var(--ease)}.nav__lang-btn:hover{opacity:.85}.nav__lang-btn.is-active{opacity:1}.nav__lang-sep{width:1px;height:12px;background:currentColor;opacity:.35}.nav__burger{display:none;width:32px;height:24px;position:relative}.nav__burger span{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease),opacity .3s var(--ease)}.nav__burger span:nth-child(1){top:8px}.nav__burger span:nth-child(2){top:16px}.nav__burger.is-open span:nth-child(1){top:12px;transform:rotate(45deg)}.nav__burger.is-open span:nth-child(2){top:12px;transform:rotate(-45deg)}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg-3);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-family:var(--serif);font-size:36px;letter-spacing:.02em;transform:translateY(-100%);transition:transform .6s var(--ease)}.drawer.is-open{transform:translateY(0)}.drawer a{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.drawer.is-open a{opacity:1;transform:translateY(0);transition-delay:calc(.1s + var(--i, 0) * .06s)}.drawer__lang{margin-top:24px;display:inline-flex;align-items:center;gap:18px;font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.drawer.is-open .drawer__lang{opacity:1;transform:translateY(0);transition-delay:.55s}.drawer__lang-btn{background:transparent;border:0;padding:6px 2px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:currentColor;opacity:.5;cursor:pointer;transition:opacity .3s var(--ease)}.drawer__lang-btn:hover{opacity:.85}.drawer__lang-btn.is-active{opacity:1}.drawer__lang-sep{width:1px;height:12px;background:currentColor;opacity:.4}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:18px 28px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;border-radius:999px;transition:background .5s var(--ease),color .5s var(--ease),transform .4s var(--ease-out);white-space:nowrap}.btn svg{transition:transform .5s var(--ease-out)}.btn:hover svg{transform:translate(4px)}.btn--primary{background:var(--ink);color:var(--cream)}.btn--primary:hover{background:var(--bg-4)}.btn--ghost{background:transparent;border:1px solid var(--ink);color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--cream)}.btn--block{width:100%}.hero{position:relative;min-height:100vh;background:var(--bg-3);color:var(--cream);padding:clamp(120px,14vh,180px) clamp(20px,4vw,56px) 80px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.hero__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;opacity:.9}.hero__overline,.hero__content,.hero__meta,.hero__scroll{position:relative;z-index:2}.hero__overline{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-mute)}.hero__overline .dot{width:3px;height:3px;border-radius:50%;background:currentColor}.hero__content{align-self:end;max-width:1200px}.hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,10vw,168px);line-height:.94;letter-spacing:-.02em;margin-bottom:40px}.hero__title .line{display:block;overflow:hidden}.hero__title .word{display:inline-block;transform:translateY(105%);animation:rise 1.1s var(--ease-out) forwards}.hero__title .line:nth-child(1) .word{animation-delay:.5s}.hero__title .line:nth-child(2) .word:nth-child(1){animation-delay:.7s}.hero__title .line:nth-child(2) .word:nth-child(2){animation-delay:.85s}.hero__title .italic{font-style:italic;color:var(--gold-2)}@keyframes rise{to{transform:translateY(0)}}.hero__lede{max-width:480px;font-size:clamp(15px,1.1vw,17px);line-height:1.6;color:var(--cream-mute);opacity:0;animation:fadeIn 1.2s var(--ease-out) 1.2s forwards}@keyframes fadeIn{to{opacity:1}}.hero__actions{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px;opacity:0;animation:fadeIn 1.2s var(--ease-out) 1.4s forwards}.hero__actions .btn--primary{background:var(--cream);color:var(--bg-3)}.hero__actions .btn--primary:hover{background:var(--gold-2);color:var(--bg-3)}.hero__actions .btn--ghost{border-color:#efe7d959;color:var(--cream)}.hero__actions .btn--ghost:hover{background:var(--cream);color:var(--bg-3)}.hero__meta{margin-top:80px;display:flex;gap:clamp(40px,6vw,80px);border-top:1px solid var(--cream-line);padding-top:32px;opacity:0;animation:fadeIn 1.2s var(--ease-out) 1.6s forwards}.hero__meta-item{display:flex;align-items:baseline;gap:12px}.hero__meta-item .num{font-family:var(--serif);font-size:32px;line-height:1}.hero__meta-item .lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-mute);line-height:1.4}.hero__scroll{position:absolute;right:clamp(20px,4vw,56px);bottom:40px;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-mute);z-index:3;opacity:0;animation:fadeIn 1.2s var(--ease-out) 1.8s forwards}.hero__scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(239,231,217,.6) 40%,transparent);background-size:100% 200%;background-position:0 0;animation:drip 2.4s var(--ease) infinite}@keyframes drip{to{background-position:0 -200%}}.hero__measures{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.hero__measures.measures--animate{opacity:0;animation:fadeIn 1.2s var(--ease-out) 2s forwards}@media (prefers-reduced-motion: reduce){.hero__measures.measures--animate{opacity:1;animation:none}}.measures__ruler{position:absolute;background:#1c18128c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none}.measures__ruler--x{top:0;left:0;right:0;height:28px;border-bottom:1px solid var(--cream-line)}.measures__ruler--y{top:0;left:0;bottom:0;width:28px;border-right:1px solid var(--cream-line)}.measures__tick{position:absolute;bottom:0;width:1px;height:6px;background:#d6cdbf59;transform:translate(-50%)}.measures__tick--vertical{left:0;top:auto;bottom:auto;width:6px;height:1px;transform:translateY(-50%)}.measures__tick--label{height:auto;width:auto;background:none;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-mute);font-family:var(--sans);line-height:1;transform:translate(-50%);bottom:8px}.measures__tick--vertical.measures__tick--label{transform:translateY(-50%);left:8px;bottom:auto}.measures__highlight{position:absolute;font-size:9px;letter-spacing:.08em;font-family:var(--sans);font-weight:500;padding:2px 5px;border-radius:2px;line-height:1;transform:translate(-50%);pointer-events:none;opacity:.85}.measures__highlight--x{bottom:4px}.measures__highlight--y{left:4px;transform:translateY(-50%)}.measures__highlight--gold{background:var(--gold-2);color:var(--bg-3)}.measures__highlight--maroon{background:var(--maroon-2);color:var(--cream)}.measures__highlight--cream{background:#d6cdbf40;color:var(--cream)}.measures__highlight.is-active{opacity:1;box-shadow:0 0 0 1px #ffffff26}.measures__guides,.measures__pins,.measures__add-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.measures__guide{position:absolute;pointer-events:none}.measures__guide--vertical{top:28px;bottom:0;width:0;transform:translate(-.5px)}.measures__guide--horizontal{left:28px;right:0;height:0;transform:translateY(-.5px)}.measures__guide-line{position:absolute;background:currentColor}.measures__guide--vertical .measures__guide-line{top:0;bottom:0;left:0;width:1px}.measures__guide--horizontal .measures__guide-line{left:0;right:0;top:0;height:1px}.measures__guide--dashed .measures__guide-line{background:none;border-left:1px dashed currentColor}.measures__guide--horizontal.measures__guide--dashed .measures__guide-line{border-left:none;border-top:1px dashed currentColor}.measures__guide--gold{color:var(--gold-2)}.measures__guide--maroon{color:var(--maroon-2)}.measures__guide--cream{color:#d6cdbf73}.measures__guide-handle,.measures__guide-delete,.measures__pin-btn,.measures__add{pointer-events:auto;cursor:none}.measures__guide-handle{position:absolute;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(214,205,191,.25);border-radius:3px;background:#1c1812bf;color:var(--cream);transform:translate(-50%,-50%);transition:background .2s var(--ease),border-color .2s var(--ease)}.measures__guide--vertical .measures__guide-handle{top:48px;left:0}.measures__guide--horizontal .measures__guide-handle{left:48px;top:0}.measures__guide-handle:hover{background:#1c1812eb;border-color:var(--gold-2)}.measures__guide-delete{position:absolute;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(214,205,191,.2);border-radius:3px;background:#1c1812b3;color:var(--cream-mute);transform:translate(-50%,-50%);transition:color .2s var(--ease),border-color .2s var(--ease)}.measures__guide--vertical .measures__guide-delete{top:16px;left:0}.measures__guide--horizontal .measures__guide-delete{left:16px;top:0}.measures__guide-delete:hover{color:var(--maroon-2);border-color:var(--maroon-2)}.measures__pin{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.measures__pin-btn{position:relative;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid rgba(214,205,191,.35);border-radius:3px;background:#1c1812d1;color:var(--cream);transition:border-color .2s var(--ease),background .2s var(--ease)}.measures__pin-btn:hover,.measures__pin-btn:focus-visible{border-color:var(--gold-2);background:#1c1812f2}.measures__pin-label{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);padding:6px 10px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;background:var(--bg-3);color:var(--cream);border:1px solid var(--cream-line);border-radius:2px;opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility .2s var(--ease);pointer-events:none}.measures__pin-btn:hover .measures__pin-label,.measures__pin-btn:focus-visible .measures__pin-label{opacity:1;visibility:visible}.measures__add{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid rgba(214,205,191,.3);border-radius:2px;background:#1c1812bf;color:var(--cream-mute);transform:translate(-50%,-50%);transition:color .2s var(--ease),border-color .2s var(--ease)}.measures__add:hover{color:var(--gold-2);border-color:var(--gold-2)}@media (max-width: 640px){.measures__ruler,.measures__guide-delete,.measures__add-layer{display:none}.measures__guide-handle{width:32px;height:32px}}.marquee{background:var(--bg-3);color:var(--cream);padding:22px 0;border-top:1px solid var(--cream-line);overflow:hidden}.marquee__track{display:flex;align-items:center;gap:56px;white-space:nowrap;animation:scroll 38s linear infinite}.marquee__track span{font-family:var(--serif);font-style:italic;font-size:clamp(28px,4vw,56px);letter-spacing:.01em}.marquee__track i{display:inline-block;width:8px;height:8px;background:var(--gold);border-radius:50%}@keyframes scroll{to{transform:translate(-50%)}}.philosophy,.projects,.services,.journal,.contact{padding:clamp(80px,12vh,140px) clamp(20px,4vw,56px)}.philosophy__label,.projects__label,.services__label,.journal__label,.contact__label{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:60px}.rule{display:block;width:48px;height:1px;background:currentColor}.philosophy__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:start}.portrait{margin:0;position:relative}.portrait__frame{position:relative;background:var(--bg-2);padding:14px;overflow:hidden}.portrait__frame img{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block;filter:contrast(1.02) saturate(.95);transition:transform 1.6s var(--ease-out)}.portrait:hover .portrait__frame img{transform:scale(1.025)}.portrait__corner{position:absolute;width:14px;height:14px;pointer-events:none}.portrait__corner:before,.portrait__corner:after{content:"";position:absolute;background:var(--ink)}.portrait__corner:before{width:100%;height:1px}.portrait__corner:after{width:1px;height:100%}.portrait__corner--tl{top:4px;left:4px}.portrait__corner--tl:before{top:0;left:0}.portrait__corner--tl:after{top:0;left:0}.portrait__corner--tr{top:4px;right:4px}.portrait__corner--tr:before{top:0;right:0}.portrait__corner--tr:after{top:0;right:0}.portrait__corner--bl{bottom:4px;left:4px}.portrait__corner--bl:before{bottom:0;left:0}.portrait__corner--bl:after{bottom:0;left:0}.portrait__corner--br{bottom:4px;right:4px}.portrait__corner--br:before{bottom:0;right:0}.portrait__corner--br:after{bottom:0;right:0}.portrait__caption{margin-top:16px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute)}.portrait__line{display:block;width:24px;height:1px;background:currentColor}.philosophy__content{display:flex;flex-direction:column;gap:36px}.philosophy__headline{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.6vw,72px);line-height:1.06;letter-spacing:-.015em;max-width:12ch}.philosophy__headline em{font-style:italic;color:var(--maroon)}.philosophy__body{font-size:16px;color:var(--ink-soft);line-height:1.7}.philosophy__body p+p{margin-top:18px}.signature{margin-top:36px;padding-top:18px;border-top:1px solid var(--line)}.signature__name{font-family:var(--serif);font-size:26px;font-style:italic}.signature__title{margin-top:6px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute)}.philosophy__pillars{margin-top:100px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pillar{background:var(--bg);padding:32px 28px;display:flex;flex-direction:column;gap:12px}.pillar__num{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--maroon)}.pillar h3{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.005em}.pillar p{font-size:14px;color:var(--ink-soft);line-height:1.6}.projects{background:var(--bg-3);color:var(--cream)}.projects__label{color:var(--cream-mute)}.projects__layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(40px,6vw,88px);align-items:center;margin-top:48px}.projects__copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,72px);line-height:1.02;letter-spacing:-.015em;max-width:12ch;margin-bottom:24px}.projects__copy em{font-style:italic;color:var(--gold-2)}.projects__lede{font-size:clamp(15px,1.1vw,17px);line-height:1.65;color:var(--cream-mute);max-width:44ch;margin-bottom:28px}.projects__meta-line{display:flex;flex-wrap:wrap;gap:16px 28px;margin-bottom:32px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-mute)}.projects__meta-count{display:flex;align-items:baseline;gap:8px}.projects__meta-count span:first-child{font-family:var(--serif);font-size:28px;color:var(--gold-2);letter-spacing:0}.projects__meta-tools{color:var(--gold-2)}.projects__cta-btn{background:var(--cream);color:var(--bg-3)}.projects__cta-btn:hover{background:var(--gold-2);color:var(--bg-3)}.projects__visual{position:relative;min-height:clamp(360px,42vw,520px)}.projects__plan{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.55}.projects__plan-line{fill:none;stroke:var(--gold-2);stroke-width:1;stroke-dasharray:600;stroke-dashoffset:600}.projects__plan-dot{fill:var(--gold-2);opacity:0}.projects.is-in-view .projects__plan-line{animation:drawPlan 2.2s var(--ease-out) forwards;animation-delay:calc(var(--d, 0) * .12s)}.projects.is-in-view .projects__plan-dot{animation:fadeIn .6s var(--ease-out) forwards;animation-delay:calc(.8s + var(--d, 0) * .1s)}@keyframes drawPlan{to{stroke-dashoffset:0}}.projects__swatches{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:2}.projects__swatches span{width:22px;height:22px;border-radius:2px;background:var(--c);border:1px solid rgba(214,205,191,.25);opacity:0;transform:translateY(8px)}.projects.is-in-view .projects__swatches span{animation:swatchIn .7s var(--ease-out) forwards;animation-delay:calc(.4s + var(--i) * .1s)}@keyframes swatchIn{to{opacity:1;transform:translateY(0)}}.projects__stack{position:absolute;left:50%;top:54%;width:min(78%,420px);transform:translate(-50%,-50%);aspect-ratio:3 / 2;z-index:1}.projects__card{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;border-radius:2px;border:1px solid var(--cream-line);background:#15110b;transition:transform .7s var(--ease-out),opacity .7s var(--ease-out),box-shadow .7s var(--ease-out);text-decoration:none;color:var(--cream)}.projects__card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease-out)}.projects__card-caption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(180deg,transparent,rgba(28,24,18,.88));opacity:0;transform:translateY(6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.projects__card-num{font-family:var(--serif);font-size:18px;margin-right:10px;color:var(--gold-2)}.projects__card.is-front{transform:translate(0) rotate(0);z-index:3;box-shadow:0 24px 60px #00000073}.projects__card.is-mid{transform:translate(18px,14px) rotate(2deg);z-index:2;opacity:.82}.projects__card.is-back{transform:translate(36px,28px) rotate(4deg);z-index:1;opacity:.55}.projects__card.is-hidden{opacity:0;pointer-events:none;transform:translateY(20px) scale(.96);z-index:0}.projects__card.is-front:hover img{transform:scale(1.04)}.projects__card.is-front:hover .projects__card-caption{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.projects.is-in-view .projects__plan-line,.projects.is-in-view .projects__plan-dot,.projects.is-in-view .projects__swatches span{animation:none;stroke-dashoffset:0;opacity:1}}.projects__more{margin-top:clamp(48px,6vw,72px);font-size:14px;line-height:1.7;color:var(--cream-mute);max-width:78ch}.projects__more a{color:var(--gold-2);border-bottom:1px solid currentColor;padding-bottom:1px;margin-left:4px;transition:color .4s var(--ease)}.projects__more a:hover{color:var(--cream)}.gallery{position:relative;width:100%;height:75vh;min-height:540px;background:linear-gradient(180deg,#221d15,#15110b);border-radius:2px;overflow:hidden;-webkit-user-select:none;user-select:none}.gallery__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:grab;touch-action:none}.gallery__canvas:active{cursor:grabbing}.gallery__overlay{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,3vw,40px) clamp(20px,3vw,40px);display:flex;justify-content:space-between;align-items:end;gap:24px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55) 80%)}.gallery__meta{display:flex;align-items:end;gap:32px;pointer-events:auto}.gallery__index{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px;color:var(--cream-mute)}.gallery__index #gallery-current{font-size:56px;line-height:1;color:var(--cream);min-width:1.6ch;display:inline-block}.gallery__index .sep{display:block;width:36px;height:1px;background:var(--cream-mute);margin-bottom:8px}.gallery__info{max-width:36ch;transition:opacity .3s var(--ease)}.gallery__info.is-fade{opacity:0}.gallery__category{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-2);margin-bottom:10px}.gallery__title{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.8vw,38px);line-height:1.1;letter-spacing:-.005em}.gallery__detail{margin-top:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-mute)}.gallery__controls{display:flex;gap:10px;pointer-events:auto}.gallery__btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--cream-line);color:var(--cream);display:flex;align-items:center;justify-content:center;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}.gallery__btn:hover{background:var(--cream);color:var(--bg-3);border-color:var(--cream)}.gallery-page-body{background:var(--bg-3)}.gallery-page{background:var(--bg-3);color:var(--cream)}.gallery-page__hero{min-height:100vh;padding:clamp(110px,12vh,150px) clamp(20px,4vw,56px) 48px}.gallery-page__intro{max-width:760px;margin-bottom:40px}.gallery-page__back{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:28px;transition:color .3s var(--ease)}.gallery-page__back:hover{color:var(--gold-2)}.gallery-page__label{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-mute);margin-bottom:20px}.gallery-page__title{font-family:var(--serif);font-weight:400;font-size:clamp(42px,7vw,96px);line-height:.98;letter-spacing:-.02em;margin-bottom:20px}.gallery-page__title em{font-style:italic;color:var(--gold-2)}.gallery-page__lede{max-width:52ch;font-size:clamp(15px,1.1vw,17px);line-height:1.65;color:var(--cream-mute)}.gallery--full{height:min(72vh,760px);min-height:420px}.gallery-page__filmstrip{display:flex;gap:12px;margin-top:20px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:rgba(214,205,191,.35) transparent}.gallery-page__thumb{position:relative;flex:0 0 auto;width:120px;padding:0;border:1px solid var(--cream-line);border-radius:2px;background:#1c181299;overflow:hidden;cursor:none;transition:border-color .3s var(--ease),transform .3s var(--ease)}.gallery-page__thumb img{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block;opacity:.72;transition:opacity .3s var(--ease),transform .5s var(--ease-out)}.gallery-page__thumb-num{position:absolute;left:8px;bottom:8px;font-size:10px;letter-spacing:.18em;color:var(--cream);background:#1c1812b8;padding:4px 6px}.gallery-page__thumb:hover,.gallery-page__thumb.is-active{border-color:var(--gold-2);transform:translateY(-3px)}.gallery-page__thumb.is-active img,.gallery-page__thumb:hover img{opacity:1;transform:scale(1.04)}.gallery-page__scroll-hint{display:flex;flex-direction:column;align-items:center;gap:12px;margin:36px auto 0;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-mute);cursor:none;transition:color .3s var(--ease)}.gallery-page__scroll-hint:hover{color:var(--gold-2)}.gallery-page__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,transparent,rgba(214,205,191,.55) 40%,transparent);background-size:100% 200%;animation:drip 2.4s var(--ease) infinite}.gallery-page__details{padding:clamp(48px,8vw,120px) clamp(20px,4vw,56px);display:flex;flex-direction:column;gap:clamp(80px,12vw,160px)}.render-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,5vw,72px);align-items:center;scroll-margin-top:100px}.render-detail.is-active .render-detail__media{box-shadow:0 0 0 1px #c4a07559}.render-detail__media{position:relative;overflow:hidden;border-radius:2px;background:#15110b;transition:box-shadow .5s var(--ease)}.render-detail__media img{width:100%;display:block;aspect-ratio:16 / 10;object-fit:cover}.render-detail__frame{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(214,205,191,.18);pointer-events:none}.render-detail__meta{display:flex;align-items:center;gap:16px;margin-bottom:16px}.render-detail__num{font-family:var(--serif);font-size:28px;line-height:1;color:var(--gold-2)}.render-detail__cat{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-mute)}.render-detail__title{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,56px);line-height:1.02;letter-spacing:-.015em;margin-bottom:20px}.render-detail__desc{font-size:16px;line-height:1.7;color:var(--cream-mute);max-width:44ch;margin-bottom:24px}.render-detail__tools{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-bottom:28px}.render-detail__view-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(214,205,191,.35);border-radius:999px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);transition:background .35s var(--ease),border-color .35s var(--ease)}.render-detail__view-btn:hover{background:var(--cream);color:var(--bg-3);border-color:var(--cream)}.gallery-page__footer{padding:32px clamp(20px,4vw,56px) 48px;border-top:1px solid var(--cream-line)}.gallery-page__footer .footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.gallery-page__footer a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2)}.services__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,8vw,120px);align-items:start}.services__intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,68px);line-height:1.06;letter-spacing:-.015em;max-width:12ch}.services__intro em{font-style:italic;color:var(--maroon)}.services__intro p{margin-top:24px;font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:44ch}.services__list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{list-style:none;display:grid;grid-template-columns:60px 1fr 24px;gap:24px;align-items:center;padding:28px 0;cursor:pointer;transition:color .4s var(--ease)}.service summary::-webkit-details-marker{display:none}.service__num{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-mute)}.service__name{font-family:var(--serif);font-size:clamp(22px,2.2vw,32px);letter-spacing:-.005em}.service__plus{position:relative;width:18px;height:18px}.service__plus:before,.service__plus:after{content:"";position:absolute;background:var(--ink);transition:transform .4s var(--ease)}.service__plus:before{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.service__plus:after{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.service[open] .service__plus:after{transform:translate(-50%) scaleY(0)}.service__body{padding:0 84px 32px;color:var(--ink-soft);line-height:1.7;font-size:15px;max-width:60ch}.service:hover summary{color:var(--maroon)}.journal{background:var(--bg-2)}.journal__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.press{background:var(--bg-2);padding:36px 28px;display:flex;flex-direction:column;gap:16px;min-height:220px;transition:background .5s var(--ease)}.press:hover{background:var(--bg)}.press__source{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute)}.press__title{font-family:var(--serif);font-size:22px;line-height:1.25;letter-spacing:-.005em;flex:1;display:flex;flex-direction:column;gap:6px}.press__role{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--maroon);line-height:1.4}.press__date{font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-soft);line-height:1.55}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:start}.contact__lead h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,84px);line-height:1.02;letter-spacing:-.015em}.contact__lead em{font-style:italic;color:var(--maroon)}.contact__lead p{margin-top:24px;font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:40ch}.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1 / -1}.field label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute)}.field input,.field textarea,.field select{background:transparent;border:none;border-bottom:1px solid var(--ink-soft);padding:8px 0 12px;font-size:16px;outline:none;transition:border-color .4s var(--ease);border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field textarea{resize:vertical;font-family:inherit}.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--ink)}.contact__form .btn{grid-column:1 / -1}.contact__notice{grid-column:1 / -1;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);min-height:1em}.contact__details{margin-top:100px;padding-top:32px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.contact__detail-label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px}.contact__details a:hover{color:var(--maroon)}.footer{background:var(--bg-3);color:var(--cream);padding:80px clamp(20px,4vw,56px) 28px}.footer__top{border-bottom:1px solid var(--cream-line);padding-bottom:40px;margin-bottom:28px}.footer__brand{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.footer__logo{width:168px;height:168px;display:block;background-color:var(--cream);-webkit-mask:url(/images/logo.webp) center / contain no-repeat;mask:url(/images/logo.webp) center / contain no-repeat;transition:background-color .5s var(--ease),transform .6s var(--ease-out)}.footer__brand:hover .footer__logo{background-color:var(--gold-2);transform:rotate(-3deg)}.footer__wordmark{font-family:var(--serif);font-weight:400;font-size:clamp(40px,7vw,96px);line-height:1;letter-spacing:.04em;text-align:center;color:var(--cream)}.footer__tagline{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-mute);max-width:60ch}.footer__ig{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--cream-line);border-radius:999px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);margin-top:4px}.footer__ig:hover{background:var(--cream);color:var(--bg-3);border-color:var(--cream)}.footer__bottom{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-mute);flex-wrap:wrap;gap:12px}.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}.reveal.is-in{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.nav__links,.nav__cta,.nav__lang{display:none}.nav__burger{display:block}.philosophy__grid,.services__grid,.contact__grid{grid-template-columns:1fr;gap:48px}.portrait{max-width:420px}.philosophy__pillars,.journal__row,.contact__details{grid-template-columns:repeat(2,1fr)}.projects__layout{grid-template-columns:1fr;gap:48px}.projects__visual{min-height:320px}}@media (max-width: 640px){.hero{padding:110px 20px 60px}.hero__meta{flex-direction:column;gap:18px}.hero__meta-item{flex-direction:row;align-items:baseline}.philosophy__pillars,.journal__row,.contact__details,.contact__form{grid-template-columns:1fr}.service summary{grid-template-columns:40px 1fr 18px;gap:16px}.service__body{padding:0 56px 24px}.gallery{height:70vh}.gallery__overlay{flex-direction:column;align-items:stretch}.gallery__meta{gap:18px}.gallery__controls{justify-content:flex-end}.render-detail{grid-template-columns:1fr}.gallery-page__hero{padding-top:100px}.footer__bottom{flex-direction:column;text-align:center}}
