/* ARTSAN v3 world, shared by every page. Master: alt/master/index.html (23.09.2026). */
/* ARTSAN tokens (design-system-2026-09/tokens.json). Sections set their ground with data-theme. */
@font-face{font-family:"Montserrat";src:url(fonts/Montserrat-Variable.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Marcellus";src:url(fonts/Marcellus-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@property --p{syntax:"<number>";inherits:false;initial-value:1}
:root{--bordo:#5e0b21;--bordo-deep:#470818;--tarcin:#ac8641;--tarcin-light:#c9a368;--tarcin-deep:#7a5a1e;--paper:#faf8f2;--paper-deep:#f1ece1;--white:#fff;--night:#0b0704;--night-raised:#1c1714;--ink:#171615;--blush:#e6d3d7;--stone:#5b524a;--ash:#b8afa6;
--font-display:"Marcellus","Cormorant Garamond",Georgia,serif;--font-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
--hdr:72px;--g:20px;--max:1320px;--edge:calc(max(0px,(100vw - var(--max)) / 2) + var(--g));--sec:clamp(88px,11vw,160px);--ease:cubic-bezier(.16,1,.3,1)}
@media (min-width:860px){:root{--g:48px}}
:root,[data-theme="bordo"]{--ground:var(--bordo);--ground-raised:var(--bordo-deep);--text:var(--white);--text-muted:var(--blush);--accent:var(--tarcin);--accent-text:var(--tarcin-light);--on-accent:var(--night);--line:#ac864152;--line-strong:var(--tarcin);--focus:var(--tarcin-light)}
[data-theme="paper"]{--ground:var(--paper);--ground-raised:var(--paper-deep);--text:var(--ink);--text-muted:var(--stone);--accent:var(--tarcin);--accent-text:var(--tarcin-deep);--on-accent:var(--night);--line:#ac864173;--line-strong:var(--tarcin);--focus:var(--bordo)}
[data-theme="night"]{--ground:var(--night);--ground-raised:var(--night-raised);--text:var(--paper);--text-muted:var(--ash);--accent:var(--tarcin);--accent-text:var(--tarcin);--on-accent:var(--night);--line:#ac864152;--line-strong:var(--tarcin);--focus:var(--tarcin-light)}
[data-brand="paper"][data-theme="paper"]{--accent:var(--bordo);--accent-text:var(--bordo);--on-accent:var(--white);--line:#5e0b2140;--line-strong:var(--bordo);--focus:var(--bordo)}

/* base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:var(--hdr);-webkit-text-size-adjust:100%;scrollbar-color:var(--tarcin) var(--night);accent-color:var(--tarcin);caret-color:var(--tarcin)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html.menu-open{overflow:hidden}
body{margin:0;background:var(--night);color:var(--paper);font:400 17px/1.65 var(--font-sans);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums}
[data-theme]{background:var(--ground);color:var(--text)}
::selection{background:var(--tarcin);color:var(--night)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.28em;text-decoration-thickness:1px}
p,figure,dl,dd,ol,ul,address{margin:0;font-style:normal}
ol,ul{padding:0;list-style:none}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-120px;z-index:100;padding:14px 20px;background:var(--paper);color:var(--ink);font:600 13px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{top:12px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}

/* type */
.display{font:400 clamp(3.2rem,6.4vw,6rem)/.98 var(--font-display);letter-spacing:-.015em}
.h2{font:400 clamp(2.2rem,4.4vw,4.25rem)/1.05 var(--font-display);letter-spacing:-.01em}
.h3{font:400 clamp(1.5rem,2.2vw,2rem)/1.15 var(--font-display)}
.gold{color:var(--accent-text)}
.n,.dg{font-family:var(--font-sans);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.n{font-weight:300;font-size:.92em}
.dg{font-weight:400;font-size:.8em;letter-spacing:0}
.lede{font-size:clamp(1.06rem,1.4vw,1.28rem);line-height:1.6;max-width:52ch}
.label{font:600 12.5px/1.4 var(--font-sans);letter-spacing:.16em;text-transform:uppercase}
.muted{color:var(--text-muted)}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.body-copy{max-width:68ch}
.body-copy p+p{margin-top:1em}
.note{font-size:14px;line-height:1.55;color:var(--text-muted)}
.fig{font-family:var(--font-sans);font-weight:300;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.035em;line-height:.95}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border:1px solid transparent;font:600 13px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.arr{display:inline-block;transition:transform .2s var(--ease)}
a:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--text);border-color:var(--text);color:var(--ground)}
.btn-line{border-color:var(--line-strong);color:var(--text)}
.btn-line:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

/* section heads: more air above than below */
.sec{padding-block:var(--sec)}
.sec-head{display:grid;gap:28px;padding-bottom:clamp(40px,5vw,72px)}
@media (min-width:960px){.sec-head{grid-template-columns:7fr 5fr;column-gap:clamp(48px,6vw,112px);align-items:end}.sec-head .lede{margin-bottom:.5em}}

/* header */
.site-head{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--hdr)}
.brand{display:inline-flex;padding:10px 0;flex:none}
.brand img{width:118px}
.nav a{text-decoration:none}
.lang{display:flex;align-items:center;font:600 12.5px/1 var(--font-sans);letter-spacing:.16em}
.lang a,.lang .cur{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:48px}
.lang .cur{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}
.lang .sep{color:var(--text-muted)}
.head-cta{min-height:44px;padding:0 20px;font-size:12.5px}
.menu-btn{display:none}
@media (min-width:1240px){
  .nav{display:flex;align-items:center;gap:28px}
  .nav-list{display:flex;gap:24px}
  .nav-list a{position:relative;display:inline-flex;align-items:center;min-height:48px;font:600 12.5px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase}
  .nav-list a::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
  .nav-list a:hover::after{transform:scaleX(1)}
}
@media (max-width:1239px){
  html:not(.js) .head-in{flex-wrap:wrap;padding-block:12px}
  html:not(.js) .nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;width:100%}
  html:not(.js) .nav-list{display:flex;flex-wrap:wrap;gap:0 20px}
  html:not(.js) .nav-list a{display:inline-flex;align-items:center;min-height:44px;font:600 12.5px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase}
  .js .menu-btn{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:0 4px;border:0;background:none;color:var(--text);font:600 12.5px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
  .menu-lines{position:relative;width:24px;height:1px;background:currentColor}
  .menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0;width:24px;height:1px;background:currentColor;transition:transform .2s}
  .menu-lines::before{transform:translateY(-7px)}
  .menu-lines::after{transform:translateY(7px)}
  .menu-btn[aria-expanded="true"] .menu-lines{background:transparent}
  .menu-btn[aria-expanded="true"] .menu-lines::before{transform:rotate(45deg)}
  .menu-btn[aria-expanded="true"] .menu-lines::after{transform:rotate(-45deg)}
  .js .nav{position:fixed;inset:var(--hdr) 0 0 0;z-index:40;display:flex;flex-direction:column;gap:32px;padding:16px var(--g) 40px;overflow-y:auto;background:var(--ground-raised);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .js .nav.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
  .js .nav-list a{display:flex;align-items:center;min-height:64px;border-bottom:1px solid var(--line);font:400 clamp(28px,7vw,40px)/1.1 var(--font-display)}
  .js .nav-list a:hover{color:var(--accent-text)}
  .js .nav .head-cta{min-height:54px;align-self:flex-start}
}

/* hero */
.hero{position:relative;display:grid;align-items:end;min-height:max(560px,calc(100svh - var(--hdr)));overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:62% 45%}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,7,4,.93) 0%,rgba(11,7,4,.76) 36%,rgba(11,7,4,.12) 68%,rgba(11,7,4,0) 100%),linear-gradient(0deg,rgba(11,7,4,.9) 0%,rgba(11,7,4,0) 44%)}
.hero-copy{width:100%;padding-block:96px clamp(28px,4.5vh,48px)}
.hero .lede{margin-top:28px;max-width:44ch;color:var(--paper)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.hero-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;margin-top:clamp(48px,9vh,104px);padding-top:18px;border-top:1px solid #ac864166;color:var(--paper)}
@media (prefers-reduced-motion:no-preference){.hero-img{animation:settle 2.4s var(--ease) both}}
@keyframes settle{from{transform:scale(1.06)}}
@media (max-width:759px){
  .hero{display:block;min-height:0}
  .hero-img{height:62svh;object-position:70% 30%}
  .hero-scrim{background:linear-gradient(180deg,rgba(11,7,4,0) 0,rgba(11,7,4,0) calc(62svh - 200px),var(--night) 62svh,var(--night) 100%)}
  .hero-copy{padding-block:calc(62svh - 150px) 40px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-base{flex-direction:column}
}

/* scale statement + capacity meter (signature 1) */
.scale{position:relative;overflow:hidden}
.scale-in{display:grid;gap:56px}
.scale-line{font:400 clamp(1.9rem,3.3vw,3.2rem)/1.2 var(--font-display);letter-spacing:-.005em;max-width:26ch}
.scale-line .n{color:var(--accent-text)}
.meter{align-self:end}
.meter-num{margin:14px 0 6px;font:300 clamp(3rem,6.6vw,6rem)/.95 var(--font-sans);letter-spacing:-.035em;color:var(--accent-text);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.meter-label,.meter-unit{margin:0;white-space:pre-line;font:400 clamp(1.05rem,1.3vw,1.2rem)/1.45 var(--font-sans);color:var(--text)}
.meter .note{margin-top:22px;max-width:40ch}
.dots{position:absolute;right:0;bottom:0;width:min(46vw,560px);height:clamp(90px,11vw,150px);background:radial-gradient(circle,var(--accent) 0 34%,transparent 38%) 0 0/16px 16px;-webkit-mask:radial-gradient(ellipse at 100% 100%,#000 0,rgba(0,0,0,.45) 40%,transparent 72%);mask:radial-gradient(ellipse at 100% 100%,#000 0,rgba(0,0,0,.45) 40%,transparent 72%);opacity:.4;pointer-events:none}
@media (min-width:960px){.scale-in{grid-template-columns:7fr 5fr;column-gap:clamp(48px,6vw,112px)}.meter{padding-left:40px;border-left:1px solid var(--line-strong)}}

/* about */
.split{display:grid}
.split-fig{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--ground-raised)}
.split-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-copy{display:flex;flex-direction:column;justify-content:center;gap:40px;padding:var(--sec) var(--g) 72px}
.split-copy .h2{font-size:clamp(2.1rem,3.5vw,3.5rem)}
@media (min-width:960px){
  .split{grid-template-columns:1fr 1fr;min-height:min(92vh,900px)}
  .split-fig{aspect-ratio:auto}
  .split-r .split-copy{padding:var(--sec) var(--edge) var(--sec) clamp(40px,5vw,96px)}
  .split-l .split-fig{order:2}
  .split-l .split-copy{padding:var(--sec) clamp(40px,5vw,96px) var(--sec) var(--edge)}
}
.creed{display:grid;gap:40px clamp(32px,4vw,64px);padding-block:clamp(56px,7vw,104px) var(--sec)}
.creed>div{padding-top:22px;border-top:1px solid var(--line-strong)}
.creed .label{color:var(--accent-text);margin-bottom:14px}
.creed .h3{font-size:clamp(1.3rem,1.8vw,1.65rem);line-height:1.3}
.values{display:flex;flex-wrap:wrap;font-size:16px;line-height:1.9}
.values li{white-space:nowrap}
.values li:not(:last-child)::after{content:"·";margin:0 .5em;color:var(--accent)}
@media (min-width:900px){.creed{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* techniques: product mosaic, tile weight follows capacity (ref-07-mosaic) */
.tech{padding-top:var(--sec)}
.tech .sec-head{padding-bottom:clamp(28px,3vw,44px)}
@media (min-width:960px){.tech .sec-head{grid-template-columns:minmax(0,1fr) auto}}
.mosaic{--rule:color-mix(in srgb,var(--tarcin) 72%,var(--night));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;background:var(--rule)}
.mosaic li{position:relative;min-width:0;aspect-ratio:4/5;background:var(--night-raised)}
.mosaic .m-xl{grid-column:span 2;aspect-ratio:1/1}
.mosaic .m-wide{grid-column:span 2;aspect-ratio:16/10}
.tile{position:absolute;inset:0;display:block;overflow:hidden;color:var(--paper);text-decoration:none}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile .mac{--p:0;clip-path:polygon(0 0,calc(var(--p) * 200%) 0,0 calc(var(--p) * 200%))}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,7,4,.95) 0,rgba(11,7,4,.8) 30%,rgba(11,7,4,0) 62%);pointer-events:none}
.tile-cap{position:absolute;left:clamp(14px,1.6vw,24px);right:clamp(14px,1.6vw,24px);bottom:clamp(12px,1.4vw,22px);z-index:1;margin:0;text-shadow:0 1px 14px rgba(11,7,4,.7)}
.tile-name{display:block;font:400 clamp(1.2rem,1.7vw,1.7rem)/1.15 var(--font-display)}
.tile-fig{display:block;margin-top:4px;font:300 clamp(2rem,3.2vw,3.1rem)/1 var(--font-sans);letter-spacing:-.035em;color:var(--tarcin-light);font-variant-numeric:lining-nums tabular-nums}
.m-xl .tile-fig{font-size:clamp(3rem,5.4vw,5rem)}
.tile:focus-visible{outline-offset:-4px}
.mosaic-total{display:flex;align-items:baseline;gap:clamp(16px,2vw,28px);padding-top:clamp(20px,2.4vw,32px)}
.mosaic-total::before{content:"";flex:1;align-self:center;height:1px;background:var(--line)}
.mosaic-total .fig{font-size:clamp(2.6rem,4.2vw,4rem);color:var(--accent-text)}
@media (hover:hover){
  .tile .mac{transition:--p .8s var(--ease)}
  .tile:hover .mac,.tile:focus-visible .mac{--p:1}
}
@media (min-width:1100px){
  .mosaic{grid-template-columns:4.8fr repeat(12,minmax(0,1fr));grid-template-rows:1.27fr 1fr;aspect-ratio:2.14/1}
  .mosaic li,.mosaic .m-xl,.mosaic .m-wide{aspect-ratio:auto;grid-column:span 4}
  .mosaic .m-xl{grid-column:1;grid-row:1 / span 2}
  .mosaic .m-sm{grid-column:span 3}
}

/* techniques: sticky stage with peel (signature 2) */
.stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);margin-top:var(--sec);border-top:1px solid var(--line)}
.stage-media{position:sticky;top:var(--hdr);height:calc(100svh - var(--hdr));overflow:hidden;background:var(--night-raised);container-type:size}
.stage-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden}
.stage-media img.is-prev{visibility:visible;z-index:1}
.stage-media img.is-active{visibility:visible;z-index:2;clip-path:polygon(0 0,calc(var(--p) * (100cqw + 100cqh)) 0,0 calc(var(--p) * (100cqw + 100cqh)))}
.stage-media img.peel{animation:peel .9s var(--ease) both}
.sheen{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:linear-gradient(135deg,transparent calc(var(--p) * 100% - 4%),rgba(11,7,4,.45) calc(var(--p) * 100% - .4%),rgba(250,248,242,.8) calc(var(--p) * 100% + .3%),rgba(250,248,242,.22) calc(var(--p) * 100% + 3%),transparent calc(var(--p) * 100% + 8%))}
.sheen.peel{animation:peel .9s var(--ease) both,sheen .9s linear both}
@keyframes peel{from{--p:0}to{--p:1}}
@keyframes sheen{0%,100%{opacity:0}6%,78%{opacity:1}}
.stage-count{position:absolute;left:0;bottom:0;z-index:4;display:flex;align-items:baseline;gap:8px;padding:16px 22px;background:var(--night);font:400 14px/1 var(--font-sans);letter-spacing:.2em;color:var(--ash)}
.stage-count b{font-weight:300;font-size:28px;letter-spacing:0;color:var(--paper);font-variant-numeric:tabular-nums}
.stage-list{padding:0 var(--edge) 0 clamp(32px,5vw,96px)}
.t-item{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - var(--hdr));padding-block:88px;border-bottom:1px solid var(--line)}
.t-item:last-child{border-bottom:0}
.t-img{display:none}
.t-name{margin:0 0 28px;font:400 clamp(2.1rem,3.3vw,3.3rem)/1.04 var(--font-display)}
.t-cap{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin:0 0 26px}
.t-cap .fig{font-size:clamp(3.2rem,5.4vw,5.25rem);color:var(--accent-text)}
.t-cap .label{color:var(--ash)}
.t-lede{max-width:38ch;margin:0 0 32px;font-size:1.125rem;line-height:1.55}
.t-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.t-specs div{padding:14px 0 12px;border-top:1px solid var(--line)}
.t-specs dt{margin:0 0 4px;font:600 11.5px/1.4 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text)}
.t-specs dd{font-size:15px;line-height:1.5}
html:not(.js) .stage{display:block}
html:not(.js) .stage-media{display:none}
html:not(.js) .t-img{display:block;width:100%;max-width:720px;aspect-ratio:4/3;object-fit:cover;margin-bottom:32px}
@media (max-width:959px){
  .stage{display:block;border-top:0}
  .stage-media{display:none}
  .stage-list{padding-inline:var(--g)}
  .t-item{min-height:0;padding-block:0 72px;border-bottom:0}
  .t-img{display:block;width:calc(100% + 2 * var(--g));max-width:none;margin:0 calc(-1 * var(--g)) 32px;aspect-ratio:4/3;object-fit:cover}
  .t-specs{grid-template-columns:1fr}
}

