:root{
color-scheme: light dark;
--font-serif: "Iowan Old Style","Palatino Linotype","Palatino","Book Antiqua",
Georgia,"Times New Roman",serif;
--font-sans:  "Segoe UI Variable","Segoe UI","Avenir Next","Helvetica Neue",
system-ui,-apple-system,Roboto,Arial,sans-serif;
--sp-1: .25rem;  --sp-2: .5rem;   --sp-3: .75rem;  --sp-4: 1rem;
--sp-5: 1.5rem;  --sp-6: 2rem;    --sp-7: 3rem;    --sp-8: 4rem;
--sp-9: 6rem;
--fs-base: 1.0625rem;  --fs-sm: .875rem;  --fs-xs: .75rem;  --fs-cap: .8125rem;
--fs-h4: 1.1875rem;    --fs-h3: 1.5rem;   --fs-h2: 2rem;    --fs-h1: 2.75rem;
--fs-display: 3.25rem;
--lh-body: 1.62;  --lh-tight: 1.2;
--radius: 10px;   --radius-lg: 16px;
--fs-hero:      clamp(2.375rem, 1.5rem + 3.8vw, 4.5rem);
--fs-section:   clamp(2rem, 1.45rem + 2.2vw, 3.25rem);
--fs-statement: clamp(1.375rem, 1.05rem + 1.3vw, 2.125rem);
--gutter:       clamp(1.25rem, .8rem + 2.4vw, 2.75rem);
--container:    76rem;
--header-h:     4.25rem;
--ease:         cubic-bezier(.2,.7,.2,1);
--ease-slow:    cubic-bezier(.45,0,.55,1);
--plate:      #FBF9F4;
--plate-line: #9A7431;
--paper:      #FBF9F4;
--paper-2:    #F3EFE4;
--paper-3:    #EBE4D3;
--ink:        #262320;
--ink-soft:   #574F44;
--ink-mute:   #6E6656;
--eucalypt:       #2C4A3C;
--eucalypt-deep:  #1F3A2E;
--eucalypt-ink:   #244134;
--eucalypt-tint:  #E2E8E1;
--eucalypt-line:  #C6D2C6;
--brass:      #9A7431;
--brass-ink:  #7C5C22;
--brass-tint: #F0E7D2;
--rule:       #E0DACB;
--rule-soft:  #ECE6D9;
--shadow:     0 1px 2px rgba(38,35,32,.05), 0 8px 24px rgba(38,35,32,.06);
--shadow-lg:  0 2px 4px rgba(38,35,32,.05), 0 18px 40px rgba(38,35,32,.10);
--link:        var(--eucalypt-ink);
--focus:       var(--brass-ink);
--accent-fill: var(--eucalypt);
--on-accent:   var(--paper);
--header-bg:   rgba(251,249,244,.9);
--band-bg:     var(--brass-tint);
--band-ink:    var(--brass-ink);
--footer-bg:   #1F3A2E;
--footer-ink:  #F3EFE4;
--footer-soft: #C3CCC4;
--footer-link: #E2C68A;
--footer-rule: rgba(243,239,228,.16);
--tile-line:   var(--eucalypt-ink);
--tile-leaf:   var(--eucalypt-line);
--tile-wall:   var(--paper);
--tile-glass:  #D9C394;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
--paper:      #131915;
--paper-2:    #1A211C;
--paper-3:    #222B25;
--ink:        #EEE8DC;
--ink-soft:   #CFC7B8;
--ink-mute:   #A9A192;
--eucalypt:       #6F9C82;
--eucalypt-deep:  #0C110E;
--eucalypt-ink:   #9CC3AC;
--eucalypt-tint:  #1E2A23;
--eucalypt-line:  #2F3D34;
--brass:      #C9A35C;
--brass-ink:  #D9B977;
--brass-tint: #2A2418;
--rule:       #2C3530;
--rule-soft:  #232B26;
--shadow:     0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.28);
--shadow-lg:  0 2px 4px rgba(0,0,0,.3), 0 18px 40px rgba(0,0,0,.4);
--link:        #9CC3AC;
--focus:       #E2C68A;
--accent-fill: #9CC3AC;
--on-accent:   #131915;
--header-bg:   rgba(19,25,21,.88);
--band-bg:     #2A2418;
--band-ink:    #D9B977;
--footer-bg:   #0C110E;
--footer-soft: #BFC9C1;
--footer-rule: rgba(238,232,220,.12);
--tile-line:   #9CC3AC;
--tile-leaf:   #2F4A3B;
--tile-wall:   #1A211C;
--tile-glass:  #8C7440;
}
}
:root[data-theme="dark"]{
color-scheme: dark;
--paper:      #131915;
--paper-2:    #1A211C;
--paper-3:    #222B25;
--ink:        #EEE8DC;
--ink-soft:   #CFC7B8;
--ink-mute:   #A9A192;
--eucalypt:       #6F9C82;
--eucalypt-deep:  #0C110E;
--eucalypt-ink:   #9CC3AC;
--eucalypt-tint:  #1E2A23;
--eucalypt-line:  #2F3D34;
--brass:      #C9A35C;
--brass-ink:  #D9B977;
--brass-tint: #2A2418;
--rule:       #2C3530;
--rule-soft:  #232B26;
--shadow:     0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.28);
--shadow-lg:  0 2px 4px rgba(0,0,0,.3), 0 18px 40px rgba(0,0,0,.4);
--link:        #9CC3AC;
--focus:       #E2C68A;
--accent-fill: #9CC3AC;
--on-accent:   #131915;
--header-bg:   rgba(19,25,21,.88);
--band-bg:     #2A2418;
--band-ink:    #D9B977;
--footer-bg:   #0C110E;
--footer-soft: #BFC9C1;
--footer-rule: rgba(238,232,220,.12);
--tile-line:   #9CC3AC;
--tile-leaf:   #2F4A3B;
--tile-wall:   #1A211C;
--tile-glass:  #8C7440;
}
:root[data-theme="light"]{ color-scheme: light; }
:root{
--v4-nav-row:  2.75rem;
--v4-header-h: var(--header-h);
}
@media (min-width:78rem){
:root{ --v4-header-h: calc(var(--header-h) + var(--v4-nav-row) + 1px); }
}
*,*::before,*::after{ box-sizing:border-box; }
html{
-webkit-text-size-adjust:100%; text-size-adjust:100%;
scroll-padding-top:1rem;
}
html.js{ scroll-padding-top:calc(var(--v4-header-measured, var(--v4-header-h)) + 1rem); }
@media (min-width:78rem){
html{ scroll-padding-top:calc(var(--v4-header-measured, var(--v4-header-h)) + 1rem); }
}
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior:smooth; } }
body{
margin:0;
background:var(--paper);
color:var(--ink);
font-family:var(--font-serif);
font-size:var(--fs-base);
line-height:var(--lh-body);
}
img,svg{ display:block; max-width:100%; }
img{ height:auto; }
[hidden]{ display:none !important; }
h1,h2,h3{ font-weight:400; line-height:var(--lh-tight); margin:0; text-wrap:balance; }
p{ margin:0 0 var(--sp-4); }
p:last-child{ margin-bottom:0; }
a{ color:var(--link); text-decoration-thickness:1px; text-underline-offset:.2em; }
a:hover{ text-decoration-thickness:2px; }
a[href^="mailto:"]{ overflow-wrap:anywhere; }
:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; border-radius:4px; }
button{ font:inherit; color:inherit; cursor:pointer; }
.visually-hidden{
position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.container{ width:min(100% - 2 * var(--gutter), var(--container)); margin-inline:auto; }
.skip-link{
position:absolute; left:var(--sp-4); top:-6rem; z-index:100;
padding:var(--sp-3) var(--sp-4); border-radius:var(--radius);
background:var(--accent-fill); color:var(--on-accent);
font-family:var(--font-sans); font-weight:600; text-decoration:none;
}
.skip-link:focus{ top:var(--sp-2); }
.status-band{
margin:0; padding:.45rem var(--gutter);
background:var(--band-bg); color:var(--band-ink);
border-bottom:1px solid var(--brass);
font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:600;
letter-spacing:.1em; text-transform:uppercase; text-align:center;
}
.site-header{
position:relative; z-index:50;
background:var(--header-bg);
-webkit-backdrop-filter:saturate(1.3) blur(12px); backdrop-filter:saturate(1.3) blur(12px);
border-bottom:1px solid transparent;
transition:border-color .3s, box-shadow .3s;
}
html.js .site-header{ position:sticky; top:0; }
@media (min-width:78rem){ .site-header{ position:sticky; top:0; } }
.site-header.is-scrolled{ border-bottom-color:var(--rule); box-shadow:var(--shadow); }
.site-header__inner{
position:relative; display:flex; flex-wrap:wrap; align-items:center;
gap:var(--sp-3); min-height:var(--header-h);
}
.brand{
display:inline-flex; align-items:center; gap:.75rem; margin-right:auto;
color:var(--ink); text-decoration:none;
}
.brand__plate{
flex:none; display:grid; place-items:center;
width:2.75rem; height:2.75rem; border-radius:50%;
background:var(--plate); box-shadow:inset 0 0 0 1px var(--plate-line);
}
.brand__plate img{ width:76%; height:auto; aspect-ratio:200 / 195; }
.brand__word{ font-size:1.375rem; letter-spacing:.18em; line-height:1; }
.menu-button,.icon-button{
display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
min-width:2.75rem; min-height:2.75rem; padding:0 .9rem;
border:1px solid var(--rule); border-radius:999px; background:transparent;
font-family:var(--font-sans); font-size:var(--fs-sm); font-weight:600;
}
.icon-button{ padding:0; }
.menu-button:hover,.icon-button:hover{ background:var(--paper-2); }
.icon-button svg{ width:1.25rem; height:1.25rem; }
.theme-toggle .icon-sun,
.theme-toggle[aria-pressed="true"] .icon-moon{ display:none; }
.theme-toggle[aria-pressed="true"] .icon-sun{ display:block; }
.site-nav ul{ list-style:none; margin:0; padding:0; }
.site-nav a{
display:flex; align-items:center; color:var(--ink-soft); text-decoration:none;
font-family:var(--font-sans); font-size:.9375rem; font-weight:500;
}
.site-nav a:hover,.site-nav a.is-current{ color:var(--ink); }
.site-nav{ order:3; flex-basis:100%; padding-bottom:var(--sp-3); }
.site-nav ul{ display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-5); }
.site-nav a{ min-height:1.75rem; }
@media (max-width:77.99rem){
html.js .site-nav{
display:none; position:absolute; top:100%; left:calc(-1 * var(--gutter)); right:calc(-1 * var(--gutter));
flex-basis:auto; padding:0;
max-height:calc(100vh - var(--header-h) - 1rem); max-height:calc(100dvh - var(--header-h) - 1rem);
overflow-y:auto;
background:var(--paper); border-bottom:1px solid var(--rule); box-shadow:var(--shadow-lg);
}
html.js .site-nav.is-open{ display:block; }
html.js .site-nav ul{ display:block; }
html.js .site-nav a{ min-height:3rem; padding:.75rem var(--gutter); border-top:1px solid var(--rule-soft); }
}
@media (min-width:78rem){
.menu-button{ display:none !important; }
.theme-toggle{ margin-left:var(--sp-2); }
.site-header__inner{ row-gap:0; }
.brand{ min-height:var(--header-h); }
.site-nav{
padding:0; border-top:1px solid var(--rule-soft);
}
.site-nav ul{
gap:0 .125rem; margin-inline:-.7rem;
min-height:var(--v4-nav-row); align-items:center;
}
.site-nav a{
min-height:2.5rem; padding:0 .7rem; border-radius:999px;
font-size:.875rem; white-space:nowrap;
}
.site-nav a.is-current{ background:var(--paper-2); }
}
.hero{
--focus:#E2C68A;
position:relative; isolation:isolate; overflow:hidden;
display:grid; align-items:end;
min-height:80vh; min-height:min(80svh, 54rem);
background:#0E1A14; color:#FBF9F4;
}
.hero__media{ position:absolute; inset:0; z-index:-2; }
.hero__parallax{ position:absolute; inset:-4% -3% -14% -3%; }
.hero__art{
width:100%; height:100%;
transform-origin:72% 78%;
animation:seed-kenburns 64s var(--ease-slow) infinite alternate;
}
.hero::after{
content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
background:linear-gradient(to top, rgba(9,16,12,.94) 0%, rgba(9,16,12,.72) 42%, rgba(9,16,12,.18) 78%, rgba(9,16,12,.05) 100%);
}
@media (min-width:56rem){
.hero::after{
background:
linear-gradient(90deg, rgba(9,16,12,.92) 0%, rgba(9,16,12,.7) 38%, rgba(9,16,12,0) 68%),
linear-gradient(to top, rgba(9,16,12,.55) 0%, rgba(9,16,12,0) 40%);
}
}
.hero__content{ padding-block:var(--sp-9) clamp(4rem, 3rem + 4vw, 7rem); }
.hero__kicker{
display:flex; align-items:center; gap:.85rem; margin-bottom:var(--sp-5);
font-family:var(--font-sans); font-size:var(--fs-cap); font-weight:600;
letter-spacing:.16em; text-transform:uppercase; color:#E2C68A;
}
.hero__kicker::before{ content:""; width:2.5rem; height:1px; background:currentColor; }
.hero__title{ max-width:13em; font-size:var(--fs-hero); line-height:1.05; letter-spacing:-.015em; margin-bottom:var(--sp-6); }
.hero__lede{
max-width:36rem; margin:0;
font-size:clamp(1.0625rem, .98rem + .45vw, 1.3125rem); color:#ECE7DB;
}
.hero__note{
position:absolute; right:var(--gutter); bottom:var(--sp-4); margin:0;
font-family:var(--font-sans); font-size:var(--fs-xs); color:#D6D0C3;
}
@keyframes seed-kenburns{
from{ transform:scale(1.02) translate3d(0,0,0); }
to  { transform:scale(1.12) translate3d(-1.6%,-1.2%,0); }
}
@supports (animation-timeline: scroll()){
@media (prefers-reduced-motion: no-preference){
.hero__parallax,.hero .layer-mid,.hero .layer-near{
animation-timing-function:linear; animation-fill-mode:both;
animation-timeline:scroll(root block); animation-range:0 100vh;
}
.hero__parallax{ animation-name:seed-parallax; }
.hero .layer-mid{ animation-name:seed-depth-mid; }
.hero .layer-near{ animation-name:seed-depth-near; }
}
}
@keyframes seed-parallax{ to{ transform:translate3d(0,10%,0); } }
@keyframes seed-depth-mid{ to{ transform:translateY(-24px); } }
@keyframes seed-depth-near{ to{ transform:translateY(-56px); } }
.section{ padding-block:clamp(4.5rem, 3rem + 6vw, 8rem); }
.section--alt{ background:var(--paper-2); }
.section-head{ max-width:46rem; margin-bottom:clamp(2.5rem, 2rem + 2vw, 4rem); }
.section-title{ font-size:var(--fs-section); letter-spacing:-.01em; }
.section-title::before{
content:""; display:block; width:2.5rem; height:1px; margin-bottom:var(--sp-5);
background:var(--brass);
}
.deck{ max-width:40rem; margin-top:var(--sp-5); font-size:1.1875rem; color:var(--ink-soft); }
.split{ display:grid; gap:var(--sp-6) var(--sp-8); }
@media (min-width:56rem){ .split{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); align-items:start; } }
.prose{ max-width:38rem; }
.prose p{ color:var(--ink-soft); }
.prose .lead,.lead{
font-size:clamp(1.1875rem, 1.05rem + .6vw, 1.5rem); line-height:1.5; color:var(--ink);
}
.prose .lead{ margin-bottom:var(--sp-5); }
.prose ul{ margin:0 0 var(--sp-5); padding-left:1.4rem; color:var(--ink-soft); list-style:disc; }
.prose li{ margin-bottom:var(--sp-2); padding-left:.3rem; }
.prose li::marker{ color:var(--brass); }
.cards{ list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-5); }
@media (min-width:44rem){ .cards{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
.card{
display:flex; flex-direction:column; gap:var(--sp-3);
padding:var(--sp-6); border-radius:var(--radius-lg);
background:var(--paper); border:1px solid var(--rule);
transition:transform .6s var(--ease), box-shadow .6s var(--ease), border-color .6s;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--eucalypt-line); }
.card__icon{
width:3rem; height:3rem; margin-bottom:var(--sp-3); color:var(--eucalypt-ink);
fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round;
}
.card__icon *{ stroke-dasharray:1; stroke-dashoffset:0; }
.card:hover .card__icon *{ animation:seed-draw 1.4s var(--ease); }
@keyframes seed-draw{ from{ stroke-dashoffset:1; } }
.card h3{ font-size:var(--fs-h3); }
.card p{ color:var(--ink-soft); }
.build{
margin:0 0 var(--sp-6); padding:clamp(1rem, .5rem + 2vw, 2rem);
border:1px solid var(--rule); border-radius:var(--radius-lg); background:var(--paper-2);
}
.build svg{ width:100%; height:auto; max-height:85vh; overflow:visible; }
.strip{
list-style:none; margin:var(--sp-4) 0 0; padding:0;
display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:.35rem;
}
.strip a{
display:block; min-height:2.75rem; padding-top:.5rem;
border-top:3px solid var(--eucalypt-line);
font-family:var(--font-sans); font-size:var(--fs-xs); font-weight:600; line-height:1.3;
color:var(--ink-soft); text-decoration:none; overflow-wrap:break-word;
transition:border-color .4s, color .4s;
}
@media (min-width:40rem){ .strip a{ font-size:var(--fs-sm); } }
.strip a:hover{ color:var(--ink); text-decoration:underline; }
.build figcaption{
margin-top:var(--sp-4); text-align:center;
font-family:var(--font-sans); font-size:var(--fs-sm); color:var(--ink-mute);
}
.buildup__steps{ list-style:none; margin:0; padding:0; }
.buildup__step{
padding:var(--sp-5) 0 var(--sp-5) var(--sp-5);
border-left:2px solid var(--rule);
}
.buildup__title{ font-size:var(--fs-h3); margin-bottom:var(--sp-4); color:var(--ink); }
.buildup__step p{ max-width:38rem; color:var(--ink-soft); }
@media (min-width:64rem){
.buildup{
display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr);
gap:var(--sp-8); align-items:start;
}
.buildup__steps{ grid-column:1; grid-row:1; }
.build{
grid-column:2; grid-row:1; margin:0;
position:sticky; top:calc(var(--v4-header-measured, var(--v4-header-h)) + 2rem);
}
.build svg{ max-height:max(12rem, calc(100vh - var(--v4-header-measured, var(--v4-header-h)) - 15rem)); }
}
.build .layer{ transition:opacity .8s var(--ease), transform .8s var(--ease); }
.buildup__step{ transition:border-color .5s; }
.buildup__title{ transition:color .5s; }
@media screen and (prefers-reduced-motion: no-preference) and (min-height:32rem){
html.build-armed .build .layer{ opacity:0; transform:translateY(10px); }
html.build-armed .build.is-s1 .l1,html.build-armed .build.is-s2 .l2,html.build-armed .build.is-s3 .l3,
html.build-armed .build.is-s4 .l4,html.build-armed .build.is-s5 .l5{ opacity:1; transform:none; }
html.build-armed .strip a{ border-top-color:var(--rule); color:var(--ink-mute); }
html.build-armed .strip a.is-done{ border-top-color:var(--eucalypt-line); color:var(--ink-soft); }
html.build-armed .strip a.is-current{ border-top-color:var(--brass); color:var(--ink); }
html.build-armed .strip a:hover{ color:var(--ink); }
html.build-armed .buildup__title{ color:var(--ink-soft); }
html.build-armed .buildup__step.is-active{ border-left-color:var(--brass); }
html.build-armed .buildup__step.is-active .buildup__title{ color:var(--ink); }
}
@media screen and (prefers-reduced-motion: no-preference) and (min-height:32rem) and (max-width:63.99rem){
html.build-armed .build{
position:sticky; z-index:2;
top:calc(var(--v4-header-measured, var(--v4-header-h)) + var(--sp-3));
margin-bottom:var(--sp-7); padding:var(--sp-3);
box-shadow:0 0 0 var(--sp-3) var(--paper);
}
html.build-armed .build::before{
content:""; position:absolute; pointer-events:none;
left:calc(-1px - var(--sp-3)); right:calc(-1px - var(--sp-3));
bottom:calc(100% + 1px); height:calc(var(--sp-3) + 1px);
background:var(--paper);
}
html.build-armed .build svg{ max-height:24vh; max-height:24svh; }
html.build-armed .build .strip{ margin-top:var(--sp-3); }
html.build-armed .build figcaption{ margin-top:var(--sp-2); font-size:var(--fs-xs); }
html.build-armed .buildup__step{
min-height:55vh; min-height:55svh;
scroll-margin-top:calc(var(--v6-build-h, 0px) + var(--sp-5));
}
}
@media screen and (prefers-reduced-motion: no-preference) and (min-height:32rem) and (min-width:64rem){
html.build-armed .buildup__step{ min-height:70vh; scroll-margin-top:1rem; }
}
.b-ground{ fill:none; stroke:var(--ink-mute); stroke-width:2; }
.b-hatch{ fill:none; stroke:var(--rule); stroke-width:1.2; }
.b-trunk{ fill:none; stroke:var(--brass); stroke-width:7; stroke-linecap:round; }
.b-canopy{ fill:var(--eucalypt-line); stroke:var(--eucalypt-ink); stroke-width:1.5; }
.b-steel{ fill:none; stroke:var(--ink-soft); stroke-width:4; stroke-linecap:round; }
.b-below{ stroke-width:2.5; stroke-dasharray:5 4; }
.b-plate{ fill:none; stroke:var(--ink); stroke-width:5; stroke-linecap:round; }
.b-timber{ fill:var(--brass-tint); stroke:var(--brass); stroke-width:2; }
.b-tline{ fill:none; stroke:var(--brass); stroke-width:1.5; }
.b-frame{ fill:none; stroke:var(--brass); stroke-width:3; stroke-linecap:round; }
.b-wall{ fill:var(--accent-fill); opacity:.95; }
.b-roof{ fill:var(--ink-soft); }
.b-glass{ fill:var(--brass-tint); stroke:var(--brass); stroke-width:1.5; }
.b-zone{ fill:none; stroke:var(--brass); stroke-width:2; stroke-dasharray:6 6; }
.enquiries{ display:grid; gap:var(--sp-5); }
@media (min-width:56rem){ .enquiries{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; } }
.panel{
padding:clamp(1.5rem, 1rem + 2vw, 2.75rem);
border:1px solid var(--rule); border-radius:var(--radius-lg); background:var(--paper);
}
.panel__title{ font-size:clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); letter-spacing:-.01em; margin-bottom:var(--sp-5); }
.panel__title::before{
content:""; display:block; width:2.5rem; height:1px; margin-bottom:var(--sp-5);
background:var(--brass);
}
.panel h3{ font-size:var(--fs-h3); margin:var(--sp-6) 0 var(--sp-4); }
.panel p{ max-width:36rem; color:var(--ink-soft); }
.panel .lead{ color:var(--ink); }
.notice{
margin-top:var(--sp-6); padding-top:var(--sp-4); border-top:1px solid var(--rule);
font-family:var(--font-sans); font-size:var(--fs-sm); line-height:1.55;
}
.token{
padding:.05em .4em; border:1px dashed var(--brass); border-radius:4px;
background:var(--brass-tint); color:var(--brass-ink);
font-family:var(--font-sans); font-size:.88em; font-weight:600; letter-spacing:.02em;
overflow-wrap:anywhere; -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.site-footer{
--focus:#E2C68A;
padding-block:clamp(3.5rem, 2.5rem + 4vw, 5.5rem) var(--sp-6);
background:var(--footer-bg); color:var(--footer-ink);
}
.site-footer a{ color:var(--footer-link); }
.footer__company{ display:grid; gap:var(--sp-4); justify-items:start; padding-bottom:var(--sp-7); }
.footer__company p,.footer__legal{ font-family:var(--font-sans); font-size:var(--fs-sm); color:var(--footer-soft); }
.footer__company p{ margin:0; }
.brand__plate--lg{ width:5rem; height:5rem; }
.footer__legal{
display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--sp-2) var(--sp-6);
padding-top:var(--sp-5); border-top:1px solid var(--footer-rule);
}
.footer__legal p{ margin:0; }
.page{ padding-block:clamp(3.5rem, 2.5rem + 5vw, 7rem); }
.page__inner{ max-width:42rem; }
.page__title{ font-size:var(--fs-section); letter-spacing:-.01em; margin-bottom:var(--sp-6); }
.page__title::before{
content:""; display:block; width:2.5rem; height:1px; margin-bottom:var(--sp-5);
background:var(--brass);
}
.page__inner > .lead{ margin-bottom:var(--sp-5); }
.page__inner > p{ color:var(--ink-soft); }
.page__inner > .lead{ color:var(--ink); }
.page__inner h2{
font-size:var(--fs-h3); margin:var(--sp-7) 0 var(--sp-4);
padding-top:var(--sp-5); border-top:1px solid var(--rule);
}
.page__date{
margin-top:var(--sp-7); font-family:var(--font-sans); font-size:var(--fs-sm); color:var(--ink-mute);
}
html.reveal-on .reveal{ opacity:0; transform:translateY(18px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
html.reveal-on .reveal.is-in{ opacity:1; transform:none; }
.cards > .reveal:nth-child(2){ transition-delay:.1s; }
.cards > .reveal:nth-child(3){ transition-delay:.2s; }
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{
animation-duration:.01ms !important; animation-iteration-count:1 !important;
transition-duration:.01ms !important; transition-delay:0s !important;
}
.hero__art{ animation:none !important; }
html.reveal-on .reveal{ opacity:1; transform:none; }
.card:hover{ transform:none; }
}
@media (forced-colors: active){
html.build-armed .strip a.is-current{ border-top-color:Highlight; }
.menu-button,.icon-button{ border:1px solid ButtonText; }
.token{ border-color:CanvasText; }
}
@media print{
.site-header{ position:static !important; }
.reveal,.build .layer{ opacity:1 !important; transform:none !important; }
.build{ position:static !important; box-shadow:none !important; break-inside:avoid; }
.buildup__step{ min-height:0 !important; }
.buildup__title{ break-after:avoid; }
.menu-button,.theme-toggle,.skip-link{ display:none !important; }
}
