:root{color-scheme:light;--paper:#f5f0e7;--ink:#26221c;--muted:#5e5549;--rust:#a03e24;--line:#d5cbbd;--dark:#252a24;--serif:Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 system-ui,-apple-system,sans-serif}
a{color:inherit;text-underline-offset:.22em}
button,select,input,textarea{font:inherit}
:focus-visible{outline:3px solid #2b745e;outline-offset:4px}
.shell{width:min(100% - 8vw,82rem);margin-inline:auto}
.skip{position:absolute;top:.5rem;left:.5rem;z-index:5;padding:.6rem 1rem;background:white;transform:translateY(-150%)}
.skip:focus{transform:none}
.preview{background:var(--dark);color:#faf2e6;text-align:center;padding:.42rem .6rem;font-size:.71rem;letter-spacing:.12em}
.preview span{margin:0 .45rem}
.header{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.7rem;font:700 1.3rem/.95 var(--serif);text-decoration:none;white-space:nowrap}
.brand svg,.brand b{color:var(--rust)}
nav{display:flex;gap:clamp(1.2rem,3vw,2.6rem)}
nav a{font-size:.9rem;text-decoration:none;padding:.7rem .15rem}
nav a:hover,.text-link:hover,.finish a:hover{color:var(--rust)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.64rem 1rem;font-weight:650;font-size:.89rem;line-height:1.25;text-decoration:none;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.outline{border-color:#a39b8d}
.outline:hover{background:var(--ink);color:white}
.primary{background:var(--rust);color:white}
.primary:hover{background:#80311d}
.hero{display:grid;grid-template-columns:.91fr 1.09fr;align-items:center;gap:clamp(1.7rem,4vw,5rem);padding-block:clamp(2rem,5vw,5.2rem) 2rem}
.hero-copy{animation:arrive .65s ease-out both}
.kicker,.number,.cover figcaption{font-size:.71rem;font-weight:750;letter-spacing:.14em}
.kicker{color:var(--rust);margin:0 0 1rem}
.kicker span{display:inline-block;width:1.5rem;height:1px;background:currentColor;vertical-align:middle;margin-right:.52rem}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.055em;margin:0;text-wrap:balance}
h1{font-size:clamp(3.65rem,7.3vw,7.6rem)}
h1 em{color:var(--rust);font-weight:400}
h2{font-size:clamp(2.65rem,5.3vw,5rem)}
h3{font-size:clamp(1.65rem,2.65vw,2.5rem)}
p{margin:0 0 1rem}
.intro{font-size:clamp(1rem,1.5vw,1.23rem);color:var(--muted);max-width:35ch;margin:1.25rem 0}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.1rem}
.text-link,.finish a{font-size:.91rem;font-weight:700}
.cover{position:relative;margin:0;overflow:hidden;border-radius:5px;background:#a59a85;animation:arrive .75s .12s ease-out both}
.cover img{display:block;width:100%;height:clamp(390px,42vw,600px);object-fit:cover;object-position:57% center}
.cover figcaption{display:flex;justify-content:space-between;gap:.7rem;position:absolute;inset:auto .75rem .75rem;background:#252a24eb;color:#fff6e9;padding:.75rem .9rem;border-radius:2px}
.standards{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);font-size:.88rem;font-weight:600}
.standards span{padding:1rem 0}
.standards b{color:var(--rust);font-size:.7rem;margin-right:.5rem}
.section{padding-block:clamp(3.4rem,8vw,7.5rem)}
.section-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:1rem;margin-bottom:2rem}
.section-heading>p{max-width:36ch;margin:0;color:var(--muted);justify-self:end}
.finishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.finish{background:#fdf9f0;border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .25s}
.finish:focus-within,.finish:hover{transform:translateY(-4px)}
.sample{height:clamp(95px,13vw,180px)}
.slate{background:repeating-linear-gradient(150deg,#473f2b22 0 1px,transparent 3px 25px),linear-gradient(142deg,#bbb6a0,#d0c5a9 40%,#a8997d 42%,#d8ccb0 80%)}
.flake{background:radial-gradient(circle,#e0dac9 12%,transparent 17%) 0 0/13px 17px,radial-gradient(ellipse,#393b35 14%,transparent 20%) 4px 8px/17px 11px,radial-gradient(circle,#b58961 13%,transparent 20%) 4px 2px/11px 13px,#827e71}
.stone{background:repeating-linear-gradient(9deg,#76513c15 0 2px,transparent 3px 8px),radial-gradient(ellipse at 35% 70%,#bd8a67,transparent 70%),linear-gradient(120deg,#806a58,#b59b82)}
.finish-copy{padding:1.2rem}
.finish-copy p:not(.number){color:var(--muted);margin:.7rem 0}
.number{color:var(--rust);margin-bottom:.55rem}
.portfolio{display:inline-block;margin-top:1.3rem}
.planning{background:var(--dark);color:#fff6e9}
.planning-grid,.intake{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,6vw,6rem)}
.planning-grid{padding-block:clamp(3rem,7vw,6rem)}
.planning .kicker{color:#f6b491}
.planning :focus-visible{outline-color:#ffd2af}
details{border-block-start:1px solid #ffffff45}
details:last-child{border-bottom:1px solid #ffffff45}
summary{cursor:pointer;padding:.95rem .15rem;font-weight:650}
details p{color:#e2dacc;padding:0 1.1rem}
form{min-width:0;border:1px solid var(--line);background:#fdf9f0;border-radius:5px;padding:clamp(1rem,3vw,2rem)}
.form-note{font-size:.9rem;color:var(--muted)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}
label{display:block;font-size:.86rem;font-weight:650}
label span{font-weight:400}
select,input,textarea{display:block;width:100%;margin-top:.3rem;border:1px solid #9a8e7e;background:white;color:var(--ink);border-radius:4px;min-height:46px;padding:.55rem;font-size:1rem}
textarea{resize:vertical}
.wide{grid-column:1/-1}
.result:not([hidden]){display:block;margin-top:1rem;padding:1rem;border-left:3px solid var(--rust);background:var(--paper);white-space:pre-wrap;overflow-wrap:anywhere}
footer{border-top:1px solid var(--line);padding-block:1.4rem;font-size:.88rem}
.footer{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:1rem}
.footer small{color:var(--muted)}
@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:790px){
  .hero,.planning-grid,.intake{grid-template-columns:1fr}
  .cover img{height:clamp(280px,75vw,490px)}
  .section-heading{grid-template-columns:1fr}.section-heading>p{justify-self:start}
}
@media(max-width:590px){
  .header{min-height:72px}.header nav{display:none}.brand{font-size:1.1rem}.brand svg{width:34px;height:34px}
  h1{font-size:clamp(3.3rem,12.6vw,4.8rem)}
  .finishes,.fields{grid-template-columns:1fr}
  .standards{grid-template-columns:1fr}.standards span{padding:.55rem 0}.standards span+span{border-top:1px solid var(--line)}
  .sample{height:100px}
  .cover figcaption{font-size:.63rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .button:hover,.finish:hover,.finish:focus-within{transform:none}
}