/* process */
.process{padding-bottom:clamp(56px,7vw,112px)}
.band{overflow:hidden}
.band img{width:100%;height:clamp(280px,44vw,640px);object-fit:cover}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 clamp(16px,2vw,28px);padding-top:clamp(56px,6vw,88px)}
.steps li{position:relative;padding:26px 0 30px;border-top:1px solid var(--line-strong)}
.st-dot{position:absolute;top:0;left:0;width:calc(5px + var(--i) * 1.7px);aspect-ratio:1;border-radius:50%;background:var(--bordo);transform:translateY(-50%)}
.st-no{display:block;margin-bottom:12px;font:300 clamp(2rem,2.8vw,2.7rem)/1 var(--font-sans);letter-spacing:-.03em;color:var(--accent-text);font-variant-numeric:tabular-nums}
.st-name{font:600 13px/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}
@media (max-width:959px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:559px){.steps{grid-template-columns:minmax(0,1fr)}.steps li{display:flex;align-items:baseline;gap:18px;padding:18px 0 16px}.st-no{margin:0;min-width:2.2ch;font-size:1.8rem}}

/* quality */
.q-grid{display:grid;gap:48px;align-items:center}
.q-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.q-copy .lede{margin-top:28px}
.certs{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:36px 40px;margin-top:clamp(64px,8vw,112px);padding-top:40px;border-top:1px solid var(--line)}
.certs img{height:44px;width:auto}
@media (min-width:960px){.q-grid{grid-template-columns:6fr 5fr;column-gap:clamp(48px,7vw,128px)}.q-media img{aspect-ratio:4/5}}
@media (max-width:959px){.certs{justify-content:flex-start}}

