/* Inherited smoothing preserves the chosen type weights and layout. */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
@font-face{font-family:Arturm;src:url('../assets/fonts/GCarturm-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Arturm;src:url('../assets/fonts/GCarturm-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Arturm;src:url('../assets/fonts/GCarturm-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--black:#201E1C;--brown:#785a3c;--dark-brown:#483c30;--grey:#a5968c;--beige:#E9C79E;--orange:#FF933C;--bg:var(--black);--fg:#f4f1ed;--muted:var(--grey);--line:#ffffff1d;--gutter:8.333333vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'Helixa',Arial,sans-serif}h1,h2,h3{font-family:Arturm,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}
.site-header{position:absolute;inset:0 0 auto;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:40px 3.333333vw;gap:32px}.wordmark,.wordmark img{display:block;width:120px;height:25px}.site-nav{display:flex;gap:clamp(24px,2.5vw,40px);font:500 18px/24px Arturm,sans-serif;letter-spacing:.04em}.site-nav a{text-decoration:none;transition:color .2s}.site-nav a:hover{color:var(--orange)}
.hero{position:relative;isolation:isolate;min-height:680px;height:100svh;overflow:hidden;background:linear-gradient(180deg,#241810,#201E1C)}
.hero-copy{position:absolute;inset:0;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{margin:0;font:700 min(10vw,20svh)/1.111111 Arturm,sans-serif;letter-spacing:0}.hero h1 span{position:absolute;left:var(--gutter);top:18%;white-space:nowrap;color:transparent;background:linear-gradient(#fff 53%,var(--beige) 85%);background-clip:text;-webkit-background-clip:text}.hero h1 span:last-child{left:auto;top:auto;right:var(--gutter);bottom:10%}
.hero-details{position:absolute;left:var(--gutter);bottom:12%;width:340px;max-width:25vw;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.hero-eyebrow{margin:0;color:var(--muted);font-size:14px;font-weight:600;line-height:18px;letter-spacing:.08em}.hero-intro{margin:0;font-size:clamp(18px,1.667vw,24px);line-height:1.333333;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:20px 28px;border-radius:12px;background:var(--orange);color:#201E1C;text-decoration:none;text-transform:uppercase;font-size:14px;line-height:24px;letter-spacing:.02em;font-weight:700;transition:background .2s,transform .2s}.hero-details .button{margin-top:16px}.button img{width:18px;height:18px}.button:hover{background:#FF933C;transform:translateY(-2px)}
.hero-model{position:absolute;isolation:isolate;z-index:1;left:50%;top:22%;width:min(35vw,64svh);aspect-ratio:480/522;transform:translateX(-50%);cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.hero-model.dragging{cursor:grabbing}.hero-model:focus,.hero-model:focus-visible{outline:none}.hero-model canvas,.hero-fallback{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-fallback{object-fit:contain;padding:15%;opacity:.6;transition:opacity .3s}.hero-model.ready .hero-fallback{opacity:0;pointer-events:none}.hero-model.failed canvas{visibility:hidden}

.section-rule{margin:0 var(--gutter);padding:100px 0;border-top:1px solid var(--line)}.eyebrow{font-size:12px;line-height:18px;letter-spacing:.12em;color:var(--muted);font-weight:600;margin:0 0 32px}.about-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:8vw}.about h2,.work h2,.contact h2{font-size:clamp(40px,4.2vw,64px);font-weight:400;line-height:1.13;letter-spacing:-.025em;margin:0}.about-notes{font-size:18px;line-height:1.55}.about-notes p{margin:0 0 24px}.work-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:8vw;align-items:end;margin:30px 0 64px}.work-heading p{font-size:20px;line-height:1.5;max-width:420px;margin:0}.project-card{height:430px;border-radius:24px;background:linear-gradient(135deg,#392118,#201E1C 70%);border:1px solid #f19a4b44;padding:40px;display:flex;flex-direction:column;justify-content:space-between}.project-card span{color:var(--muted);font-size:12px;letter-spacing:.2em}.project-card h3{font-size:40px;font-weight:400;line-height:1.1;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid h3{font-size:30px;font-weight:500;margin:0 0 16px}.service-grid p{font-size:18px;line-height:1.6;color:var(--muted);margin:0}.contact{padding-bottom:120px}.contact p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:550px;margin:28px 0}.contact>a{font-size:clamp(22px,2.4vw,36px);text-underline-offset:8px;text-decoration-thickness:1px}
@media(min-width:761px) and (max-width:1100px){:root{--gutter:6vw}.hero-details{max-width:28vw;gap:20px}.hero-intro{font-size:18px}.hero-details .button{padding:16px 20px}.hero-model{width:min(42vw,62svh)}.hero-eyebrow{font-size:12px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{padding:24px;gap:24px;flex-wrap:wrap}.site-nav{gap:18px;font-size:15px}.hero{height:auto;min-height:100svh;padding:140px 24px 64px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,auto);row-gap:24px}.hero-copy,.hero h1,.hero-details{display:contents}.hero h1 span,.hero h1 span:last-child{position:static;font:700 clamp(56px,16vw,112px)/1.12 Arturm,sans-serif;z-index:2}.hero h1 span:first-child{grid-row:1}.hero h1 span:last-child{grid-row:3;justify-self:end}.hero-model{position:relative;grid-row:2;grid-column:1;inset:auto;transform:none;width:100%;max-width:480px;justify-self:center}.hero-eyebrow{grid-row:4;margin-top:16px;font-size:12px}.hero-intro{grid-row:5;font-size:20px;line-height:1.5;max-width:340px}.hero-details .button{grid-row:6;justify-self:start;margin-top:8px}.section-rule{padding:64px 0}.about-grid,.work-heading,.service-grid{grid-template-columns:1fr;gap:32px}.work-heading{margin-bottom:40px}.project-card{height:340px;padding:28px}.project-card h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.button:hover{transform:none}}

/* Approved material render, used directly for visual fidelity. */
.hero-model{cursor:default;aspect-ratio:1}
.hero-approved-image{display:block;width:100%;height:auto;transform-origin:center;user-select:none;-webkit-user-select:none}

.hero-model{cursor:grab;touch-action:none}.hero-model.dragging{cursor:grabbing}

/* Restored full-depth WebGL scene. */
.hero-model{aspect-ratio:480/522;touch-action:pan-y}

/* Rotation changes the gradient direction itself; rest remains vertical. */
.hero h1 span:first-child{background-image:linear-gradient(var(--design-angle,180deg),#fff var(--design-stop,53%),var(--beige) 90%)}
.hero h1 span:last-child{background-image:linear-gradient(var(--beyond-angle,180deg),#fff var(--beyond-stop,53%),var(--beige) 90%)}
@media(prefers-reduced-motion:reduce){.hero h1 span:first-child,.hero h1 span:last-child{background-image:linear-gradient(#fff 53%,var(--beige) 85%)}}

/* Layer the heading around the mark, with a restrained warm backlight. */
@media(min-width:761px){
 .hero-copy{z-index:auto}
 .hero h1 span:first-child{z-index:0;top:calc(26% - 4svh)}
 .hero h1 span:last-child,.hero-details{z-index:2}
 .hero-model{left:48%;top:calc(22% - 4svh)}
 .hero h1 span:last-child{bottom:calc(10% + 4svh)}
 .hero-details{bottom:calc(12% + 4svh)}
}


/* Subtle studio backdrop and diffused pool beneath the floating mark. */
/* Figma's continuous top-page charcoal gradient; WebGL lighting is unchanged. */
body{background-image:linear-gradient(180deg,#252220,#201E1C);background-size:100% 2000px;background-repeat:no-repeat}
.hero{background:transparent}