/* sustainability */
.measures li{padding:26px 0;border-top:1px solid var(--line)}
.measures li:last-child{border-bottom:1px solid var(--line)}
.measures h3{margin-bottom:10px}
.measures p{color:var(--text-muted)}
.sus .split-copy{justify-content:flex-start}
.sus-lede{margin-top:24px}
.projects .h3+p{margin-top:12px}
.statement{max-width:24ch;font:400 clamp(2rem,4vw,3.75rem)/1.1 var(--font-display);padding-top:clamp(64px,8vw,112px)}
.statement::before{content:"";display:block;width:64px;height:1px;margin-bottom:32px;background:var(--line-strong)}
.projects{display:grid;gap:32px clamp(32px,4vw,64px);margin-top:clamp(56px,7vw,96px)}
.projects>div{padding-top:22px;border-top:1px solid var(--line)}
.projects p{color:var(--text-muted);max-width:52ch}
.people{display:grid;gap:36px clamp(32px,4vw,64px);margin-top:clamp(56px,7vw,96px);padding-bottom:var(--sec)}
.people div{display:flex;flex-direction:column;padding-top:22px;border-top:1px solid var(--line-strong)}
.people dd{order:-1;margin-bottom:14px;font-size:clamp(2.6rem,4.2vw,4rem);color:var(--accent-text)}
.people dt{color:var(--text-muted);max-width:30ch;font-size:15px;line-height:1.55}
@media (min-width:900px){.projects{grid-template-columns:repeat(3,minmax(0,1fr))}.people{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* world + partners */
.map img{width:100%;mix-blend-mode:lighten}
.countries{columns:4 190px;column-gap:32px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line);font-size:15px;line-height:2.1}
.countries li{break-inside:avoid}
.partners{margin-top:var(--sec)}
.wall{display:flex;flex-wrap:wrap;gap:4px 0;padding-top:36px;border-top:1px solid var(--line-strong);font:400 clamp(1.3rem,2.2vw,2.05rem)/1.4 var(--font-display)}
.wall li:nth-child(3n+2){color:var(--ash)}
.wall li:not(:last-child)::after{content:"·";margin:0 .45em;color:var(--accent)}
@media (max-width:759px){.countries{columns:2}}

/* sister company */
.pg{display:grid;gap:48px;align-items:center}
.pg-tall img{width:100%;aspect-ratio:2/3;object-fit:cover}
.lockup{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:32px}
.lockup img{width:150px}
.lockup .pn{font:400 30px/1 var(--font-display);color:var(--accent-text)}
.pg-copy .lede{margin-top:24px}
.pg-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:40px 0 18px}
.pg-trio img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pg-copy .btn{margin-top:32px}
.tag{display:inline-block;padding:5px 9px;border:1px solid var(--accent);font:600 11px/1 var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);vertical-align:middle}
@media (min-width:960px){.pg{grid-template-columns:5fr 7fr;column-gap:clamp(48px,7vw,128px)}}
@media (max-width:959px){.pg-tall img{aspect-ratio:4/3}}
@media (max-width:559px){.pg-trio{grid-template-columns:minmax(0,1fr)}.pg-trio img{aspect-ratio:3/2}}

/* contact */
.contact{position:relative;overflow:hidden}
.contact-grid{display:grid;gap:56px;align-items:end}
.contact .lede{margin-top:28px;color:var(--blush)}
.contact-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.contact-data div{padding:16px 0;border-top:1px solid var(--line)}
.contact-data dt{margin-bottom:4px;color:var(--accent-text)}
.contact-data dd{line-height:1.55}
.contact-data a{text-decoration-color:var(--accent)}
@media (min-width:960px){.contact-grid{grid-template-columns:7fr 4fr;column-gap:clamp(48px,7vw,128px)}}

/* footer */
.foot{padding-block:clamp(64px,8vw,104px) 36px}
.foot-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:40px 64px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.foot-top>img{width:240px}
.foot-cols{display:flex;flex-wrap:wrap;gap:40px 64px}
.foot-cols .label{color:var(--accent-text);margin-bottom:10px}
.foot-cols ul{font-size:15px;line-height:2}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{color:var(--tarcin-light);text-decoration:underline}
.foot-cols address{font-size:15px;line-height:1.75}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:28px;font-size:13px;line-height:1.6;color:var(--ash)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- multi-page additions (rollout 23.09.2026) ---------- */
@media (min-width:1240px){.nav-list a[aria-current="page"]::after{transform:scaleX(1)}}
@media (max-width:1239px){.js .nav-list a[aria-current="page"]{color:var(--accent-text)}}
.h1{font:400 clamp(2.6rem,5vw,4.75rem)/1.02 var(--font-display);letter-spacing:-.015em}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:clamp(20px,2.4vw,32px);font:500 13.5px/1.5 var(--font-sans);letter-spacing:.02em;color:var(--text-muted)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--text);text-decoration:underline}
.crumbs .sep{color:var(--accent-text)}
.crumbs [aria-current]{color:var(--text)}

/* plain page head (no photo): headline + lede on the section ground */
.phead{padding-block:clamp(56px,7vw,112px) clamp(36px,4vw,64px)}
.phead .sec-head{padding-bottom:0}
.phead .lede{margin-top:0}

/* page head with photo: the about/sustainability split, headline as h1 */
.phero .split-copy{gap:28px}
.phero .split-copy .h1{max-width:18ch}
.phero .body-copy{margin-top:8px}
@media (min-width:960px){.phero .split{min-height:min(84vh,820px)}}

/* technique detail: hero, product left to the eye, macro peels in over it (ref-09) */
.th{position:relative}
.th-grid{display:grid}
.th-copy{display:flex;flex-direction:column;justify-content:center;padding:40px var(--g) 36px}
.th-title{font-size:clamp(2.4rem,4vw,4.4rem)}
.th-cap{margin-top:clamp(18px,2vw,28px);font:400 clamp(1.7rem,2.7vw,2.6rem)/1.2 var(--font-display)}
.th-cap .n{color:var(--accent-text)}
.th .lede{margin-top:18px;color:var(--paper)}
.th .hero-cta{margin-top:clamp(28px,3vw,40px)}
.th-media{position:relative;min-height:58svh;margin:0;overflow:hidden;background:var(--night-raised)}
.th-prod{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th-inset{position:absolute;left:clamp(16px,5%,64px);bottom:clamp(16px,6%,64px);width:clamp(132px,34%,320px);aspect-ratio:1;border:1px solid var(--tarcin);background:rgba(11,7,4,.25)}
.th-inset img{width:100%;height:100%;object-fit:cover;clip-path:polygon(0 100%,0 calc(100% - var(--p) * 200%),calc(var(--p) * 200%) 100%)}
@media (prefers-reduced-motion:no-preference){.th-inset img{animation:peel 1.1s var(--ease) .45s both}}
.th-base{display:flex;flex-wrap:wrap;gap:8px 28px;padding-block:18px 22px;border-top:1px solid #ac864166;color:var(--accent-text)}
.th-base li:not(:last-child)::after{content:"·";margin-left:28px;color:var(--tarcin)}
@media (min-width:960px){
  .th-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(100svh - var(--hdr) - 64px)}
  .th-copy{padding:72px clamp(40px,5vw,88px) 56px var(--edge)}
  .th-media{min-height:0}
}
@media (max-width:959px){.th-media{order:-1}.th-base li:not(:last-child)::after{content:none}}

/* technique detail: where it is used, three tall photos with gold joints (ref-10) */
.uses-grid{display:grid;gap:40px}
.uses-grid figure{aspect-ratio:2/3;overflow:hidden;background:var(--night)}
.uses-grid img{width:100%;height:100%;object-fit:cover}
.uses-grid h3{margin-top:24px}
.uses-grid p{margin-top:8px;font-size:16px;color:var(--text-muted)}
@media (min-width:760px){
  .uses-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .uses-grid li+li figure{border-left:1px solid var(--tarcin)}
  .uses-grid li+li :is(h3,p){padding-left:clamp(16px,2vw,28px)}
  .uses-grid :is(h3,p){padding-right:clamp(16px,2vw,28px)}
}
@media (max-width:759px){.uses-grid figure{aspect-ratio:4/5}}

/* technique detail: material close-up with spec cross (ref-11) */
.mat .split-copy{gap:32px}
.mat .t-specs{column-gap:0;margin-top:8px}
.mat .t-specs div{padding:16px 0 14px}
@media (min-width:560px){
  .mat .t-specs div:nth-child(odd){padding-right:24px;border-right:1px solid var(--line)}
  .mat .t-specs div:nth-child(even){padding-left:24px}
}
@media (max-width:559px){.mat .t-specs{grid-template-columns:1fr}}

/* technique detail: in the field, a real photo from the company profile */
.inuse-grid{display:grid;gap:40px;align-items:center}
.inuse-fig{max-width:520px}
.inuse-fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.inuse-fig figcaption{margin-top:12px}
.inuse .lede{margin-top:24px}
.inuse .btn{margin-top:32px}
@media (min-width:960px){.inuse-grid{grid-template-columns:5fr 6fr;column-gap:clamp(48px,7vw,128px)}}

/* technique detail: the other seven as a rail of product thumbnails */
.rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;padding-top:28px;border-top:1px solid var(--line-strong)}
.rail a{display:block;text-decoration:none}
.rail figure{position:relative;aspect-ratio:1;overflow:hidden;background:var(--night-raised)}
.rail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rail .mac{--p:0;clip-path:polygon(0 0,calc(var(--p) * 200%) 0,0 calc(var(--p) * 200%))}
.rail-name{display:flex;flex-direction:column;gap:4px;margin-top:12px;font:400 1.15rem/1.2 var(--font-display)}
.rail-name .fig{font-size:1.2rem;color:var(--accent-text)}
.rail a:hover .rail-name span:first-child{text-decoration:underline;text-decoration-color:var(--accent)}
.rail-all{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;aspect-ratio:1;border:1px solid var(--line-strong);font:600 12.5px/1.3 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;text-align:center}
.rail-all:hover{background:var(--accent);color:var(--on-accent)}
@media (hover:hover){.rail .mac{transition:--p .8s var(--ease)}.rail a:hover .mac,.rail a:focus-visible .mac{--p:1}}
@media (min-width:1100px){.rail{grid-template-columns:repeat(7,minmax(0,1fr)) minmax(128px,.9fr)}}

/* stage items link to their own page */
.t-more{margin-top:32px;align-self:flex-start}

/* quote form */
.quote-grid{display:grid;gap:56px}
@media (min-width:960px){.quote-grid{grid-template-columns:8fr 4fr;column-gap:clamp(48px,6vw,112px)}}
.form-grid{display:grid;gap:24px 28px}
@media (min-width:760px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1 / -1}}
.field label{display:block;margin-bottom:8px;font:600 12.5px/1.4 var(--font-sans);letter-spacing:.14em;text-transform:uppercase}
.field :is(input,select,textarea){width:100%;min-height:54px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:0;background:var(--white);color:var(--ink);font:400 16px/1.4 var(--font-sans);-webkit-appearance:none;appearance:none}
.field select{background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a5a1e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:44px}
.field textarea{min-height:168px;resize:vertical}
.field [aria-invalid="true"]{border-color:var(--bordo);box-shadow:inset 0 0 0 1px var(--bordo)}
.field-msg{margin-top:8px;font-size:14.5px;font-weight:500;color:var(--bordo)}
.check{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.55}
.check input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--bordo)}
.form-status{margin-top:28px;padding:18px 20px;border:1px solid var(--line-strong);background:var(--paper-deep);color:var(--ink)}
.side-data div{padding:16px 0;border-top:1px solid var(--line)}
.side-data dt{margin-bottom:4px;color:var(--accent-text)}
.side-data a{text-decoration-color:var(--accent)}

/* legal */
.legal-row{display:grid;gap:20px;padding-block:40px;border-top:1px solid var(--line)}
.legal-row:first-child{border-top:0;padding-top:0}
.legal-row .body-copy a{text-decoration-color:var(--accent)}
@media (min-width:960px){.legal-row{grid-template-columns:4fr 8fr;column-gap:clamp(48px,6vw,112px)}}

/* sister company page */
.range li{padding:26px 0;border-top:1px solid var(--line)}
.range li:last-child{border-bottom:1px solid var(--line)}
.range h3{margin-bottom:8px}
.range p{color:var(--text-muted)}
@media (min-width:900px){.range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(32px,4vw,64px)}.range li:last-child{border-bottom:0}}
