/* Jost (SIL Open Font License), self-hosted variable font: one file per script covers weights 300-600. */
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/jost-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(../fonts/jost-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Arcaya Cabinetry — UI v1. Visual system adapted from Burmere homepage version B (AXOR style):
   one geometric typeface (Jost), near-black ink, warm stone chrome, white page, full-bleed hero,
   giant centred statements, colour blocks, stone bands, dark form card, black footer. */
:root{--ink:#0D1210;--stone:#EAE3D9;--stone-2:#DED5C8;--c1:#D9E2D2;--c2:#E3B29C;--c3:#AFC3CE;--forest:#14261F;--mute:#2E3531;--soft:#4A524E;--line:#CFCAC2;--max:1240px;--gut:clamp(18px,3.4vw,40px);--font:'Jost','Futura','Avenir Next',ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);font-size:17px;line-height:1.5;background:#fff;-webkit-font-smoothing:antialiased}
.ar{font-family:var(--font);color:var(--ink);background:#fff;overflow-x:clip}
.ar h1,.ar h2,.ar h3,.ar h4{margin:0;font-weight:500;letter-spacing:0;color:var(--ink);text-wrap:balance}
.ar p{margin:0}
a{color:inherit;text-decoration:none}
.ar img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.ar :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.ar .on-dark :focus-visible,.ar .hero :focus-visible,.ar .foot :focus-visible,.ar .cta :focus-visible{outline-color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.label{display:block;font-size:14px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.cap{font-size:11px;letter-spacing:.06em;color:var(--soft);margin-top:10px}
/* links + buttons */
.link{display:inline-block;font-size:20px;font-weight:400;letter-spacing:.12em;color:#fff;padding-bottom:6px;border-bottom:1px solid currentColor;transition:letter-spacing .35s}
.link:hover{letter-spacing:.15em}
.link.dark{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 30px;background:var(--ink);color:#fff;font-size:18px;letter-spacing:.1em;font-weight:400;white-space:nowrap;transition:background .25s,color .25s}
.btn:hover{background:var(--forest)}
.btn.outline{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor;min-height:42px;padding:0 20px;font-size:14px}
.btn.outline:hover{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1px var(--ink)}
.btn[aria-disabled="true"],.btn.disabled{background:#B5B8B4;color:#fff;cursor:default}
.wbtn{display:inline-flex;align-items:center;min-height:40px;padding:0 30px;background:#fff;color:var(--ink);font-size:19px;letter-spacing:.12em;transition:background .25s,color .25s}
.wbtn:hover{background:var(--ink);color:#fff}
.more{display:inline-block;font-size:15px;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:3px}
.copy p a,.inline a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
/* utility bar */
.util{background:var(--stone);font-size:14px;color:var(--ink)}
.util .wrap{display:flex;align-items:center;justify-content:flex-end;gap:30px;min-height:36px}
.util span{margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.util a{white-space:nowrap}
.util a:hover{text-decoration:underline;text-underline-offset:4px}
/* header: transparent over a photo hero, stone when solid */
.head{position:sticky;top:0;z-index:30;margin-bottom:-84px;color:#fff;transition:background .35s,color .35s}
.head .wrap{min-height:84px;display:flex;align-items:center;gap:32px}
.head.solid{position:relative;margin-bottom:0;background:var(--stone);color:var(--ink);border-bottom:1px solid var(--stone-2)}
.brand{display:inline-flex;flex-direction:column;line-height:1;font-size:22px;font-weight:500;letter-spacing:.2em;white-space:nowrap}
.brand small{font-size:9px;letter-spacing:.34em;margin-top:6px;font-weight:500}
.nav{display:flex;gap:12px;margin:0}
.nav a{display:inline-flex;align-items:center;gap:6px;font-size:17px;font-weight:400;letter-spacing:.02em;padding:10px 9px;white-space:nowrap;box-shadow:inset 0 0 0 transparent}
.nav a:hover,.nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 currentColor}
.nav svg{width:12px;height:12px}
.head-end{display:flex;align-items:center;gap:26px;margin-left:auto}
.find{display:inline-flex;align-items:center;gap:8px;font-size:15px;letter-spacing:.08em;white-space:nowrap}
.find svg{width:18px;height:18px}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center}
.burger svg{width:24px;height:24px}
/* hero */
.hero{position:relative;height:760px;overflow:hidden;background:#1b1f1d;color:#fff}
.hero.short{height:680px}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,10,.42) 0%,rgba(8,12,10,.22) 30%,rgba(8,12,10,.3) 65%,rgba(8,12,10,.5) 100%)}
.hero-t{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:36px;padding:84px var(--gut) 0}
.hero h1,.hero .slide .hero-t>h2{color:#fff;font-size:clamp(48px,5.6vw,82px);line-height:1.08;font-weight:500;letter-spacing:.005em;max-width:16ch;text-shadow:0 2px 30px rgba(0,0,0,.18)}
.hero p{font-size:19px;line-height:1.6;max-width:52ch;color:#fff;opacity:.94}
.arr{position:absolute;top:50%;z-index:3;width:56px;height:56px;margin-top:-28px;display:grid;place-items:center;color:#fff;opacity:.9}
.arr svg{width:30px;height:30px}
.arr.prev{left:max(12px,calc(var(--gut) - 28px))}.arr.next{right:max(12px,calc(var(--gut) - 28px))}
.dots{position:absolute;left:0;right:0;bottom:30px;z-index:3;display:flex;justify-content:center;gap:12px}
.dots button{width:40px;height:20px;position:relative}
.dots button::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:rgba(255,255,255,.4)}
.dots button.on::after{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:#fff}
.hero .cap{position:absolute;left:var(--gut);bottom:16px;z-index:3;color:#fff;opacity:.7;margin:0}
/* stone hero (no photo) */
.hero-s{background:var(--stone);padding:110px 0 0;text-align:center}
.hero-s .wrap{display:flex;flex-direction:column;align-items:center;gap:26px}
.hero-s h1{font-size:clamp(48px,5.6vw,82px);line-height:1.06;max-width:16ch}
.hero-s p{font-size:19px;line-height:1.7;max-width:58ch;color:var(--ink)}
/* statement band */
.state{background:var(--stone);padding:120px 0 0;text-align:center}
.big{font-size:clamp(44px,5.4vw,80px);line-height:1.1;font-weight:500;color:var(--ink);margin:0 auto;max-width:20ch}
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:96px;border-top:1px solid var(--stone-2);text-align:left}
.j{display:grid;grid-template-columns:46px minmax(0,1fr);gap:4px 14px;align-items:start;padding:30px 20px 34px 0;transition:background .35s}
.j+.j{padding-left:20px;border-left:1px solid var(--stone-2)}
.j:hover{background:rgba(255,255,255,.45)}
.j svg{width:36px;height:36px;grid-row:span 2}
.j b{font-weight:500;font-size:18px;color:var(--ink);line-height:1.25}
.j small{font-size:15px;color:var(--soft);line-height:1.4}
/* white sections */
.sec{padding:120px 0}
.sec.tight{padding-top:96px}
.intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;margin:0 auto 64px;max-width:860px}
.intro h2{font-size:clamp(44px,5vw,76px);line-height:1.06}
.intro p{font-size:19px;line-height:1.7;color:var(--ink);max-width:62ch}
.img{position:relative;overflow:hidden;background:var(--stone)}
.img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.r43{aspect-ratio:4/3}.r45{aspect-ratio:4/5}.r32{aspect-ratio:3/2}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tiles.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.tile{display:flex;flex-direction:column;color:var(--ink)}
.tile b{display:block;font-size:24px;font-weight:500;margin-top:16px;line-height:1.2}
.tile small{display:block;font-size:16px;color:var(--soft);margin-top:2px}
.tile:hover b{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.tile:hover .img img{transform:scale(1.03)}
.center{display:flex;justify-content:center;margin-top:64px}
/* colour blocks */
.block{padding:96px 0}
.c1{background:var(--c1)}.c2{background:var(--c2)}.c3{background:var(--c3)}
.block-in{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:clamp(32px,4vw,64px);align-items:center}
.block.flip .fig{order:2}
.fig{margin:0}
.fig .img{aspect-ratio:4/5;background:rgba(0,0,0,.06)}
/* The archived materials image has a five-pixel pale strip on its right edge. */
.ar img[src*="arcaya-block-materials"]{transform:scale(1.02)}
.fig .cap{color:var(--mute)}
.copy{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.copy h2{font-size:clamp(40px,4.4vw,64px);line-height:1.1}
.copy p{font-size:18px;line-height:1.75;color:var(--ink);max-width:54ch}
.steps{list-style:none;margin:4px 0 0;padding:24px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;border-top:1px solid rgba(13,18,16,.28)}
.steps li{display:flex;flex-direction:column;gap:10px}
.steps .n{font-size:13px;letter-spacing:.2em;font-weight:500}
.steps svg{width:40px;height:40px}
.steps b{display:block;font-weight:500;font-size:17px;line-height:1.25}
.steps small{display:block;font-size:14px;color:var(--mute);line-height:1.4}
.team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;width:100%;border-top:1px solid rgba(13,18,16,.3)}
.team li{padding:16px 0;border-bottom:1px solid rgba(13,18,16,.3)}
.team b{display:block;font-weight:500;font-size:18px;line-height:1.3}
.team small{display:block;font-size:15px;color:var(--mute);margin-top:2px;line-height:1.45}
.team.one{grid-template-columns:1fr}
/* stone band with photo tiles */
.band{background:var(--stone);padding:96px 0 104px}
.tile-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ptile{position:relative;display:block;overflow:hidden;color:#fff}
.ptile .img{aspect-ratio:3/2;background:#333}
.ptile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,10,.55) 0%,rgba(8,12,10,.1) 50%,rgba(8,12,10,0) 70%);pointer-events:none}
.ptile-t{position:absolute;left:40px;bottom:40px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.ptile-t b{font-size:32px;font-weight:400;line-height:1.1}
.ptile:hover .img img{transform:scale(1.03)}
.ptile:hover .wbtn{background:var(--ink);color:#fff}
.proj{margin-top:96px}
.proj .label{margin-bottom:36px}
.proj-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ph{aspect-ratio:4/5;border:1px dashed #AFA69A;background:rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:28px;font-size:14px;line-height:1.45;color:var(--soft);letter-spacing:.02em}
.ph b{font-weight:500;color:var(--ink);letter-spacing:.14em;font-size:12px;text-transform:uppercase}
.proj p.note{margin-top:20px;font-size:14px;color:var(--soft)}
/* definition grid (spec tables) */
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--line);margin:0}
.spec>div{display:grid;grid-template-columns:168px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.spec dt{font-size:12px;letter-spacing:.2em;font-weight:500;text-transform:uppercase;color:var(--ink);padding-top:4px}
.spec dd{margin:0;font-size:17px;line-height:1.55;color:var(--ink)}
.spec dd small{display:block;font-size:14px;color:var(--soft);margin-top:4px}
/* five layers */
.layers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;border-top:1px solid var(--line);padding-top:28px}
.layers>div{display:flex;flex-direction:column;gap:10px}
.layers .n{font-size:13px;letter-spacing:.2em;font-weight:500}
.layers b{font-size:21px;font-weight:500;line-height:1.2}
.layers p{font-size:15px;color:var(--mute);line-height:1.5}
/* numbered questions on stone */
.qs{list-style:none;counter-reset:q;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid #CFC6B8}
.qs li{counter-increment:q;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid #CFC6B8;font-size:19px;line-height:1.4}
.qs li::before{content:counter(q,decimal-leading-zero);font-size:13px;letter-spacing:.2em;font-weight:500;padding-top:6px}
/* FAQ card */
.faq{background:#fff;padding:12px 32px 20px}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:19px;font-weight:500;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:300;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;font-size:16px;line-height:1.7;color:var(--mute);max-width:62ch}
/* compare swatches */
.sw{aspect-ratio:4/3;border:1px solid rgba(13,18,16,.12)}
.sw.veneer{background:repeating-linear-gradient(97deg,#C8A77A 0 9px,#BE9A6B 9px 14px,#CBAB80 14px 31px,#B48F62 31px 34px)}
.sw.paint{background:#D9D5CC}
.sw.panel{background:repeating-linear-gradient(0deg,#8F8880 0 2px,#978F86 2px 7px)}
/* booking / brief */
.book{background:var(--stone);padding:112px 0}
.book-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.book-l{display:flex;flex-direction:column;gap:22px;position:sticky;top:110px}
.book-l h2{font-size:clamp(40px,4.4vw,64px);line-height:1.08}
.book-l p{font-size:18px;line-height:1.7;color:var(--ink)}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:17px}
.ticks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;line-height:1.45}
.ticks svg{width:20px;height:20px;margin-top:3px}
.facts{margin:10px 0 0;display:grid;grid-template-columns:1fr;gap:0}
.facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid #CFC6B8}
.facts dt{font-size:12px;letter-spacing:.2em;font-weight:500;text-transform:uppercase;padding-top:3px}
.facts dd{margin:0;font-size:16px;line-height:1.5}
.card{background:#fff;box-shadow:0 60px 100px -70px rgba(13,18,16,.55)}
.card-h{background:var(--ink);color:#fff;padding:28px 32px;display:flex;flex-direction:column;gap:8px}
.kick{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.2em;font-weight:500;text-transform:uppercase}
.kick i{width:8px;height:8px;border-radius:50%;background:#8FA385;display:inline-block}
.card-h h3{color:#fff;font-size:32px;font-weight:500;line-height:1.15}
.card-h p{font-size:15px;color:#fff;opacity:.85}
.card-b{padding:28px 32px 30px;display:flex;flex-direction:column;gap:18px}
.f{display:flex;flex-direction:column;gap:8px}
.f label{font-size:16px;font-weight:500}
.f label i{color:#B23A2A;font-style:normal;margin-left:3px}
.f label em{font-style:normal;font-weight:400;color:var(--soft)}
.f input,.f select,.f textarea{width:100%;min-height:50px;border:1px solid #A9A49C;padding:0 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border-radius:0;appearance:none}
.f textarea{padding:12px 14px;min-height:100px;resize:vertical}
.f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 5l5 5 5-5' fill='none' stroke='%230D1210' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.f input::placeholder,.f textarea::placeholder{color:#8A908C}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(13,18,16,.12)}
.f.is-error input,.f.is-error textarea{border-color:#B23A2A;box-shadow:0 0 0 3px rgba(178,58,42,.12)}
.f .err{font-size:14px;color:#B23A2A}
.f.is-ok input{border-color:#3A6F42}
.f .ok{font-size:14px;color:#3A6F42}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.attach{background:#F6F2EC;border:1px solid #E2DACF;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.attach-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.attach-h b{font-weight:500;font-size:16px}
.attach-h b em{font-style:normal;font-weight:400;color:var(--soft)}
.tag{font-size:12px;letter-spacing:.06em;font-weight:500;border:1px solid #D4CBBE;padding:5px 10px;background:#fff;white-space:nowrap}
.drop{border:1px dashed #AFA69A;background:#fff;padding:16px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;font-size:15px}
.drop svg{width:34px;height:34px}
.drop small{display:block;font-size:13px;color:var(--soft);margin-top:2px}
.drop a{text-decoration:underline;text-underline-offset:3px}
.consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:1.5}
.consent input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--ink)}
.go{width:100%;min-height:54px;font-size:16px;letter-spacing:.12em;font-weight:500}
.note{font-size:13px;color:var(--soft);text-align:center;display:flex;gap:8px;justify-content:center;align-items:center}
.note svg{width:16px;height:16px}
/* ink CTA band (inner pages) */
.cta{background:var(--ink);color:#fff;padding:104px 0;text-align:center}
.cta .wrap{display:flex;flex-direction:column;align-items:center;gap:22px}
.cta h2{color:#fff;font-size:clamp(40px,4.4vw,64px);line-height:1.08;max-width:18ch}
.cta p{font-size:18px;color:#fff;opacity:.85;max-width:48ch}
.cta .btn{background:#fff;color:var(--ink);margin-top:14px}
.cta .btn:hover{background:var(--stone)}
/* footer */
.foot{background:#0B0F0D;color:#fff;padding:80px 0 36px;overflow:hidden}
.foot-g{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:40px}
.fbrand{display:flex;flex-direction:column;gap:18px;max-width:300px;align-items:flex-start}
.fbrand .brand{color:#fff}
.fbrand p{font-size:15px;color:#C9CCC8;line-height:1.6}
.fcol h4{font-size:15px;letter-spacing:.24em;font-weight:400;margin:0 0 20px;color:#fff;text-transform:uppercase}
.fcol a{display:block;font-size:16px;line-height:1.45;margin-bottom:10px;color:#E6E6E3}
.fcol a:hover{text-decoration:underline;text-underline-offset:4px}
.fcol .btn.outline{display:inline-flex;margin-top:8px;color:#fff}
.fcol .btn.outline:hover{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #fff}
.fmark{margin-top:64px;font-size:clamp(110px,19.5vw,280px);line-height:.9;letter-spacing:.02em;font-weight:500;text-align:center;color:transparent;background:linear-gradient(180deg,#6A716C 0%,#20262300 96%);-webkit-background-clip:text;background-clip:text;user-select:none;text-transform:lowercase}
.legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#A8ACA8;border-top:1px solid #1F2522;padding-top:18px;margin-top:64px}
.legal nav{display:flex;flex-wrap:wrap;gap:16px}
.legal a:hover{text-decoration:underline}
.legal p{max-width:70ch;line-height:1.5}
/* tablet */
@media (max-width:1240px){.util span{display:none}.nav a{font-size:16px;padding:10px 8px}.head .wrap{gap:24px}.find span{display:none}}
@media (max-width:1040px){.nav{display:none}.burger{display:inline-flex}.tiles,.tiles.four,.proj-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.book-in{grid-template-columns:1fr}.book-l{position:static}.layers{grid-template-columns:repeat(2,minmax(0,1fr))}.spec{grid-template-columns:1fr}.foot-g{grid-template-columns:1fr 1fr;gap:40px 32px}}
/* phone */
@media (max-width:860px){
 .ar{font-size:16px}
 .util{display:none}
 .head{margin-bottom:-64px}
 .head .wrap{min-height:64px;gap:12px}
 .brand{font-size:18px}
 .head-end{gap:6px}
 .head .btn.outline{display:none}
 .find{width:44px;height:44px;justify-content:center}
 .find svg{width:20px;height:20px}
 .hero,.hero.short{height:600px}
 .hero-t{gap:24px;padding-top:64px}
 .hero h1,.hero .slide .hero-t>h2{font-size:clamp(36px,11vw,46px);max-width:12ch}
 .hero p{font-size:16px;max-width:34ch}
 .link{font-size:16px;letter-spacing:.1em}
 .arr{display:none}
 .dots{bottom:22px}
 .hero .cap{display:none}
 .hero-s{padding:88px 0 0}
 .hero-s h1{font-size:clamp(36px,10.5vw,44px)}
 .hero-s p{font-size:16px}
 .state{padding:64px 0 0}
 .big{font-size:clamp(32px,9.4vw,40px)}
 .journey{margin-top:48px;grid-template-columns:1fr 1fr}
 .j,.j+.j{grid-template-columns:1fr;gap:8px;padding:18px 12px 20px 0;border-left:0;align-content:start}
 .j:nth-child(even){padding-left:12px;border-left:1px solid var(--stone-2)}
 .j:nth-child(n+3){border-top:1px solid var(--stone-2)}
 .j svg{width:32px;height:32px;grid-row:auto}
 .j b{font-size:15px}
 .j small{font-size:13px}
 .block{padding:0 0 56px}
 .block-in{grid-template-columns:1fr;gap:28px}
 .block .fig{order:0;margin:0 calc(-1 * var(--gut))}
 .fig .img{aspect-ratio:4/3}
 .fig .cap{padding:0 var(--gut)}
 .copy{gap:20px}
 .copy h2{font-size:clamp(32px,9vw,40px)}
 .copy p{font-size:16px;line-height:1.7}
 .steps{grid-template-columns:1fr;gap:0;padding-top:4px}
 .steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(13,18,16,.18)}
 .steps svg{grid-row:span 2}
 .steps .n{display:none}
 .team{grid-template-columns:1fr}
 .btn{width:100%;font-size:16px}
 .sec,.sec.tight{padding:64px 0}
 .intro{margin-bottom:36px;gap:14px}
 .intro h2{font-size:clamp(36px,10vw,44px)}
 .intro p{font-size:16px}
 .label{font-size:12px;letter-spacing:.2em}
 .tiles,.tiles.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 .tile b{font-size:19px}
 .tile small{font-size:14px}
 .center{margin-top:40px}
 .band{padding:56px 0 64px}
 .tile-row{grid-template-columns:1fr}
 .ptile .img{aspect-ratio:4/3}
 .ptile-t{left:20px;bottom:22px;gap:14px}
 .ptile-t b{font-size:26px}
 .wbtn{font-size:16px;min-height:38px;padding:0 22px}
 .proj{margin-top:56px}
 .proj .label{margin-bottom:24px}
 .proj-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ph{font-size:12px;padding:16px}
 .spec{grid-template-columns:1fr}
 .spec>div{grid-template-columns:1fr;gap:6px;padding:16px 0}
 .spec dd{font-size:16px}
 .layers{grid-template-columns:1fr;gap:0;padding-top:0}
 .layers>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
 .layers .n{padding-top:5px}
 .layers b{font-size:18px}
 .layers p{grid-column:2;font-size:14px}
 .qs{grid-template-columns:1fr}
 .qs li{font-size:17px;padding:16px 0}
 .faq{padding:4px 20px 10px}
 .faq summary{font-size:17px}
 .book{padding:64px 0}
 .book-in{gap:40px}
 .book-l h2{font-size:clamp(32px,9vw,40px)}
 .book-l p{font-size:16px}
 .ticks{font-size:16px}
 .facts>div{grid-template-columns:1fr;gap:4px}
 .card-h{padding:22px 20px}
 .card-h h3{font-size:26px}
 .card-b{padding:22px 20px 24px}
 .row2{grid-template-columns:1fr}
 .cta{padding:64px 0}
 .cta h2{font-size:clamp(32px,9vw,40px)}
 .cta p{font-size:16px}
 .foot{padding:56px 0 28px}
 .foot-g{grid-template-columns:1fr 1fr;gap:36px 24px}
 .fbrand{grid-column:1/-1}
 .fmark{margin-top:40px;font-size:clamp(72px,22vw,110px)}
 .legal{flex-direction:column;gap:12px}
}
@media (max-width:360px){.tiles,.tiles.four{grid-template-columns:1fr}.foot-g{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ar *{transition:none!important}}
/* ---- v1.1 additions for T03, T04, T06–T10 ---- */
.tbl{border-top:1px solid var(--line)}
.tbl>div{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.tbl>div.h{padding:12px 0}
.tbl .h span{font-size:12px;letter-spacing:.2em;font-weight:500;text-transform:uppercase;color:var(--ink)}
.tbl b{display:block;font-weight:500;font-size:18px;line-height:1.3}
.tbl p{font-size:16px;line-height:1.55;color:var(--ink)}
.tbl p.m{color:var(--mute)}
.tbl .tag{display:inline-flex;margin-top:6px}
.stone .tbl,.stone .tbl>div{border-color:#CFC6B8}
.hero-s .tbl{border-color:#CFC6B8}
/* workflow */
.flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:28px}
.flow>div{display:flex;flex-direction:column;gap:10px}
.flow .n{font-size:13px;letter-spacing:.2em;font-weight:500}
.flow b{font-size:19px;font-weight:500;line-height:1.2}
.flow p{font-size:15px;color:var(--mute);line-height:1.5}
.flow small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-top:auto;padding-top:14px;border-top:1px solid var(--line);line-height:1.5}
/* material library */
.filters{display:flex;align-items:flex-end;gap:16px;padding:22px 24px;background:var(--stone)}
.filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;flex:1;min-width:0}
.filters input,.filters select{min-height:48px;border:1px solid #A9A49C;padding:0 14px;font:inherit;font-size:16px;background:#fff;color:var(--ink);border-radius:0;appearance:none;width:100%}
.filters select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 5l5 5 5-5' fill='none' stroke='%230D1210' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.filters input:focus,.filters select:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(13,18,16,.12)}
.filters .btn{min-height:48px}
.filters .more{padding-bottom:16px;align-self:flex-end}
.count{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 28px;font-size:14px;color:var(--soft)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);padding:7px 12px;font-size:13px;letter-spacing:.06em;color:var(--ink)}
.mcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.mcard{display:flex;flex-direction:column;gap:6px;color:var(--ink)}
.mcard .sw{margin-bottom:12px}
.mcard small.l{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.mcard b{font-size:24px;font-weight:500;line-height:1.2}
.mcard p{font-size:15px;color:var(--mute);line-height:1.5}
.mcard .more{margin-top:8px;align-self:flex-start}
.mcard:hover b{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.empty{border:1px dashed #AFA69A;padding:40px 28px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.empty b{font-weight:500;font-size:20px}
.empty p{color:var(--soft);font-size:15px}
.sw.ply{background:repeating-linear-gradient(0deg,#D9C4A2 0 8px,#C7AF88 8px 10px,#E3D1B3 10px 18px,#C7AF88 18px 20px)}
.sw.mdf{background-color:#CBB89C;background-image:radial-gradient(#B8A283 .9px,transparent 1px);background-size:5px 5px}
.sw.pb{background-color:#C9B79C;background-image:radial-gradient(#9D8B6F 1.6px,transparent 1.8px),radial-gradient(#E0D0B5 1.4px,transparent 1.6px);background-size:11px 9px,13px 11px}
.sw.pet{background:linear-gradient(135deg,#F2EEE6 0%,#E4DED4 55%,#F4F1EB 100%)}
.sw.mel{background:repeating-linear-gradient(90deg,#B9B0A4 0 3px,#C4BBAE 3px 6px)}
.sw.edge{background:linear-gradient(90deg,#CBB08A 0 14%,#E4DED4 14% 100%)}
.sw.stone{background:linear-gradient(115deg,#EDE9E2 0%,#D9D3C8 30%,#F1EEE8 45%,#CFC8BC 70%,#ECE8E1 100%)}
/* hotspot diagram */
.diagram{position:relative;background:#fff;padding:28px}
.diagram svg{width:100%;height:auto;display:block}
.hot{position:absolute;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:500;letter-spacing:.06em;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(255,255,255,.9);cursor:pointer}
.hot.on{background:var(--forest);box-shadow:0 0 0 4px rgba(255,255,255,.9),0 0 0 7px rgba(13,18,16,.18)}
.legend{list-style:none;margin:0;padding:0;border-top:1px solid #CFC6B8}
.legend li{border-bottom:1px solid #CFC6B8;transition:background .25s}
.legend li.on{background:rgba(255,255,255,.55);margin:0 -16px;padding:0 16px}
.legend .n{font-size:13px;letter-spacing:.2em;font-weight:500;padding-top:4px}
.legend b{display:block;font-size:19px;font-weight:500;line-height:1.25}
.legend small{display:block;font-size:15px;color:var(--mute);margin-top:4px;line-height:1.45}
.legend button{text-align:left;width:100%;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0}
/* split hero (case study) */
.hero-split{background:var(--stone)}
.hero-split .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center;padding-top:72px;padding-bottom:72px}
.hero-split .copy{gap:22px}
.hero-split h1{font-size:clamp(44px,4.8vw,70px);line-height:1.06}
.hero-split .copy p{font-size:18px;line-height:1.7;max-width:48ch}
.hero-split .fig .img{aspect-ratio:4/5}
.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;width:100%;border-top:1px solid #CFC6B8;margin-top:6px}
.meta>div{padding:14px 0;border-bottom:1px solid #CFC6B8}
.meta dt{font-size:12px;letter-spacing:.2em;font-weight:500;text-transform:uppercase}
.meta dd{margin:4px 0 0;font-size:16px;line-height:1.5}
.ptag{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;background:#fff;padding:5px 10px;margin-bottom:10px}
.figrow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.figrow figure{margin:0}
.figrow .img{aspect-ratio:4/5}
.figrow figcaption{font-size:14px;color:var(--soft);margin-top:10px;line-height:1.45}
.figrow figcaption b{display:block;font-weight:500;color:var(--ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
/* multi-step form */
.prog{display:flex;gap:24px;margin:0 0 6px}
.prog span{flex:1;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--soft);border-bottom:2px solid var(--line);padding-bottom:12px}
.prog span.on{color:var(--ink);border-color:var(--ink)}
.prog span.done{color:var(--ink);border-color:#8FA385}
.fset{display:flex;flex-direction:column;gap:18px}
.fset h4{font-size:20px;font-weight:500;margin:4px 0 0}
.ctrls{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:6px}
.ctrls .btn{min-height:52px}
.ctrls .ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.review{background:#F6F2EC;padding:18px 20px;font-size:14px;line-height:1.7;white-space:pre-wrap;border:1px solid #E2DACF}
.stone{background:var(--stone)}
/* tablet / phone for the additions */
@media (max-width:1040px){.flow{grid-template-columns:repeat(3,minmax(0,1fr))}.mcards{grid-template-columns:repeat(2,minmax(0,1fr))}.figrow{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-split .wrap{grid-template-columns:1fr}.tbl>div{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);gap:16px}}
@media (max-width:860px){
 .tbl>div{grid-template-columns:1fr;gap:6px;padding:16px 0}
 .tbl>div.h{display:none}
 .tbl b{font-size:17px}
 .tbl p{font-size:15px}
 .flow{grid-template-columns:1fr;gap:0;padding-top:0}
 .flow>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:18px 0;border-bottom:1px solid var(--line)}
 .flow .n{padding-top:5px}
 .flow p,.flow small{grid-column:2}
 .flow small{margin-top:4px;padding-top:0;border-top:0}
 .filters{flex-direction:column;align-items:stretch;padding:16px}
 .filters .btn{width:100%}
 .filters .more{align-self:flex-start;padding-bottom:0}
 .count{flex-direction:column;align-items:flex-start;gap:10px}
 .mcards{grid-template-columns:1fr;gap:28px}
 .mcard b{font-size:21px}
 .diagram{padding:12px}
 .hot{width:30px;height:30px;font-size:11px}
 .legend li.on{margin:0;padding-left:8px;padding-right:8px}
 .hero-split .wrap{padding-top:40px;padding-bottom:48px;gap:28px}
 .hero-split h1{font-size:clamp(34px,9.5vw,42px)}
 .hero-split .copy p{font-size:16px}
 .hero-split .fig{margin:0 calc(-1 * var(--gut))}
 .hero-split .fig .img{aspect-ratio:4/3}
 .meta{grid-template-columns:1fr}
 .figrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
 .figrow figcaption{font-size:13px}
 .prog{gap:10px}
 .prog span{font-size:10px;letter-spacing:.08em}
 .ctrls{flex-direction:column-reverse;align-items:stretch}
 .ctrls .btn{width:100%}
}
/* ---- v1.2 icon set + motion (CSS only; off under reduced motion) ---- */
.ico{width:44px;height:44px;color:var(--ink);display:block;overflow:visible;flex-shrink:0}
.ico :is(path,circle,rect,ellipse){stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s cubic-bezier(.4,0,.2,1) forwards;animation-delay:calc(var(--i,0) * .14s + .2s)}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes redraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
:is(.steps li,.flow>div,.j,.layers>div,.tile,.team li,.legend li):hover .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-delay:0s}
.flow .ico,.layers .ico{margin:2px 0 6px}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes curtain{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes runline{0%{transform:scaleX(1);transform-origin:right}45%{transform:scaleX(0);transform-origin:right}50%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@keyframes pulse{0%{transform:scale(.7);opacity:.7}70%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}
/* hero: slow settle + copy rising */
.hero>img{animation:kb 9s ease-out both}
.hero-t>*,.hero-s .wrap>*,.hero-split .copy>*{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.hero-t>*:nth-child(2),.hero-s .wrap>*:nth-child(2),.hero-split .copy>*:nth-child(2){animation-delay:.12s}
.hero-t>*:nth-child(3),.hero-s .wrap>*:nth-child(3),.hero-split .copy>*:nth-child(3){animation-delay:.24s}
.hero-t>*:nth-child(4),.hero-s .wrap>*:nth-child(4),.hero-split .copy>*:nth-child(4){animation-delay:.36s}
/* workflow: a line that grows across the steps, nodes per step */
.flow{position:relative;border-top:0;padding-top:36px}
.flow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.flow::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--ink);transform-origin:left;animation:grow 1.8s cubic-bezier(.2,.8,.2,1) .3s both}
.flow>div{position:relative}
.flow>div::before{content:"";position:absolute;left:0;top:-41px;width:11px;height:11px;border-radius:50%;background:#fff;border:1.5px solid var(--ink);box-sizing:border-box;transition:background .3s,transform .3s;z-index:1}
.flow>div:hover::before{background:var(--ink);transform:scale(1.25)}
/* buttons: fill from the left; links: underline runs out and back */
.btn,.wbtn{position:relative;overflow:hidden;isolation:isolate}
.btn::before,.wbtn::before{content:"";position:absolute;inset:0;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:-1}
.btn:hover{background:var(--ink)}
.btn:hover::before,.wbtn:hover::before,.ptile:hover .wbtn::before{transform:scaleX(1)}
.btn.outline::before{background:var(--ink)}
.btn.outline:hover{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px var(--ink)}
.on-dark .btn.outline:hover,.fcol .btn.outline:hover,.hero .btn.outline:hover{box-shadow:inset 0 0 0 1px #fff}
.cta .btn::before{background:var(--stone)}
.cta .btn:hover{background:#fff;color:var(--ink)}
.wbtn::before{background:var(--ink)}
.wbtn:hover,.ptile:hover .wbtn{background:#fff;color:#fff}
.link,.more{position:relative;border-bottom:0}
.link::after,.more::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left}
.link:hover::after,.more:hover::after{animation:runline .9s cubic-bezier(.4,0,.2,1)}
/* hotspots breathe */
.hot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--ink);opacity:0;animation:pulse 2.6s ease-out infinite;animation-delay:calc(var(--i,0) * .45s)}
/* scroll-driven reveals where supported (Play / full-window view); otherwise content is simply visible */
@supports (animation-timeline: view()){
 .intro,.copy,.book-l,.card,.tbl>div,.spec>div,.qs li,.faq details,.big,.empty{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 28%}
 :is(.steps,.flow,.journey,.tiles,.layers,.mcards,.figrow,.proj-row,.tile-row,.team,.ticks)>*{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 32%}
 :is(.steps,.flow,.journey,.tiles,.layers,.mcards,.figrow,.proj-row,.tile-row,.team,.ticks)>*:nth-child(2){animation-range:entry 7% entry 39%}
 :is(.steps,.flow,.journey,.tiles,.layers,.mcards,.figrow,.proj-row,.tile-row,.team,.ticks)>*:nth-child(3){animation-range:entry 14% entry 46%}
 :is(.steps,.flow,.journey,.tiles,.layers,.mcards,.figrow,.proj-row,.tile-row,.team,.ticks)>*:nth-child(4){animation-range:entry 21% entry 53%}
 :is(.steps,.flow,.journey,.tiles,.layers,.mcards,.figrow,.proj-row,.tile-row,.team,.ticks)>*:nth-child(5){animation-range:entry 28% entry 60%}
 :is(.steps,.flow,.journey,.tiles,.layers,.mcards,.figrow,.proj-row,.tile-row,.team,.ticks)>*:nth-child(n+6){animation-range:entry 35% entry 67%}
 .fig .img,.ptile .img,.hero-split .fig .img,.dframe .img{animation:curtain linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
 .flow::after{animation:grow linear both;animation-timeline:view();animation-range:entry 10% entry 85%;animation-delay:0s}
 .ico{view-timeline:--ico block}
 .ico :is(path,circle,rect,ellipse){animation:draw linear both;animation-timeline:--ico;animation-range:entry 15% entry 65%;animation-delay:0s}
 :is(.steps li,.flow>div,.j,.layers>div,.tile,.team li,.legend li):hover .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-timeline:auto;animation-range:normal}
}
@media (max-width:860px){
 .flow::before,.flow::after,.flow>div::before{display:none}
 .flow{padding-top:0}
 .flow .n{display:none}
 .flow>div{grid-template-columns:44px minmax(0,1fr)}
 .flow .ico{grid-row:span 3;width:36px;height:36px;margin:0}
 .layers .n{display:none}
 .layers>div{grid-template-columns:44px minmax(0,1fr)}
 .layers .ico{grid-row:span 2;width:36px;height:36px;margin:0}
 .steps .ico{width:36px;height:36px}
 .hot::after{inset:-4px}
}
@media (prefers-reduced-motion:reduce){
 .ar *,.ar *::before,.ar *::after{animation:none!important;transition:none!important}
 .ico :is(path,circle,rect,ellipse){stroke-dashoffset:0!important}
 .flow::after{transform:none}
}
/* ---- v1.3 door specimens, style & finish explorer, range map, collections ---- */
.door-wrap{width:100%;--face:#EFE9DF;--frame:#E3DBCD}
.door{width:100%;height:auto;display:block}
.f-cream{--face:#EFE9DF;--frame:#E3DBCD}.f-sage{--face:#C9D2C2;--frame:#B7C1AF}.f-graphite{--face:#3F4542;--frame:#33383A}.f-navy{--face:#2F3D4A;--frame:#27333E}
.f-oak{--face:#CBB08A;--frame:#B89A72}.f-walnut{--face:#7A5A42;--frame:#6A4C37}.f-ivory{--face:#F3F0EA;--frame:#E8E3DA}.f-greige{--face:#B9B0A4;--frame:#A89F93}
.door-card{display:flex;flex-direction:column;color:var(--ink)}
.door-frame{background:var(--stone);aspect-ratio:4/5;padding:10% 14%;display:flex;align-items:center;transition:background .3s}
.door-card:hover .door-frame{background:var(--stone-2)}
.door-card b{font-size:21px;font-weight:500;margin-top:16px;line-height:1.2}
.door-card small{display:block;font-size:14px;color:var(--soft);line-height:1.5;margin-top:4px}
.door-card:hover b{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.tiles.six{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.prof{display:flex;gap:10px;align-items:center;margin-top:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.prof svg{width:34px;height:22px;flex-shrink:0}
/* explorer */
.xp{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.xp-stage{background:var(--stone);padding:6% 20%;position:relative}
.xp-stage .cap{position:absolute;left:18px;bottom:12px;margin:0}
.xp-side{display:flex;flex-direction:column;gap:26px}
.xp-side h3{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seg button{min-height:46px;padding:0 10px;font-size:14px;letter-spacing:.04em;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #B9B4AC;transition:background .25s,color .25s}
.seg button:hover{background:var(--stone)}
.seg button.on{background:var(--ink);color:#fff;box-shadow:none}
.chips2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.chips2 button{display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:left;color:var(--mute);font-size:12px;line-height:1.3}
.chips2 i{display:block;width:100%;aspect-ratio:1;background:var(--face);box-shadow:inset 0 0 0 1px rgba(13,18,16,.14);transition:transform .25s}
.chips2 button:hover i{transform:translateY(-2px)}
.chips2 button.on i{box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 4px #fff}
.chips2 b{display:block;color:var(--ink);font-weight:500;font-size:13px}
.pick{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:6px}
.pick small{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.pick b{font-size:28px;font-weight:500;line-height:1.15}
.pick .cap{margin:0}
.compat{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.compat li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.45}
.compat span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding-top:3px}
.xp-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
/* range map */
.matrix{width:100%;border-collapse:collapse;font-size:15px;line-height:1.4}
.matrix th,.matrix td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.matrix thead th{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:12px}
.matrix td:not(:first-child),.matrix th:not(:first-child){text-align:center;width:14%}
.matrix td:first-child{font-weight:500;font-size:17px}
.matrix td:first-child small{display:block;font-weight:400;font-size:13px;color:var(--soft)}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ink);box-sizing:border-box;vertical-align:middle}
.dot.ok{background:var(--ink)}
.dot.cf{background:linear-gradient(90deg,var(--ink) 50%,transparent 50%)}
.dot.no{border-color:#C4BFB6;background:none;position:relative}
.dot.no::after{content:"";position:absolute;left:3px;right:3px;top:50%;height:1.5px;background:#C4BFB6}
.legend2{display:flex;gap:28px;flex-wrap:wrap;font-size:14px;color:var(--mute);margin-top:20px;align-items:center}
.legend2 span{display:inline-flex;align-items:center;gap:10px}
.matrix tr:hover td{background:#F6F3EE}
/* collections */
.coll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.coll-card{display:grid;grid-template-columns:minmax(0,1fr) 250px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:box-shadow .3s}
.coll-card:hover{box-shadow:0 30px 60px -40px rgba(13,18,16,.45)}
.coll-card .img{aspect-ratio:auto;height:100%;min-height:300px}
.coll-spec{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;border-left:1px solid var(--line)}
.coll-spec small.l{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.coll-spec b{font-size:21px;font-weight:500;line-height:1.2}
.coll-spec dl{margin:6px 0 0;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.coll-spec dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.coll-spec dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding-top:3px}
.coll-spec dd{margin:0;font-size:13px;line-height:1.45;color:var(--mute)}
.coll-spec .tag{align-self:flex-start}
.coll-spec .more{margin-top:auto;align-self:flex-start;padding-top:12px}
@media (max-width:1040px){.tiles.six{grid-template-columns:repeat(3,minmax(0,1fr))}.xp{grid-template-columns:1fr}.coll{grid-template-columns:1fr}.matrix{font-size:14px}}
@media (max-width:860px){
 .tiles.six,.tiles.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .door-card b{font-size:17px}
 .door-card small{font-size:13px}
 .xp{gap:28px}
 .xp-stage{padding:6% 14%;margin:0 calc(-1 * var(--gut))}
 .seg{grid-template-columns:repeat(2,minmax(0,1fr))}
 .seg button{font-size:13px}
 .chips2{gap:10px}
 .chips2 button{font-size:11px}
 .pick b{font-size:22px}
 .compat li{grid-template-columns:1fr;gap:4px}
 .matrix{display:block;overflow-x:auto}
 .matrix table{min-width:600px}
 .matrix th,.matrix td{padding:12px 8px;white-space:nowrap}
 .matrix td:first-child{font-size:15px}
 .coll-card{grid-template-columns:1fr}
 .coll-card .img{min-height:0;aspect-ratio:4/3}
 .coll-spec{border-left:0;border-top:1px solid var(--line)}
}
/* ---- v1.4 phase-2 patterns: style cards, compare, room map, responsibility table, scope tags, sample types ---- */
.kw{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.kw span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:4px 8px;color:var(--mute)}
.tile .rel{font-size:13px;color:var(--soft);margin-top:8px}
.tile .rel b{font-weight:500;color:var(--ink)}
.vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.vs>div{border-top:1px solid var(--ink);padding-top:18px;display:flex;flex-direction:column;gap:10px}
.vs h3{font-size:24px;font-weight:500;line-height:1.2}
.vs p{font-size:15px;line-height:1.6;color:var(--mute)}
.vs ul{margin:0;padding:0 0 0 18px;font-size:15px;line-height:1.6;color:var(--ink)}
.layers.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.layers.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.tbl.four>div{grid-template-columns:170px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
.tag.ok{background:var(--ink);color:#fff;border-color:var(--ink)}
.tag.rv{background:var(--stone);border-color:#CFC6B8}
.tag.no{color:var(--soft);border-style:dashed}
.plan{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:40px;align-items:start}
.plan .diagram{padding:20px}
.rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.room{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start;padding:12px 12px;border:1px solid var(--line);text-align:left;background:#fff;color:var(--ink);transition:background .25s,color .25s,border-color .25s}
.room:hover{background:var(--stone)}
.room.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.room .n{font-size:11px;letter-spacing:.16em;font-weight:500;padding-top:3px}
.room b{display:block;font-size:15px;font-weight:500;line-height:1.25}
.room small{display:block;font-size:12px;opacity:.75;line-height:1.35;margin-top:2px}
.summary{border:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:10px;background:#fff}
.summary small{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.summary b{font-size:22px;font-weight:500;line-height:1.2}
.summary p{font-size:14px;color:var(--mute);line-height:1.5}
.summary .chips{margin-top:2px}
.types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.type{display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;padding:16px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:box-shadow .25s,background .25s}
.type:hover{background:var(--stone)}
.type.on{box-shadow:inset 0 0 0 2px var(--ink);background:#fff}
.type b{font-size:16px;font-weight:500}
.type small{font-size:13px;color:var(--mute);line-height:1.4}
.type .ico{width:36px;height:36px}
.type .door{max-width:90px}
.figrow.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.figrow.three .img{aspect-ratio:4/3}
.record{border:1px solid var(--line);background:#fff}
.record .h{background:var(--stone);padding:14px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.record dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:6px 20px}
.record dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.record dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding-top:3px}
.record dd{margin:0;font-size:14px;line-height:1.5}
.record dd.ph2{color:var(--soft);font-style:italic}
.toggle-note{font-size:13px;color:var(--soft)}
.door-sm{max-width:160px}
.pairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pair{display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.pair .duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--stone);padding:10% 12%}
.pair b{font-size:19px;font-weight:500;line-height:1.2;margin-top:6px}
.pair small{font-size:14px;color:var(--mute);line-height:1.45}
@media (max-width:1040px){.vs{grid-template-columns:1fr}.plan{grid-template-columns:1fr}.rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.tbl.four>div{grid-template-columns:140px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px}.pairs{grid-template-columns:1fr}.layers.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
 .rooms{grid-template-columns:1fr}
 .types{grid-template-columns:1fr}
 .tbl.four>div{grid-template-columns:1fr}
 .record dl{grid-template-columns:1fr;padding:4px 16px}
 .figrow.three{grid-template-columns:1fr}
 .layers.three,.layers.four{grid-template-columns:1fr}
 .vs h3{font-size:20px}
}
.flow.seven{grid-template-columns:repeat(7,minmax(0,1fr));gap:18px}
.flow.seven b{font-size:17px}
@media (max-width:1040px){.flow.seven{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.flow.seven{grid-template-columns:1fr}}
/* ---- v1.5 checkboxes inside form fields; selectable category rows ---- */
.f input[type="checkbox"],.f input[type="radio"]{width:18px;height:18px;min-height:0;padding:0;margin:0;border:0;box-shadow:none;appearance:auto;-webkit-appearance:auto;accent-color:var(--ink);background:none}
.f input[type="checkbox"]:focus,.f input[type="radio"]:focus{box-shadow:none}
.f input[type="checkbox"]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cats label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;min-height:46px;padding:0 12px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:400;line-height:1.3;cursor:pointer;transition:background .2s,box-shadow .2s}
.cats label:hover{background:var(--stone)}
.cats label:has(input:checked){box-shadow:inset 0 0 0 1px var(--ink);background:#fff}
.cats label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
@media (max-width:860px){.cats{grid-template-columns:1fr 1fr}.cats label{padding:0 10px;font-size:13px}}
/* ---- v1.6 card detail + motion pass ---- */
a.tile>b::after{content:"→";display:inline-block;margin-left:8px;font-weight:400;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
a.tile:hover>b::after{transform:translateX(6px)}
.tile .img::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.26) 50%,transparent 68%);transform:translateX(-130%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.tile:hover .img::before{transform:translateX(130%)}
.img .badge{position:absolute;right:12px;bottom:12px;z-index:2;width:58px;padding:7px 9px;background:#fff;box-shadow:0 10px 24px -12px rgba(13,18,16,.5);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.img .badge .door-wrap{width:100%}
.tile:hover .img .badge{transform:translateY(-4px)}
.coll-card:hover .img img{transform:scale(1.03)}
.tbl>div:not(.h){transition:background .25s}
.tbl>div:not(.h):hover{background:rgba(13,18,16,.035)}
.chip{transition:background .2s,color .2s,border-color .2s}
.chip:hover{background:var(--stone)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip.on:hover{background:var(--forest)}
.room{grid-template-columns:34px minmax(0,1fr);gap:4px 10px;align-items:center}
.room .ico{width:30px;height:30px;color:inherit}
.room .num{font-size:10px;letter-spacing:.16em;font-weight:500;opacity:.6;margin-right:8px}
.room.on .ico :is(path,circle,rect,ellipse){animation:redraw .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:0s}
.zone rect{stroke-dasharray:1;stroke-dashoffset:0}
.zone.on rect{stroke-width:1.8;animation:draw .9s cubic-bezier(.4,0,.2,1) both}
.type{position:relative}
.type::after{content:"";position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10l3.5 3.5L15 7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;transform:scale(0);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.type.on::after{transform:scale(1)}
.type .door,.type .sw,.type .ico{transition:transform .3s}
.type.on .door,.type.on .sw,.type.on .ico{transform:translateY(-3px)}
.cats input{transition:transform .2s}
.cats label:has(input:checked) input{transform:scale(1.12)}
.vs .ico{margin-bottom:2px}
.team.ic li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;align-items:start}
.team.ic .ico{grid-row:span 2;width:36px;height:36px;margin-top:2px}
:is(.room,.type,.coll-card,.pair,.vs>div,.mcard):hover .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-delay:0s}
@supports (animation-timeline: view()){
 .record,.summary,.diagram{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 28%}
 :is(.coll,.pairs,.rooms,.types,.vs,.cats,.figrow)>*{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 32%}
 :is(.coll,.pairs,.rooms,.types,.vs,.cats,.figrow)>*:nth-child(2){animation-range:entry 7% entry 39%}
 :is(.coll,.pairs,.rooms,.types,.vs,.cats,.figrow)>*:nth-child(3){animation-range:entry 14% entry 46%}
 :is(.coll,.pairs,.rooms,.types,.vs,.cats,.figrow)>*:nth-child(n+4){animation-range:entry 21% entry 53%}
 :is(.room,.type,.coll-card,.pair,.vs>div,.mcard):hover .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-timeline:auto;animation-range:normal}
 .room.on .ico :is(path,circle,rect,ellipse){animation:redraw .8s cubic-bezier(.4,0,.2,1) forwards;animation-timeline:auto;animation-range:normal}
}
@media (max-width:860px){.img .badge{width:46px;padding:5px 7px;right:8px;bottom:8px}.room .ico{width:26px;height:26px}}
/* ---- v1.7 record tables: glyph column, numbering, state dots, phone cell labels ---- */
.tbl{counter-reset:row}
.tbl>div{padding:24px 0}
.tbl>div.h{border-bottom:1px solid var(--ink);padding:0 0 12px}
.tbl>div:not(.h){counter-increment:row}
.tbl .t{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.tbl .t::before{content:counter(row,decimal-leading-zero);font-size:11px;letter-spacing:.2em;font-weight:500;color:var(--soft)}
.tbl .t .ico{width:32px;height:32px;margin:0}
.tbl .t b{font-size:18px}
.tbl .thumb{display:block;width:96px;aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.tbl .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tbl>div:hover .thumb img{transform:scale(1.04)}
.tbl .thumb.dt{aspect-ratio:auto;width:72px;padding:6px 10px;background:var(--stone)}
.tbl .thumb.dt .door-wrap{width:100%}
.tbl p{font-size:16px;line-height:1.6}
.tbl p.m{color:var(--mute)}
.tbl p .tag{margin-top:0}
.tag{display:inline-flex;align-items:center;gap:8px;line-height:1.3}
.tag::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor;box-sizing:border-box;flex-shrink:0}
.tag.ok::before{background:#fff;border-color:#fff}
.tag.rv::before{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.tag.no::before{border-style:solid;opacity:.5}
.tag:not(.ok):not(.rv):not(.no)::before{display:none}
:is(.tbl>div):hover .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-delay:0s}
@supports (animation-timeline: view()){:is(.tbl>div):hover .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-timeline:auto;animation-range:normal}}
@media (max-width:860px){
 .tbl>div{padding:18px 0;gap:10px}
 .tbl .t{flex-direction:row;align-items:center;gap:10px}
 .tbl .t::before{order:3;margin-left:auto}
 .tbl .t .ico{width:28px;height:28px}
 .tbl .thumb{width:64px}
 .tbl .thumb.dt{width:52px;padding:4px 7px}
 .tbl .t b{font-size:17px}
 .tbl p{font-size:15px}
 .tbl p[data-l]::before{content:attr(data-l);display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:3px;font-weight:500}
}
/* ---- v1.8 exchange stepper: stage → what you send → what you receive ---- */
@keyframes growY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.xchg{list-style:none;margin:0;padding:0;position:relative}
.xchg::before{content:"";position:absolute;left:20px;top:28px;bottom:28px;width:1px;background:var(--line)}
.xchg::after{content:"";position:absolute;left:19.5px;top:28px;bottom:28px;width:2px;background:var(--ink);transform-origin:top;animation:growY 1.8s cubic-bezier(.2,.8,.2,1) .3s both}
.xchg li{position:relative;display:grid;grid-template-columns:40px 230px minmax(0,1fr);gap:0 28px;align-items:start;padding:14px 0}
.xchg .node{width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--ink);display:grid;place-items:center;font-size:12px;letter-spacing:.12em;font-weight:500;color:var(--ink);position:relative;z-index:1;transition:background .3s,color .3s,transform .3s}
.xchg li:hover .node{background:var(--ink);color:#fff;transform:scale(1.08)}
.xh{display:flex;align-items:center;gap:12px;min-height:40px}
.xh .ico{width:30px;height:30px;margin:0}
.xh b{font-size:19px;font-weight:500;line-height:1.2}
.xpair{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:10px;align-items:stretch}
.xin,.xout{padding:16px 18px;display:flex;flex-direction:column;gap:6px;transition:background .3s,box-shadow .3s}
.xin{background:var(--stone)}
.xout{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.xchg li:hover .xout{box-shadow:inset 0 0 0 1px var(--ink)}
.xin small,.xout small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--soft)}
.xout small{color:var(--ink)}
.xin p,.xout p{font-size:15px;line-height:1.5;color:var(--ink)}
.xarr{display:grid;place-items:center;color:var(--ink)}
.xarr svg{width:24px;height:24px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.xchg li:hover .xarr svg{transform:translateX(5px)}
.xchg li:hover .xh .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-delay:0s}
.xnote{margin-top:22px;font-size:14px;color:var(--soft);display:flex;gap:28px;flex-wrap:wrap}
.xnote span{display:inline-flex;align-items:center;gap:8px}
.xnote i{width:14px;height:14px;display:inline-block}
.xnote i.a{background:var(--stone)}
.xnote i.b{box-shadow:inset 0 0 0 1px var(--ink);background:#fff}
@supports (animation-timeline: view()){
 .xchg::after{animation:growY linear both;animation-timeline:view();animation-range:entry 10% exit 60%;animation-delay:0s}
 .xchg li{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
 .xchg li:hover .xh .ico :is(path,circle,rect,ellipse){animation:redraw .9s cubic-bezier(.4,0,.2,1) forwards;animation-timeline:auto;animation-range:normal}
}
@media (max-width:1040px){.xchg li{grid-template-columns:40px minmax(0,1fr);gap:10px 20px}.xchg .xpair{grid-column:2}}
@media (max-width:860px){
 .xchg::before,.xchg::after{left:17px}
 .xchg li{grid-template-columns:36px minmax(0,1fr);gap:8px 14px;padding:12px 0}
 .xchg .node{width:36px;height:36px;font-size:11px}
 .xchg .xpair{grid-template-columns:1fr;gap:8px}
 .xarr{height:28px}
 .xarr svg{transform:rotate(90deg)}
 .xchg li:hover .xarr svg{transform:rotate(90deg) translateX(4px)}
 .xin,.xout{padding:12px 14px}
 .xin p,.xout p{font-size:14px}
 .xh b{font-size:17px}
}
/* ---- v1.9 footer wordmark larger ---- */
.fbrand .brand{font-size:38px;letter-spacing:.22em}
.fbrand .brand small{font-size:11px;letter-spacing:.4em;margin-top:9px}
.fbrand{max-width:340px;gap:22px}
@media (max-width:860px){.fbrand .brand{font-size:30px}.fbrand .brand small{font-size:9.5px}}
/* ---- v2.0 field cards for spec records; checklist rows for tick lists ---- */
.spec{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;margin:0}
.spec>div{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;border:0;background:var(--stone);box-shadow:inset 0 0 0 1px transparent;position:relative;transition:box-shadow .3s,transform .3s}
.band .spec>div,.book .spec>div,.stone .spec>div,.hero-s .spec>div{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.spec>div:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.spec dt{font-size:10px;letter-spacing:.2em;padding:0;color:var(--soft)}
.spec dd{font-size:17px;line-height:1.5;padding-right:96px}
.spec dd small{margin-top:4px}
.spec .st{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--soft)}
.spec .st::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;box-sizing:border-box;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.spec .st.ok{color:var(--ink)}
.spec .st.ok::before{background:var(--ink)}
.spec .tag{margin-left:6px}
.ticks{gap:0;border-top:1px solid var(--line);counter-reset:tk}
.ticks li{grid-template-columns:24px minmax(0,1fr) 28px;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center;counter-increment:tk;transition:background .25s}
.ticks li::after{content:counter(tk,decimal-leading-zero);font-size:10px;letter-spacing:.18em;color:var(--soft);font-weight:500;text-align:right}
.ticks svg,.ticks .ico{width:22px;height:22px;margin:0}
.ticks svg :is(circle,path){stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s cubic-bezier(.4,0,.2,1) forwards;animation-delay:calc(var(--i,0) * .12s + .2s)}
.ticks li:nth-child(2) svg :is(circle,path){--i:1}.ticks li:nth-child(3) svg :is(circle,path){--i:2}.ticks li:nth-child(4) svg :is(circle,path){--i:3}.ticks li:nth-child(5) svg :is(circle,path){--i:4}.ticks li:nth-child(6) svg :is(circle,path){--i:5}
.ticks li:hover svg :is(circle,path){animation:redraw .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:0s}
.book .ticks,.band .ticks,.stone .ticks{border-color:#CFC6B8}
.book .ticks li,.band .ticks li,.stone .ticks li{border-color:#CFC6B8}
.ticks.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
@supports (animation-timeline: view()){
 .spec>div{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
 .ticks li{view-timeline:--tk}
 .ticks svg :is(circle,path){animation:draw linear both;animation-timeline:--tk;animation-range:entry 20% entry 80%;animation-delay:0s}
 .ticks li:hover svg :is(circle,path){animation:redraw .8s cubic-bezier(.4,0,.2,1) forwards;animation-timeline:auto;animation-range:normal}
}
@media (max-width:860px){
 .spec{grid-template-columns:1fr;gap:10px}
 .spec>div{padding:14px 16px 16px;gap:6px}
 .spec dd{font-size:15px;padding-right:0}
 .spec .st{position:static;margin-top:4px}
 .ticks li{grid-template-columns:22px minmax(0,1fr) 24px;gap:12px;padding:11px 0}
 .ticks.docs{grid-template-columns:1fr}
}

/* Public contact routes. The same footer serves the home page and interior pages. */
.foot-contact{display:grid;grid-template-columns:1fr 1.3fr 1.05fr;gap:40px;align-items:end;margin-bottom:48px;padding-bottom:44px;border-bottom:1px solid #354038}.foot-contact-intro>span,.foot-contact-label{display:block;font-size:14px;line-height:1.5;color:#b8c2b9}.foot-contact-intro h2{margin:12px 0 0;font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.025em}.foot-contact-link{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:72px;padding:4px 0;color:#fff;text-decoration:none}.foot-contact-value{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:clamp(19px,1.7vw,25px);line-height:1.4;letter-spacing:-.025em}.foot-contact-value>span{min-width:0;overflow-wrap:anywhere}.foot-contact-value svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .2s}.foot-contact-link:hover .foot-contact-value>span{text-decoration:underline;text-underline-offset:5px}.foot-contact-link:hover svg{transform:translate(2px,-2px)}.foot-contact-link:focus-visible{outline:2px solid #fff;outline-offset:7px}@media(max-width:1100px){.foot-contact{grid-template-columns:1fr 1fr;gap:24px 36px}.foot-contact-intro{grid-column:1/-1}.foot-contact-intro h2 br{display:none}.foot-contact-value{font-size:22px}}@media(max-width:700px){.foot-contact{grid-template-columns:1fr;gap:26px;margin-bottom:36px;padding-bottom:32px}.foot-contact-intro{margin-bottom:2px}.foot-contact-intro h2{font-size:28px;max-width:300px}.foot-contact-link{min-height:70px;gap:10px}.foot-contact-value{font-size:22px}.foot-contact-value svg{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.foot-contact-value svg{transition:none}}

.foot .foot-contact-intro h2{color:#fff}@media(max-width:700px){.foot-contact-link[href^="mailto:"] .foot-contact-value{font-size:clamp(17px,4.8vw,22px)}}
/* About: team and experience */
.ac-team{display:grid;gap:56px;margin-top:8px}
.ac-team-lead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:center}
.ac-team-lead img,.ac-person img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--stone)}
.ac-team-lead h3{font-size:clamp(28px,3vw,40px);margin:10px 0 16px}
.ar .ac-team-lead p,.ar .ac-person p,.ar .ac-exp p{color:var(--mute)}
.ac-team-lead p{max-width:56ch}
.ac-team-lead ul{list-style:none;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:8px}
.ac-team-lead li{font-size:14px;padding:6px 12px;border:1px solid var(--line)}
.ac-team-social{font-size:15px;border-bottom:1px solid currentColor}
.ac-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.ac-person img{margin-bottom:14px}
.ac-person h3{font-size:22px}
.ar .ac-person .ac-role{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin:4px 0 8px}
.ac-person p{font-size:16px}
.ac-team-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:28px}
.ac-team-facts strong{display:block;font-size:clamp(28px,3vw,40px);font-weight:500}
.ac-team-facts span{font-size:15px;color:var(--soft)}
.ac-exp{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:8px}
.ac-exp figure,.ac-exp-photos figure{margin:0}
.ac-exp img,.ac-exp-photos img{width:100%;height:auto;display:block}
.ac-exp-photos img{aspect-ratio:4/3;object-fit:cover}
.ac-exp figcaption,.ac-exp-photos figcaption{font-size:13px;color:var(--soft);margin-top:8px}
.ac-exp h3{font-size:clamp(24px,2.4vw,32px);margin:10px 0 14px}
.ar .ac-exp p+p{margin-top:12px}
.ac-exp-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}
.ac-article-publisher a{border-bottom:1px solid currentColor}
@media (max-width:860px){.ac-team-lead,.ac-exp{grid-template-columns:1fr}.ac-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-team-facts,.ac-exp-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Arcaya: WordPress additions to the design system (arcaya.css). Nothing here changes the approved visuals. */

/* utility */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:var(--ink);padding:12px 18px;font-size:16px}
.skip:focus{left:12px;top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
figure.tile{margin:0}
.prose{max-width:760px;margin:0 auto;font-size:18px;line-height:1.75}
.prose h2,.prose h3{margin:1.6em 0 .5em}.prose a{text-decoration:underline;text-underline-offset:4px}.prose ul,.prose ol{padding-left:1.3em}
.consent a{text-decoration:underline;text-underline-offset:3px}

/* darker rules where the design places a table, list or spec on a stone band or form block */
.band :is(.tbl,.spec,.layers),.hero-s :is(.tbl,.spec),.book .team li,.book .team{border-color:#CFC6B8}
.band :is(.tbl,.spec,.layers) :is(> div,li){border-color:#CFC6B8}

/* hero slideshow: each slide wraps the image, headline and credit */
.hero .slide{display:contents}
.hero .slide:not(.on){display:none}
.hero .slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.fx .slide.on>img{animation:acfade .8s ease both}
@keyframes acfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.hero.fx .slide.on>img{animation:none}}

/* header dropdowns */
.nav .nav-item{position:relative;display:flex}
.nav .nav-item>a{cursor:pointer}
.nav .sub{position:absolute;left:0;top:100%;min-width:260px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 14px 32px rgba(13,18,16,.14);padding:10px 0;display:none;flex-direction:column;z-index:40}
.nav .nav-item:hover>.sub,.nav .nav-item:focus-within>.sub,.nav .nav-item.open>.sub{display:flex}
.nav .sub a{display:block;padding:11px 22px;font-size:16px;box-shadow:none;white-space:normal}
.nav .sub a:hover{background:var(--stone);box-shadow:none}
.nav .nav-item>a svg{transition:transform .2s}.nav .nav-item:hover>a svg,.nav .nav-item.open>a svg{transform:rotate(180deg)}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:90}
.drawer-bg{position:absolute;inset:0;background:rgba(13,18,16,.5);animation:acfade .25s ease both}
.drawer-p{position:absolute;right:0;top:0;bottom:0;width:min(420px,92vw);background:#fff;color:var(--ink);display:flex;flex-direction:column;box-shadow:-18px 0 40px rgba(0,0,0,.18);animation:acslide .3s cubic-bezier(.2,.7,.2,1) both}
@keyframes acslide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.drawer-h{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.drawer-x{width:44px;height:44px;display:grid;place-items:center}.drawer-x svg{width:22px;height:22px}
.drawer-nav{flex:1;overflow:auto;padding:8px 22px}
.drawer-nav>a.top,.drawer-nav summary{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:22px;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.drawer-nav summary::-webkit-details-marker{display:none}.drawer-nav summary svg{width:14px;height:14px;transition:transform .2s}.drawer-nav details[open] summary svg{transform:rotate(180deg)}
.drawer-nav details a{display:block;padding:12px 0 12px 14px;font-size:18px;color:var(--soft)}.drawer-nav details{border-bottom:1px solid var(--line)}.drawer-nav details summary{border-bottom:0}
.drawer-f{padding:18px 22px 26px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line)}
.drawer-f a:not(.btn){font-size:15px;color:var(--soft)}.drawer-f .btn{width:100%}
body.drawer-open{overflow:hidden}

/* forms */
.f .err{display:block;color:#a42d2b;font-size:13px;margin-top:6px}
.f.has-err input,.f.has-err select,.f.has-err textarea{border-color:#a42d2b}
.files{list-style:none;margin:0;padding:0;font-size:14px;display:flex;flex-direction:column;gap:6px}
.files:empty{display:none}
.files li{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #E2DACF;padding:8px 12px}
.files button{color:var(--soft);text-decoration:underline;font-size:13px}
.drop.over{background:var(--stone);border-color:var(--ink)}
.btn.go[aria-busy="true"]{opacity:.7;cursor:progress}
.chips .chip .sr{position:absolute}
.card[data-ac-form] .ctrls [hidden]{display:none!important}
.sent .review{white-space:pre-wrap}

/* filter / empty states */
.tile[hidden],.mcard[hidden],.door-wrap[hidden]{display:none!important}
.empty[hidden]{display:none!important}
[id]{scroll-margin-top:96px}

/* ---- Page-specific rules carried over verbatim from the approved design pages ---- */
/* from capabilities.html */
.hero-s .wrap.sysd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;margin-top:72px;text-align:left;align-items:start}
@media (max-width:860px){.hero-s .wrap.sysd{grid-template-columns:1fr;margin-top:40px;gap:20px}}
/* from collections.html */
.hero-s .wrap.band-img{display:block;margin-top:64px;text-align:left}
.band-img .img{aspect-ratio:21/9}
@media (max-width:860px){.hero-s .wrap.band-img{margin-top:36px;padding:0}.band-img .img{aspect-ratio:4/3}.band-img .cap{padding:0 var(--gut)}}
/* from explore-styles.html (scoped to that page; other pages use the standard tile type) */
.ac-page-explore-styles .tiles.four .tile b{font-size:21px}
.ac-page-explore-styles .tiles.four .tile small{font-size:14px}
.ph.cover{aspect-ratio:4/3;padding:20px;font-size:13px}
/* from for-the-trade.html */
.docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 48px}
@media (max-width:860px){.docs{grid-template-columns:1fr}}
/* from kitchens.html */
.plans{background:#fff;padding:28px;aspect-ratio:4/5;display:flex}
.plans svg{width:100%;height:100%;display:block}
.faqcard .faq{padding-bottom:8px}
@media (max-width:860px){.plans{aspect-ratio:auto;padding:16px}}
/* from pantry-storage.html */
.cmp2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start}
.opt{background:#fff;aspect-ratio:4/3;padding:20px;display:flex}
.opt svg{width:100%;height:100%;display:block}
@media (max-width:1040px){.cmp2{grid-template-columns:1fr}}
/* from process.html */
.hero-s .wrap.pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px;text-align:left;align-items:start}
@media (max-width:860px){.hero-s .wrap.pair{grid-template-columns:1fr;margin-top:36px}}
.dframe{background:#fff;padding:16px}
.dframe .img{aspect-ratio:3/2}
.dframe figcaption{font-size:14px;color:#4A524E;margin-top:12px;line-height:1.5}
/* from samples.html */
.errline{font-size:14px;color:#B23A2A}
.chip .x{margin-left:4px;opacity:.7}
/* from wardrobes.html */
.wd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:start}
@media (max-width:1040px){.wd{grid-template-columns:1fr}}
/* from whole-home-cabinetry.html */
.zone{cursor:pointer}
.zone rect{fill:#fff;stroke:#0D1210;stroke-width:1.2;transition:fill .25s}
.zone.on rect{fill:#D9E2D2}
.zone text{font-family:Jost,Futura,'Avenir Next',sans-serif;font-size:11px;letter-spacing:1.5px;fill:#0D1210;font-weight:500;pointer-events:none}
.zone tspan.k{font-size:10px;letter-spacing:0;font-weight:400;fill:#4A524E}
/* from wood-veneer.html */
.hero-s .wrap.xs{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;margin-top:72px;text-align:left;align-items:stretch}
.xs .ph{aspect-ratio:auto;min-height:420px;height:100%}
.xs figure{margin:0;background:#fff;padding:28px 28px 20px;display:flex;flex-direction:column;gap:14px}
.xs svg{width:100%;height:auto;display:block}
.xs figcaption{font-size:13px;color:#4A524E;line-height:1.5}
.stone-sec{background:#EAE3D9}
@media (max-width:860px){.hero-s .wrap.xs{grid-template-columns:1fr;margin-top:40px}.xs .ph{min-height:220px}.xs figure{padding:16px 14px 12px}}

/* Space-category detail references: show complete portrait details below the standard grid. */
#detail-references .ptile .img{aspect-ratio:auto}
#detail-references .ptile .img img{width:100%;height:auto;object-fit:contain}
#detail-references .ptile::after{content:none}
#detail-references .ptile-t{position:static;padding:40px;color:var(--ink)}
#detail-references .ptile:hover .img img{transform:none}
@media (max-width:860px){#detail-references .ptile-t{padding:22px 20px}}

/* Catalogue evidence: retain the complete component and its readable caption. */
:is(#detail-references,#construction-reference) .tile .img{aspect-ratio:4/3;background:#f3f1ec}
:is(#detail-references,#construction-reference) .tile .img img{width:100%;height:100%;object-fit:contain}
:is(#detail-references,#construction-reference) figure.tile:hover .img img{transform:none}
:is(#detail-references,#construction-reference) figure.tile:hover b{text-decoration:none}
:is(.ac-page-painted-finishes,.ac-page-edge-details,.ac-page-handleless-kitchen,.ac-page-wardrobe-organisation,.ac-page-design-engineering,.ac-page-materials-craftsmanship,.ac-page-quality,.ac-page-for-the-trade) .hero-split .fig .img{aspect-ratio:auto}
:is(.ac-page-painted-finishes,.ac-page-edge-details,.ac-page-handleless-kitchen,.ac-page-wardrobe-organisation,.ac-page-design-engineering,.ac-page-materials-craftsmanship,.ac-page-quality,.ac-page-for-the-trade) .hero-split .fig .img img{height:auto;object-fit:contain}
:is(#shaped-fronts,#rounded-ends,#corner-to-room,#island-composition,#veneer-layer,#surface-composition) .fig .img{aspect-ratio:auto}
:is(#shaped-fronts,#rounded-ends,#corner-to-room,#island-composition,#veneer-layer,#surface-composition) .fig .img img{height:auto;object-fit:contain}
@media(max-width:600px){
 :is(#detail-references,#construction-reference,#project-in-practice) .tiles{grid-template-columns:1fr;gap:32px}
 :is(#detail-references,#construction-reference) .tile .img{max-height:360px}
}

/* Two evidence figures form a balanced pair, then stack on small screens. */
#detail-references .tiles:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:860px){#detail-references .tiles:has(> :nth-child(2):last-child){grid-template-columns:1fr}}

/* Six native disclosure panels; warm stone and quiet geometric type. */
.ac-header{isolation:isolate}
.ac-header>.wrap{position:static;max-width:1440px;gap:24px}
.ac-header .brand{flex-shrink:0}
.ac-header .head-end{gap:20px}
.ac-header.solid,.ac-header.ac-is-scrolled,.ac-header.ac-menu-open{background:var(--stone);color:var(--ink)}
.ac-header.ac-menu-open,.ac-header.ac-is-scrolled{box-shadow:0 1px 0 #0d121022}
.ac-header.ac-menu-open{transition:none}
.ac-nav{display:flex;align-items:center;justify-content:center;gap:23px;margin-left:auto}
.ac-nav-item{position:static}
.ac-nav-control,.ac-search>summary,.ac-menu-button{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;min-height:48px;font-size:16px;white-space:nowrap}
.ac-nav-control::-webkit-details-marker,.ac-search>summary::-webkit-details-marker,.ac-menu-button::-webkit-details-marker,.ac-mobile-section>summary::-webkit-details-marker{display:none}
.ac-nav-control>span{padding:3px 0;border-bottom:1px solid transparent}
.ac-nav-item[open]>.ac-nav-control>span,.ac-nav-control:hover>span{border-color:currentColor}
.ac-nav-control svg,.ac-mobile-section>summary svg{width:10px;height:10px;transition:transform 120ms}
.ac-nav-item[open]>.ac-nav-control svg,.ac-mobile-section[open]>summary svg{transform:rotate(180deg)}
.ac-mega{position:absolute;top:100%;left:var(--ac-panel-left,16px);width:min(900px,calc(100vw - 32px));max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;background:#f5f1ea;color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px #0d12101c;padding:25px 28px 0;animation:ac-menu-in 120ms ease both}
.ac-nav-item:has(.ac-knowledge-grid) .ac-mega{width:min(980px,calc(100vw - 32px))}
.ac-mega-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px}
.ac-mega-heading>span,.ac-small-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.ac-mega-heading>p{font-size:17px;line-height:1.4;margin:0}
.ac-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-bottom:23px}
.ac-knowledge-grid{grid-template-columns:1fr 1fr .96fr 1.16fr;gap:23px}
.ac-mega-group{min-width:0}
.ac-mega-group .ac-mega-title,.ac-mega-cards>.ac-mega-title{font:500 10px/1.5 var(--font);letter-spacing:.11em;text-transform:uppercase;margin:0 0 10px;padding-bottom:11px;border-bottom:1px solid #0d121024;text-wrap:initial}
.ac-mega-group ul{padding:0;margin:0;list-style:none}
.ac-mega-group li a{display:block;font-size:15px;line-height:1.4;padding:7px 7px;margin:0 -7px;text-decoration:none;transition:background 120ms}
.ac-mega-group a:hover,.ac-mega-group a[aria-current=page]{background:#e6dfd3}
.ac-mega-stack{display:grid;align-content:start;gap:20px}
.ac-mega-cards{min-width:0}
.ac-start-card{position:relative;display:block;padding:14px 25px 14px 14px;margin-bottom:9px;background:#e9e2d7;border:1px solid #0d121014;transition:background 120ms}
.ac-start-card:hover{background:#ded4c4}
.ac-start-card>span{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.ac-start-card strong{display:block;font-size:17px;font-weight:400;line-height:1.16}
.ac-start-card p{font-size:12px;line-height:1.4;color:var(--soft);margin:8px 0 0}
.ac-start-card>b{position:absolute;right:11px;top:11px;font-weight:400}
.ac-project-card img{width:100%;height:145px;object-fit:cover}
.ac-project-card>span{display:flex;justify-content:space-between;gap:15px;font-size:17px;margin-top:10px}
.ac-project-card b{font-weight:400}
.ac-menu-caption{font-size:12px;line-height:1.5;color:var(--soft);margin-top:7px!important}
.ac-about-card{background:#e9e2d7;padding:20px}
.ac-about-card strong{display:block;font-weight:400;font-size:25px;line-height:1.2;margin:16px 0 12px}
.ac-about-card p{font-size:14px;color:var(--soft);line-height:1.5}
.ac-about-card>a{display:block;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-top:24px}
.ac-mega-footer{border-top:1px solid #0d121026;padding:15px 0;display:flex;gap:20px;justify-content:space-between;font-size:12px}
.ac-mega-footer>span{color:var(--soft)}
.ac-mega-footer a{text-decoration:underline;text-underline-offset:4px}
.ac-header .head-end>.btn{font-size:11px;min-height:44px;padding:0 17px;white-space:nowrap}
.ac-header :focus-visible{outline:2px solid #1f1d1a;outline-offset:4px}
.ac-search>summary{font-size:13px;gap:8px}
.ac-search>summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.ac-search-panel{position:absolute;right:var(--gut);top:100%;width:min(460px,calc(100vw - 32px));padding:26px;background:#f5f1ea;color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px #0d12101c;animation:ac-menu-in 120ms ease both}
.ac-search-form label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:11px}
.ac-search-form>div{display:flex;align-items:center;border-bottom:1px solid #1f1d1a}
.ac-search-form input{width:100%;min-width:0;min-height:48px;padding:8px 0;font:16px var(--font);border:0;background:transparent;color:var(--ink);border-radius:0}
.ac-search-form button{width:44px;height:48px;flex-shrink:0;font-size:23px}
.ac-search-panel>p{font-size:13px;color:var(--soft);margin-top:16px}
.ac-mobile-menu{display:none}
.ac-nav-link{font-size:16px;min-height:48px;display:flex;align-items:center}
@keyframes ac-menu-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1025px) and (max-width:1240px){.ac-header>.wrap{gap:18px}.ac-nav{gap:15px}.ac-nav-control{font-size:14px;gap:5px}.ac-header .head-end{gap:14px}.ac-search>summary>span{display:none}.ac-header .brand{font-size:20px}.ac-header .head-end>.btn{padding:0 12px;letter-spacing:.04em}}
@media(min-width:1025px){.ac-header .burger{display:none!important}}
@media(max-width:1024px){
 .ac-nav,.ac-header .ac-search{display:none}.ac-mobile-menu{display:block}.ac-header>.wrap{gap:18px}.ac-header .head-end{margin-left:auto;gap:18px}
 .ac-menu-button{gap:10px;min-width:64px;min-height:44px;font-size:13px;justify-content:flex-end}
 .ac-menu-button svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.4;fill:none}
 .ac-close-label{display:none}
 .ac-mobile-menu[open]>.ac-menu-button{position:fixed;z-index:203;top:18px;right:var(--gut);color:var(--ink)}
 .ac-mobile-menu[open] .ac-open-label{display:none}.ac-mobile-menu[open] .ac-close-label{display:inline}
 .ac-mobile-menu[open]>.ac-menu-button svg{transform:rotate(90deg)}
 .ac-mobile-panel{position:fixed;inset:0;z-index:201;color:var(--ink);background:#f5f1ea;display:grid;grid-template-rows:82px minmax(0,1fr) auto;height:100dvh;animation:ac-menu-in 120ms ease both}
 .ac-mobile-brand{display:flex;align-items:center;padding:0 var(--gut);border-bottom:1px solid var(--line)}
 .ac-mobile-scroll{overflow-y:auto;overscroll-behavior:contain;padding:22px var(--gut) 24px}
 .ac-mobile-scroll>.ac-search-form{margin-bottom:23px}
 .ac-mobile-section{border-top:1px solid var(--line)}
 .ac-mobile-section:last-child{border-bottom:1px solid var(--line)}
 .ac-mobile-section>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;min-height:63px;font-size:24px;line-height:1.3;padding:16px 0}
 .ac-mobile-section>summary svg{width:13px;height:13px}
 .ac-mobile-groups{padding:7px 0 24px}
 .ac-mobile-groups .ac-mega-group{margin-bottom:23px}
 .ac-mobile-groups .ac-mega-group .ac-mega-title,.ac-mobile-groups .ac-mega-cards>.ac-mega-title{font-size:11px;margin-bottom:6px}
 .ac-mobile-groups .ac-mega-group li a{font-size:16px;min-height:44px;padding:11px 8px}
 .ac-mobile-overview{display:flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:5px;font-size:15px}
 .ac-mobile-groups .ac-mega-cards{margin:24px 0}
 .ac-mobile-groups .ac-start-card{min-height:110px;padding:18px}
 .ac-mobile-groups .ac-start-card>span{font-size:11px}.ac-mobile-groups .ac-start-card strong{font-size:20px}.ac-mobile-groups .ac-start-card p{font-size:15px}
 .ac-mobile-footer{border-top:1px solid var(--line);background:#f5f1ea;padding:16px var(--gut) max(16px,env(safe-area-inset-bottom))}
 .ac-mobile-footer>.btn{width:100%;justify-content:space-between;font-size:15px;min-height:52px;letter-spacing:.06em;padding:0 20px}
 .ac-mobile-direct{display:flex;font-size:24px;min-height:64px;align-items:center}
 body.ac-mobile-open{overflow:hidden}
}
@media(max-width:600px){.ac-header .head-end>.btn{display:none}.ac-header .head-end{gap:0}}
@media(prefers-reduced-motion:reduce){.ac-mega,.ac-search-panel,.ac-mobile-panel{animation:none}.ac-nav-control svg,.ac-start-card,.ac-mega-group li a{transition:none}}

/* Arcaya editorial library. All rules are bounded to editorial content. */
.sec:has(>.wrap>.ed-root){padding:0}
.ed-root{--ed-rule:#d9d9cf;--ed-muted:#596157;--ed-paper:#f1f0e9;--ed-green:#253d32;padding:0 0 72px}
.ar .ed-root h1,.ar .ed-root h2,.ar .ed-root h3{font-weight:400;letter-spacing:-.025em;text-wrap:balance}
.ed-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding:32px 0 20px;font-size:12px;color:var(--ed-muted)}
.ed-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.ed-breadcrumb span[aria-hidden]{color:#8b9185}
.ed-eyebrow{display:block;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;line-height:1.6}
.ed-hero{padding:38px 0 66px;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.ar .ed-hero h1{font-size:clamp(42px,4.7vw,68px);line-height:1.06;margin:22px 0 26px;max-width:17ch}
.ar .ed-hero p{font-size:18px;line-height:1.7;color:#444f45;max-width:49ch}
.ed-hero-visual{position:relative;margin:0;background:var(--ed-paper)}
.ed-hero-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ed-hero-visual.ed-schematic img{object-fit:contain}
.ed-hero-visual figcaption{position:static;padding:12px 0;background:#fff;font-size:11px;line-height:1.5;color:var(--ed-muted)}
.ed-hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:28px 0 0;border-top:1px solid var(--ed-rule);padding-top:17px;font-size:12px;color:var(--ed-muted)}
.ed-hero-meta strong{font-weight:500;color:var(--ink)}
.ed-inline-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid currentColor;padding:12px 0 7px;font-size:14px;letter-spacing:.02em}
.ed-inline-link:hover{color:#59735f}
.ed-hero .ed-inline-link{margin-top:20px}
.ed-jump{display:flex;gap:28px;padding:22px 0;margin-bottom:0;border-top:1px solid var(--ed-rule);border-bottom:1px solid var(--ed-rule);overflow-x:auto;scrollbar-width:thin}
.ed-jump a{font-size:13px;white-space:nowrap;min-height:30px;display:inline-flex;align-items:center;gap:16px}
.ed-jump a:hover{text-decoration:underline;text-underline-offset:5px}
.ed-jump small{font-size:10px;color:#6d796b;letter-spacing:.03em}
.ed-section{padding:66px 0;border-bottom:1px solid var(--ed-rule);scroll-margin-top:35px}
.ed-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.ar .ed-section-head h2{font-size:clamp(32px,3vw,44px);line-height:1.12;margin:12px 0 0}
.ed-section-head>p{font-size:15px;color:var(--ed-muted);max-width:38ch}
.ed-feature{display:grid;grid-template-columns:1.45fr 1fr;gap:42px;align-items:center}
.ed-feature-visual{display:block;overflow:hidden;background:var(--ed-paper)}
.ed-feature-visual img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}
.ed-feature-visual:hover img{transform:scale(1.025)}
.ar .ed-feature h3{font-size:clamp(28px,3vw,42px);line-height:1.15;margin:18px 0}
.ed-feature p{color:var(--ed-muted);font-size:17px;line-height:1.7}
.ed-feature .ed-inline-link{margin-top:18px}
.ed-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.ed-filter{padding:10px 19px;border:1px solid #c9cec2;border-radius:0;font-size:13px;min-height:44px;display:inline-flex;align-items:center;transition:background .2s,color .2s}
.ed-filter[aria-pressed=true],.ed-filter.is-selected{color:#fff;background:var(--ed-green);border-color:var(--ed-green)}
.ed-filter:hover{border-color:var(--ed-green)}
.ed-result-count{font-size:12px;color:var(--ed-muted);margin-bottom:20px!important}
.ed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}
.ed-card{min-width:0;display:flex;flex-direction:column;position:relative}
.ed-card[hidden]{display:none!important}
.ed-card-visual{display:block;background:var(--ed-paper);overflow:hidden}
.ed-card-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.ed-card:hover .ed-card-visual img{transform:scale(1.025)}
.ed-card-meta{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-muted)}
.ar .ed-card h3{font-size:24px;line-height:1.2;margin:12px 0}
.ed-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ed-card p{font-size:15px;line-height:1.65;color:var(--ed-muted);max-width:45ch}
.ed-card .ed-inline-link{align-self:flex-start;margin-top:auto;padding-top:20px;font-size:12px}
.ed-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ed-rule)}
.ed-guide-card{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:15px;padding:30px 28px 30px 0;border-bottom:1px solid var(--ed-rule);align-items:start;min-width:0}
.ed-guide-card:nth-child(even){border-left:1px solid var(--ed-rule);padding-left:28px}
.ed-guide-no{font-size:12px;line-height:26px;color:#6b7868}
.ar .ed-guide-card h3{font-size:25px;line-height:1.15;margin-bottom:12px}
.ed-guide-card p{font-size:14px;line-height:1.65;color:var(--ed-muted);max-width:45ch}
.ed-guide-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ed-guide-arrow{font-size:21px}
.ed-callout{background:#e6e9de;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin:50px 0 0}
.ar .ed-callout h2{font-size:34px;line-height:1.16;margin:10px 0 0}
.ed-callout p{font-size:16px;line-height:1.7;color:#455143}
.ed-callout .ed-inline-link{margin-top:14px}
.ed-layout{display:grid;grid-template-columns:210px minmax(0,760px);gap:64px;justify-content:space-between;padding:52px 0 20px;border-top:1px solid var(--ed-rule);align-items:start}
.ed-toc{position:sticky;top:28px;font-size:12px;line-height:1.5;max-height:calc(100vh - 60px);overflow:auto}
.ed-toc .ed-eyebrow{margin-bottom:18px;font-size:10px;color:var(--ed-muted)}
.ed-toc nav{display:flex;flex-direction:column;border-left:1px solid var(--ed-rule);padding:0}
.ed-toc a{display:block;padding:10px 0 10px 15px;color:#60695e;border-left:2px solid transparent;margin-left:-1px}
.ed-toc a[aria-current=location]{border-left-color:var(--ed-green);color:var(--ed-green);font-weight:500}
.ed-toc a:hover{color:var(--ink)}
.ed-toc .ed-inline-link{font-size:12px;color:var(--ink);border-left:0;padding-left:0;margin-top:25px}
.ed-article{min-width:0;max-width:100%}
.ed-toc{min-width:0}
.ed-article>section{scroll-margin-top:35px;padding:0 0 42px;margin:0 0 38px;border-bottom:1px solid var(--ed-rule)}
.ar .ed-article h2{font-size:35px;line-height:1.2;margin:0 0 22px}
.ar .ed-article h3{font-size:23px;line-height:1.3;margin:28px 0 16px}
.ed-article p,.ed-article li{font-size:17px;line-height:1.8;color:#3c473e}
.ar .ed-article p{margin:0 0 18px}
.ed-article ul,.ed-article ol{padding-left:23px;margin:18px 0 24px}
.ed-article li{padding-left:7px;margin:8px 0}
.ed-article a:not(.ed-inline-link){text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ed-article strong{font-weight:500;color:#14261f}
.ed-note{background:#eef0e8;border-left:2px solid #718369;padding:22px 26px;margin:26px 0}
.ed-note .ed-eyebrow{font-size:10px;margin-bottom:10px;color:#3c513e}
.ar .ed-note p{font-size:15px;line-height:1.7;margin:0}
.ed-table-wrap{overflow-x:auto;overscroll-behavior-x:contain;margin:26px 0}
.ed-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6;text-align:left;min-width:520px}
.ed-table caption{text-align:left;font-size:12px;padding-bottom:14px;color:var(--ed-muted)}
.ed-table th,.ed-table td{padding:16px 15px;border-bottom:1px solid #d9ddd2;vertical-align:top;min-width:125px}
.ed-table thead th{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#3e5141;background:#e7eadf;font-weight:500}
.ed-table tbody th{font-weight:500;color:#1a2c21}
.ed-table tbody tr:nth-child(even){background:#f5f6f1}
.ed-table td{color:#465145}
.ed-palette{display:flex;gap:14px;padding:24px 0}
.ed-palette>div{flex:1;min-width:0}
.ed-palette i{display:block;height:65px;margin-bottom:9px;border:1px solid #d6d8ce}
.ed-palette span{font-size:12px;color:#5c6859}
.ed-spec-list{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 0;border-top:1px solid var(--ed-rule)}
.ed-spec-list div{padding:18px 20px 18px 0;border-bottom:1px solid var(--ed-rule)}
.ed-spec-list dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#606b5c;margin-bottom:6px}
.ed-spec-list dd{margin:0;font-size:15px;line-height:1.6}
.ed-article .ed-study-figure{margin:26px 0 30px;background:#eeece3}
.ed-study-figure img{width:100%;height:auto;display:block}
.ed-study-figure figcaption{padding:14px 18px;background:#f7f7f1;color:var(--ed-muted);font-size:12px;line-height:1.6}
.ed-reference-note{font-size:12px!important;line-height:1.7!important;color:#61705f!important}
.ed-qa{border-bottom:1px solid var(--ed-rule)}
.ed-qa summary{list-style:none;cursor:pointer;padding:24px 36px 24px 0;position:relative;font-size:20px;line-height:1.4}
.ed-qa summary::-webkit-details-marker{display:none}
.ed-qa summary::after{content:'+';position:absolute;right:0;top:23px;font-size:23px;font-weight:300}
.ed-qa[open] summary::after{content:'−'}
.ed-qa>div{padding:0 35px 20px 0}
.ed-qa>div p{font-size:16px;line-height:1.75;margin:0}
.ed-article>section:has(.ed-qa){padding-bottom:0}
.ed-related{padding:48px 0 0}
.ed-related .ed-guide-grid{margin-top:24px}
.ed-route-card{border:1px solid var(--ed-rule);padding:28px;display:block;transition:background .2s}
.ed-route-card:hover{background:#eef0e7}
.ed-route-card .ed-eyebrow{color:#5b715b}
.ar .ed-route-card h3{font-size:27px;line-height:1.2;margin:13px 0}
.ed-route-card p{font-size:15px;color:var(--ed-muted)}
.ed-root a:focus-visible,.ed-root summary:focus-visible{outline:2px solid #31523c;outline-offset:5px}
.ed-root [hidden]{display:none!important}
.ed-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1000px){.ed-grid.ed-four{grid-template-columns:repeat(4,minmax(0,1fr))}.ed-four .ed-card h3{font-size:21px}}
@media(max-width:1000px){.ed-hero{gap:35px}.ed-layout{grid-template-columns:175px minmax(0,1fr);gap:35px}.ed-grid{gap:32px 22px}.ed-card h3{font-size:22px}}
@media(max-width:760px){.ed-breadcrumb{padding-top:24px}.ed-hero{grid-template-columns:1fr;gap:32px;padding:22px 0 38px}.ar .ed-hero h1{font-size:46px;max-width:17ch;margin:17px 0 22px}.ar .ed-hero p{font-size:17px}.ed-hero-visual img{max-height:440px}.ed-jump{gap:24px}.ed-section{padding:42px 0}.ed-section-head{align-items:start;flex-direction:column;gap:14px}.ed-feature{grid-template-columns:1fr;gap:24px}.ed-feature p{font-size:16px}.ed-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.ed-guide-grid{grid-template-columns:1fr}.ed-guide-card:nth-child(even){border-left:0;padding-left:0}.ed-guide-card{padding:25px 0}.ed-callout{grid-template-columns:1fr;gap:24px;padding:28px}.ed-layout{grid-template-columns:minmax(0,1fr);gap:35px;padding-top:32px}.ed-toc{position:static;max-height:none;overflow:visible}.ed-toc nav{flex-direction:row;overflow-x:auto;border-left:0;border-bottom:1px solid var(--ed-rule)}.ed-toc a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;margin:0;padding:12px 14px}.ed-toc a[aria-current=location]{border-left:0;border-bottom-color:var(--ed-green)}.ed-toc .ed-inline-link{display:none}.ed-toc .ed-eyebrow{margin-bottom:5px}.ar .ed-article h2{font-size:31px}.ed-article p,.ed-article li{font-size:16px}.ed-article>section{scroll-margin-top:25px;padding-bottom:30px;margin-bottom:30px}.ed-root{padding-bottom:40px}.ed-spec-list{gap:0 15px}.ed-spec-list div{padding-right:0}.ed-qa summary{font-size:19px}}
@media(max-width:480px){.ar .ed-hero h1{font-size:40px;line-height:1.09}.ed-grid{grid-template-columns:1fr}.ed-card-visual img{aspect-ratio:16/11}.ed-card .ed-inline-link{padding-top:12px}.ed-hero-meta{gap:8px 16px}.ed-filter{padding:10px 15px}.ed-callout{padding:25px}.ar .ed-callout h2{font-size:30px}.ed-palette{gap:9px}.ed-guide-card{grid-template-columns:27px minmax(0,1fr) 20px;gap:10px}.ed-guide-card h3{font-size:23px}.ed-note{padding:20px}.ed-table th,.ed-table td{padding:13px 12px}}
@media(prefers-reduced-motion:reduce){.ed-root *{scroll-behavior:auto!important;transition:none!important}}
@media print{.ed-toc,.ed-filters,.ed-callout,.ed-jump{display:none}.ed-layout{display:block}.ed-root h1{font-size:35px}.ed-hero{padding:0;gap:20px}.ed-article{max-width:none}.ed-qa>div{display:block}.ed-grid{grid-template-columns:repeat(2,1fr)}}

/* Photographic references: full details in articles, consistent crops in cards. */
.ed-photo-hero img{aspect-ratio:4/3;object-fit:cover}
.ed-photo-hero.ed-photo-portrait img{aspect-ratio:4/5;object-position:center}
.ed-article .ed-context-figure{margin:28px 0 12px;min-width:0;background:#f1f0e9}
.ed-context-figure img{display:block;width:100%;height:auto;max-height:590px;object-fit:contain}
.ed-context-figure figcaption{padding:14px 18px;background:#f4f3ed;font-size:12px;line-height:1.65;color:#596157}
.ed-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0 12px;align-items:start}
.ed-photo-pair .ed-context-figure{margin:0}
.ed-photo-pair img{aspect-ratio:4/5;max-height:none;object-fit:contain}
.ed-article .ed-faq-visual{margin:0 0 12px}
.ed-faq-visual img{aspect-ratio:16/9;max-height:none;object-fit:cover}
.ed-guide-grid:has(.ed-guide-card-photo){gap:36px 26px;border:0}
.ed-guide-card.ed-guide-card-photo,.ed-guide-card.ed-guide-card-photo:nth-child(even){display:block;padding:0 0 24px;border-left:0;border-bottom:1px solid var(--ed-rule)}
.ed-guide-cover{display:block;overflow:hidden;background:var(--ed-paper)}
.ed-guide-cover img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .5s ease}
.ed-guide-card-photo:hover .ed-guide-cover img{transform:scale(1.025)}
.ed-guide-card-copy{display:grid;grid-template-columns:32px minmax(0,1fr) 22px;gap:12px;padding-top:22px}
.ed-guide-card-copy .ed-guide-no{line-height:28px}
.ed-guide-card-photo p{max-width:48ch}
@media(max-width:760px){.ed-photo-hero.ed-photo-portrait img{aspect-ratio:4/5;max-height:none}.ed-context-figure img{max-height:490px}.ed-photo-pair{gap:14px}.ed-photo-pair img{max-height:none}.ed-guide-grid:has(.ed-guide-card-photo){gap:30px}.ed-guide-card-copy{padding-top:18px}}
@media(max-width:480px){.ed-photo-pair{grid-template-columns:minmax(0,1fr);gap:24px}.ed-photo-pair img{aspect-ratio:auto;max-height:460px}.ed-context-figure figcaption{padding:12px 14px;font-size:11px}.ed-guide-cover img{aspect-ratio:16/11}.ed-guide-card-copy{grid-template-columns:26px minmax(0,1fr) 20px;gap:10px}}

.ed-article .ed-object-figure{padding-top:22px}
.ed-object-figure img,.ed-photo-pair .ed-object-figure img{width:auto;max-width:100%;height:auto;max-height:400px;aspect-ratio:auto;margin:0 auto 22px}

/* Editorial research and project tools, October 2026. */
.ed-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-bottom:28px}
.ed-download-card{display:block;border:1px solid #c8cec1;background:#eef0e7;padding:32px;min-width:0}
.ed-download-card:hover{background:#e5e9dc}
.ar .ed-download-card h3{font-size:31px;line-height:1.18;margin:18px 0}
.ed-download-card p{font-size:16px;line-height:1.7;color:#465443;max-width:42ch}
.ed-download-card .ed-inline-link{margin-top:22px}
.ed-reference-full img{object-fit:contain}
.ed-image-open{display:block;background:#f1f0e9}
.ed-image-open:focus-visible{outline-offset:3px}
.ed-image-open img{transition:filter .2s}
.ed-image-open:hover img{filter:brightness(.97)}
.ed-reference-full.ed-context-figure img{max-height:none;height:auto}
.ed-photo-pair .ed-reference-full img{aspect-ratio:auto;max-height:620px;object-fit:contain}
.ed-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px}
.ed-detail-card .ed-card-visual img{aspect-ratio:4/5;object-fit:contain;background:#f1f0e9}
.ed-detail-card:hover .ed-card-visual img{transform:none}
.ed-detail-card h3{margin-bottom:10px}
.ed-new-reading{padding-top:40px;margin-top:35px;border-top:1px solid var(--ed-rule)}
.ed-search{max-width:650px;margin:26px 0 24px}
.ed-search label{display:block;margin-bottom:10px;font-size:12px;letter-spacing:.06em;color:#465443}
.ed-search-field{display:flex;border:1px solid #aeb8a7;background:#f8f8f2;min-width:0}
.ed-search input{font:inherit;font-size:16px;color:#203325;border:0;background:transparent;padding:15px 17px;flex:1;min-width:0;border-radius:0;appearance:none}
.ed-search button{font:inherit;font-size:12px;background:transparent;color:#43543e;border:0;border-left:1px solid #d1d7c8;padding:12px 20px;cursor:pointer}
.ed-search input:focus-visible,.ed-search button:focus-visible{outline:2px solid #31523c;outline-offset:-3px}
.ed-search-empty{font-size:17px;line-height:1.7;background:#e9ecdf;padding:26px}
.ed-photo-essay .ed-reference-full img{max-height:720px;object-fit:contain}
.ed-library-expansion{border-top:1px solid var(--ed-rule);margin-top:32px}
.ed-legacy-figure{margin:30px 0}
.ed-legacy-figure figure{margin:0}
.ed-legacy-figure .ed-reference-full.ed-context-figure img{max-height:680px;object-fit:contain}
@media(max-width:760px){.ed-download-grid{grid-template-columns:minmax(0,1fr);gap:20px}.ed-download-card{padding:26px}.ed-detail-grid{gap:32px 20px}.ed-photo-pair .ed-reference-full img{max-height:none}}
@media(max-width:480px){.ed-detail-grid{grid-template-columns:minmax(0,1fr)}.ar .ed-download-card h3{font-size:28px}.ed-detail-card .ed-card-visual img{aspect-ratio:auto;max-height:640px;object-fit:contain}}
.ed-cost-host {margin:2rem 0 2.4rem;border:1px solid #cfc7b9;background:#fbfaf7;box-shadow:0 20px 55px rgba(28,30,28,.07)}
.ed-cost-form {padding:clamp(1.2rem,3vw,2.4rem);color:#252a27}
.ed-cost-head {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #d8d2c7;padding-bottom:1.2rem}
.ed-cost-head h3 {font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.16;margin:0}
.ed-cost-head p {max-width:20rem;font-size:.82rem;line-height:1.5;color:#5b615b;margin:0}
.ed-cost-controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.ed-cost-control {display:flex;flex-direction:column;gap:.38rem}
.ed-cost-control label,.ed-cost-label label {font-size:.85rem;font-weight:650;letter-spacing:.01em;color:#262d28}
.ed-cost-control small,.ed-cost-label small {font-size:.73rem;line-height:1.45;color:#626b62}
.ed-cost-input {box-sizing:border-box;width:100%;min-height:2.9rem;border:1px solid #abb4a8;border-radius:2px;background:#fff;padding:.65rem .8rem;font:inherit;color:#202921}
.ed-cost-input:focus-visible,.ed-cost-clear:focus-visible,.ed-cost-included input:focus-visible {outline:3px solid #6a8b73;outline-offset:2px}
.ed-cost-input:disabled {background:#e9ece6;color:#51594f}
.ed-cost-lines {border-top:1px solid #d8d2c7}
.ed-cost-row {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(7rem,.7fr) minmax(9rem,.75fr);gap:1rem;align-items:center;padding:.95rem 0;border-bottom:1px solid #e1ddd4}
.ed-cost-label {display:flex;flex-direction:column;gap:.22rem}
.ed-cost-included {display:flex;align-items:flex-start;gap:.42rem;font-size:.78rem;line-height:1.45;color:#3f5142;cursor:pointer}
.ed-cost-included input {accent-color:#486f51;flex:none;width:1.1rem;height:1.1rem;margin:.05rem 0 0}
.ed-cost-result {background:#293f34;color:#fff;margin-top:1.5rem;padding:1.25rem 1.4rem}
.ed-cost-result .ed-cost-total {font-size:clamp(1.25rem,2.5vw,1.9rem);font-weight:550;line-height:1.25;display:block;color:#fff}
.ed-cost-result .ed-cost-coverage {font-size:.82rem;line-height:1.55;color:#dce8dc;margin:.65rem 0 0;max-width:62rem}
.ed-cost-actions {display:flex;justify-content:flex-end;margin-top:1rem}
.ed-cost-clear {border:1px solid #506f56;background:#fff;color:#34553d;min-height:2.65rem;padding:.55rem 1rem;font:inherit;font-size:.82rem;cursor:pointer}
@media(max-width:760px){.ed-cost-head {display:block}.ed-cost-head p {margin:.5rem 0 0}.ed-cost-controls {grid-template-columns:1fr}.ed-cost-row {grid-template-columns:minmax(0,1fr) minmax(7rem,.55fr)}.ed-cost-included {grid-column:1/-1}.ed-cost-form {padding:1rem}.ed-cost-result {padding:1rem}}
@media(max-width:380px){.ed-cost-row {grid-template-columns:1fr}.ed-cost-included {grid-column:auto}.ed-cost-input {min-height:2.7rem}}

/* Shared product browsing patterns, introduced with the Collections pilot. */
.ac-catalog{--catalog-green:#263c32;--catalog-ink:#23382f;--catalog-muted:#657065;--catalog-line:#d7d9ce;color:var(--catalog-ink);padding:40px 0 0}
.ac-page-collections #main>.sec{padding-bottom:0}
.ac-cat-hero img,.ac-cat-card-image img,.ac-cat-pairing img{height:auto}
.ac-cat-card{display:flex;flex-direction:column}.ac-cat-card>a:first-child{display:flex;flex-direction:column;flex:1}.ac-cat-card .ac-cat-tags{margin-top:auto;padding-top:12px}.ac-cat-card>.ac-cat-link{align-self:flex-start}
.ac-catalog a{color:inherit}.ac-catalog button{font:inherit}.ac-catalog [hidden]{display:none!important}
.ac-cat-crumb{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--catalog-muted);margin:0 0 34px}.ac-cat-crumb a{text-decoration:none}
.ac-cat-eyebrow{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px;color:var(--catalog-muted)}
.ac-cat-hero{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(36px,6vw,100px);align-items:center;padding-bottom:58px}.ac-cat-hero h1{font-size:clamp(42px,4.7vw,72px);font-weight:400;letter-spacing:-.035em;line-height:1.08;margin:0 0 26px}.ac-cat-hero p{font-size:17px;line-height:1.75;max-width:420px;color:#5d685f}.ac-cat-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:28px 0}.ac-cat-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;background:var(--catalog-green);color:#fff!important;text-decoration:none;font-size:13px;letter-spacing:.02em;border:1px solid var(--catalog-green)}
.ac-cat-link{font-size:13px;text-decoration:none;border-bottom:1px solid #9ba697;padding-bottom:3px}.ac-cat-hero figure{margin:0;min-width:0}.ac-cat-hero img{width:100%;aspect-ratio:1.12;object-fit:cover;display:block}.ac-cat-caption{font-size:11px;color:var(--catalog-muted);line-height:1.6;margin-top:12px}.ac-cat-hero-index{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.1em;padding-top:15px}
.ac-cat-nav{display:flex;gap:32px;align-items:center;overflow-x:auto;border-top:1px solid var(--catalog-line);border-bottom:1px solid var(--catalog-line);padding:17px 0;scrollbar-width:thin}.ac-cat-nav a{white-space:nowrap;text-decoration:none;font-size:13px;min-height:28px;display:flex;align-items:center}.ac-cat-nav a:last-child{margin-left:auto}
.ac-cat-section{padding:72px 0;scroll-margin-top:120px}.ac-cat-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}.ac-cat-head h2{font-size:clamp(29px,3vw,42px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0}.ac-cat-head p{font-size:14px;line-height:1.75;color:var(--catalog-muted);max-width:390px;margin:0}.ac-cat-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 26px}.ac-cat-filter{background:transparent;border:1px solid #c7cebf;border-radius:30px;padding:10px 17px;min-height:44px;font-size:12px;cursor:pointer;color:inherit}.ac-cat-filter[aria-pressed=true]{background:var(--catalog-green);border-color:var(--catalog-green);color:#fff}.ac-cat-count{font-size:12px;color:var(--catalog-muted);margin-left:auto}
.ac-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}.ac-cat-card{min-width:0;position:relative}.ac-cat-card>a{display:block;text-decoration:none}.ac-cat-card-image{overflow:hidden;background:#e9e7de;position:relative}.ac-cat-card-image img{display:block;width:100%;aspect-ratio:4/4.7;object-fit:cover;transition:transform .4s}.ac-cat-card>a:hover img{transform:scale(1.025)}.ac-cat-number{position:absolute;top:14px;left:14px;background:#f5f3ed;color:#344336;padding:5px 9px;font-size:10px;letter-spacing:.1em}.ac-cat-card-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 6px}.ac-cat-card h3{font-size:28px;font-weight:400;margin:0;letter-spacing:-.025em}.ac-cat-card .ac-cat-card-title span{font-size:20px;font-weight:300}.ac-cat-card p{font-size:14px;line-height:1.75;color:var(--catalog-muted);margin:8px 0}.ac-cat-tags{font-size:11px;color:#5b6b59;border-bottom:1px solid var(--catalog-line);padding-bottom:15px;margin:12px 0}.ac-cat-card .ac-cat-link{display:inline-block;margin-top:6px;font-size:12px}
.ac-cat-comparison{border-top:1px solid var(--catalog-line)}.ac-cat-comparison details{border-bottom:1px solid var(--catalog-line);padding:0}.ac-cat-comparison summary{display:grid;grid-template-columns:150px 1fr 22px;gap:20px;align-items:center;cursor:pointer;padding:21px 0;list-style:none}.ac-cat-comparison summary::-webkit-details-marker{display:none}.ac-cat-comparison summary b{font-size:20px;font-weight:400}.ac-cat-comparison summary span{font-size:14px;color:var(--catalog-muted)}.ac-cat-comparison summary:after{content:'+';font-size:22px;font-weight:300}.ac-cat-comparison details[open] summary:after{content:'−'}.ac-cat-comparison details>div{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:850px;padding:0 0 24px 170px}.ac-cat-comparison h3{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}.ac-cat-comparison p{font-size:14px;color:var(--catalog-muted);line-height:1.75;margin:0}
.ac-cat-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.ac-cat-gallery figure{margin:0;min-width:0}.ac-cat-gallery a{display:block;background:#e8e5dc}.ac-cat-gallery img{width:100%;height:220px;object-fit:contain;display:block}.ac-cat-gallery h3{font-size:14px;font-weight:400;margin:15px 0 6px}.ac-cat-gallery p{font-size:12px;line-height:1.7;color:var(--catalog-muted);margin:0}.ac-cat-gallery-note{font-size:12px;line-height:1.7;color:var(--catalog-muted);margin:24px 0 0}
.ac-cat-pairing{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:8%;background:#e8ecdf;padding:40px}.ac-cat-pairing figure{margin:0}.ac-cat-pairing img{width:100%;display:block;aspect-ratio:1.35;object-fit:cover}.ac-cat-pairing h2{font-size:clamp(28px,3vw,42px);line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:0 0 20px}.ac-cat-pairing p{font-size:14px;line-height:1.8;color:var(--catalog-muted)}.ac-cat-pairing .ac-cat-actions{margin-bottom:0}
.ac-cat-faq{display:grid;grid-template-columns:1fr 1fr;gap:32px}.ac-cat-faq h3{font-size:18px;font-weight:400;line-height:1.4;margin:0 0 12px}.ac-cat-faq p{font-size:14px;line-height:1.8;color:var(--catalog-muted);margin:0}.ac-cat-close{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:1px solid var(--catalog-line);padding:35px 0 70px}.ac-cat-close h2{font-size:29px;font-weight:400;line-height:1.3;max-width:560px;margin:0}.ac-cat-close p{font-size:14px;line-height:1.8;color:var(--catalog-muted);max-width:480px}
.ac-catalog :is(a,button,summary):focus-visible{outline:2px solid #365c49;outline-offset:5px}.ac-catalog :is(p,h1,h2,h3){overflow-wrap:break-word}.ac-brief-reference{border:1px solid #c8d1bf;background:#eef1e8;padding:16px 20px;font-size:14px;line-height:1.6;margin:0 0 20px}.ac-article-publisher{font-size:12px;color:#687368;margin:0 0 25px}
@media(max-width:1000px){.ac-cat-hero{gap:36px}.ac-cat-hero h1{font-size:47px}.ac-cat-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ac-cat-grid{gap:32px 18px}.ac-cat-gallery img{height:240px}.ac-cat-pairing{padding:28px}.ac-cat-card h3{font-size:25px}}
@media(max-width:700px){.ac-catalog{padding-top:18px}.ac-cat-crumb{margin-bottom:26px}.ac-cat-hero{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.ac-cat-hero h1{font-size:44px;max-width:440px}.ac-cat-hero p{font-size:15px}.ac-cat-hero img{aspect-ratio:1.25}.ac-cat-hero .ac-cat-actions{margin:24px 0 0}.ac-cat-nav{gap:24px}.ac-cat-section{padding:46px 0;scroll-margin-top:85px}.ac-cat-head{display:block;margin-bottom:24px}.ac-cat-head p{margin-top:18px}.ac-cat-grid{grid-template-columns:1fr 1fr;gap:30px 14px}.ac-cat-card h3{font-size:24px}.ac-cat-card p{font-size:13px}.ac-cat-tags{font-size:10px;line-height:1.6}.ac-cat-number{top:9px;left:9px;font-size:9px}.ac-cat-count{width:100%;margin:8px 0 0}.ac-cat-filter{padding:9px 14px}.ac-cat-comparison summary{grid-template-columns:90px 1fr 20px;gap:12px}.ac-cat-comparison summary b{font-size:18px}.ac-cat-comparison summary span{font-size:12px}.ac-cat-comparison details>div{grid-template-columns:1fr;padding-left:0;gap:16px}.ac-cat-gallery{grid-template-columns:1fr 1fr;gap:24px 14px}.ac-cat-gallery img{height:210px}.ac-cat-gallery figure:first-child{grid-column:1/-1}.ac-cat-gallery figure:first-child img{height:280px}.ac-cat-pairing{grid-template-columns:1fr;gap:26px;padding:22px}.ac-cat-faq{grid-template-columns:1fr;gap:25px}.ac-cat-close{display:block;padding:28px 0 46px}.ac-cat-close .ac-cat-button{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.ac-cat-card-image img{transition:none}}
/* Interior doors and wall systems: P1 product pages. */
.ac-systems .ac-system-hero-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:end;margin-bottom:36px}.ac-systems h1{font-size:clamp(40px,5.4vw,74px);line-height:1.07;font-weight:400;letter-spacing:-.04em;max-width:650px;margin:0}.ac-system-hero-intro p{font-size:16px;line-height:1.8;color:var(--catalog-muted);max-width:460px;margin:0}.ac-system-hero-intro .ac-cat-actions{margin-bottom:0}.ac-system-hero figure{margin:0 0 34px}.ac-system-hero img{width:100%;height:auto;display:block}.ac-system-hero figcaption,.ac-system-product figcaption,.ac-system-gallery figcaption{font-size:11px;line-height:1.7;color:var(--catalog-muted);margin-top:11px}.ac-system-photo{display:block;background:#e7e7dd;overflow:hidden}.ac-system-product{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:start;padding:44px 0;border-bottom:1px solid var(--catalog-line);scroll-margin-top:115px}.ac-system-product:first-of-type{padding-top:12px}.ac-system-product:last-child{border-bottom:0;padding-bottom:0}.ac-system-product figure{margin:0}.ac-system-product img{display:block;width:100%;height:auto}.ac-system-product-copy{padding-top:8px}.ac-system-product h3{font-size:clamp(28px,2.8vw,39px);line-height:1.15;font-weight:400;letter-spacing:-.025em;margin:0 0 22px}.ac-system-product .ac-system-lead{font-size:15px;line-height:1.85;color:#59665c}.ac-system-product dl{margin:25px 0}.ac-system-product dl>div{border-top:1px solid var(--catalog-line);padding:15px 0}.ac-system-product dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px}.ac-system-product dd{margin:0;font-size:13px;line-height:1.8;color:var(--catalog-muted)}.ac-system-product .ac-system-family{font-size:12px;color:var(--catalog-muted);margin:20px 0}.ac-system-minis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.ac-system-minis .ac-system-photo{display:flex;align-items:center;justify-content:center;min-height:220px}.ac-system-minis img{width:auto;max-width:100%;max-height:265px;object-fit:contain}.ac-system-product#slim-frame-glass>.ac-system-product-visual>figure .ac-system-photo{display:flex;justify-content:center;background:#e4e4da}.ac-system-product#slim-frame-glass>.ac-system-product-visual>figure img{width:auto;max-width:100%;max-height:570px}.ac-system-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ac-system-gallery figure{margin:0;min-width:0}.ac-system-gallery img{width:100%;height:280px;object-fit:contain;display:block}.ac-system-gallery-pair{grid-template-columns:1fr 1fr;max-width:900px;margin:auto}.ac-system-gallery-pair img{height:430px}.ac-system-two-notes{display:grid;grid-template-columns:1fr 1fr;gap:6%;margin-top:34px}.ac-system-two-notes h3,.ac-system-steps h3{font-size:19px;font-weight:400;line-height:1.4;margin:0 0 12px}.ac-system-two-notes p,.ac-system-steps p{font-size:14px;line-height:1.85;color:var(--catalog-muted);margin:0}.ac-system-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding-top:15px}.ac-system-steps>div{border-top:1px solid var(--catalog-line);padding-top:20px}.ac-system-steps b{display:block;font-size:12px;font-weight:400;color:#6c7769;margin-bottom:28px}.ac-system-note{font-size:12px;line-height:1.8;color:var(--catalog-muted);border-top:1px solid var(--catalog-line);margin-top:36px;padding-top:20px;max-width:850px}.ac-systems .ac-cat-comparison summary{grid-template-columns:125px 1fr 22px}.ac-systems .ac-cat-comparison details>div{padding-left:145px}.ac-systems .ac-cat-faq{gap:35px 6%}.ac-systems .ac-cat-close p{line-height:2.1}.ac-system-photo:focus-visible{outline-offset:3px}
@media(max-width:1000px){.ac-systems .ac-system-hero-intro{gap:7%}.ac-system-product{gap:5%}.ac-system-gallery img{height:220px}.ac-system-minis .ac-system-photo{min-height:160px}.ac-system-steps{gap:22px}}
@media(max-width:700px){.ac-systems .ac-system-hero-intro{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.ac-systems h1{font-size:43px;max-width:500px}.ac-system-hero-intro p{font-size:15px}.ac-system-hero figure{margin-bottom:26px}.ac-system-product{grid-template-columns:1fr;gap:26px;padding:32px 0}.ac-system-product-copy{padding-top:0}.ac-system-product-copy>.ac-cat-eyebrow{margin-bottom:12px}.ac-system-product h3{font-size:31px;margin-bottom:18px}.ac-system-minis{gap:13px;margin-top:20px}.ac-system-minis .ac-system-photo{min-height:150px}.ac-system-minis img{max-height:210px}.ac-system-product#slim-frame-glass>.ac-system-product-visual>figure img{max-height:430px}.ac-system-gallery{grid-template-columns:1fr;gap:26px}.ac-system-gallery img{height:auto;max-height:400px}.ac-system-gallery-pair{grid-template-columns:1fr 1fr;gap:14px}.ac-system-gallery-pair img{height:230px;object-fit:contain}.ac-system-two-notes,.ac-system-steps{grid-template-columns:1fr;gap:26px}.ac-system-steps b{margin-bottom:15px}.ac-systems .ac-cat-comparison summary{grid-template-columns:80px 1fr 18px;gap:10px}.ac-systems .ac-cat-comparison details>div{padding-left:0}.ac-system-product .ac-cat-button{width:100%}}
.ac-system-zoom{font:inherit;font-size:12px;border:1px solid #b7c2b1;color:#344b3a;background:transparent;padding:10px 16px;min-height:44px;margin-top:14px;cursor:pointer}.ac-system-product-visual>figure .ac-system-photo img{transition:transform .25s}.ac-system-product-visual.is-zoomed>figure .ac-system-photo img{transform:scale(1.9);transform-origin:54% 38%}.ac-system-product#veneer-panels .ac-system-product-visual.is-zoomed>figure img{transform-origin:54% 14%}@media(prefers-reduced-motion:reduce){.ac-system-product-visual>figure .ac-system-photo img{transition:none}}

/* P1 storage: conceptual movement diagrams, scoped to product-system pages. */
.ac-systems .ac-motion-card{min-width:0}.ac-systems .ac-motion-plan{height:150px;position:relative;border:1px solid #c8c6bb;background:#f6f4ed;margin:24px 0;overflow:hidden}.ac-systems .ac-motion-plan:before{content:"";position:absolute;left:8%;right:8%;top:38%;height:2px;background:#7a8075}.ac-systems .ac-motion-plan i{position:absolute;height:5px;width:21%;background:#394f43;top:40%;display:block}.ac-systems .ac-motion-plan.folding i:nth-child(1){left:8%;transform:rotate(60deg);transform-origin:left}.ac-systems .ac-motion-plan.folding i:nth-child(2){left:18.5%;top:65%;transform:rotate(-60deg);transform-origin:left}.ac-systems .ac-motion-plan.folding i:nth-child(3){right:8%;transform:rotate(-60deg);transform-origin:right}.ac-systems .ac-motion-plan.folding i:nth-child(4){right:18.5%;top:65%;transform:rotate(60deg);transform-origin:right}.ac-systems .ac-motion-plan.sliding i{width:32%}.ac-systems .ac-motion-plan.sliding i:nth-child(1){left:8%;top:42%}.ac-systems .ac-motion-plan.sliding i:nth-child(2){left:24%;top:49%}.ac-systems .ac-motion-plan.sliding i:nth-child(3){right:24%;top:56%}.ac-systems .ac-motion-plan.sliding i:nth-child(4){right:8%;top:63%}.ac-systems .ac-media-concept{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0 0 70px;padding:28px;background:#eeeee5}.ac-systems .ac-media-concept h3{font-size:18px;font-weight:500}.ac-systems .ac-media-concept>p{grid-column:1/-1;font-size:13px;margin:0}.ac-systems .ac-media-state{display:flex;align-items:center;justify-content:space-around;gap:5%;height:150px;padding:12px;background:repeating-linear-gradient(0deg,#999c89 0,#999c89 2px,#d5d7c8 2px,#d5d7c8 28px);border:1px solid #858b79}.ac-systems .ac-media-state i{display:block;width:20%;height:100%;background:#45574b}.ac-systems .ac-media-state b{display:flex;align-items:center;justify-content:center;width:40%;height:65%;background:#202923;color:#f4f1e8;font:14px/1.4 sans-serif}.ac-systems .ac-media-state.concealed i{background:transparent}.ac-systems .ac-media-state.concealed b{height:100%;background:#45574b;text-align:center}@media(max-width:700px){.ac-systems .ac-media-concept{grid-template-columns:1fr;padding:20px;gap:20px}.ac-systems .ac-motion-plan{height:130px}.ac-systems .ac-media-state{height:130px}}

.ac-systems .ac-motion-plan.folding{height:auto;aspect-ratio:3/1}.ac-systems .ac-motion-plan.folding i{width:12%;top:35%}.ac-systems .ac-motion-plan.folding i:nth-child(2){left:14%;top:66.2%}.ac-systems .ac-motion-plan.folding i:nth-child(4){right:14%;top:66.2%}

.ac-systems .ac-system-minis:has(>figure:only-child){grid-template-columns:1fr}

/* Collection pages connect the design family to concrete product directions. */
.ac-family-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.ac-family-options:has(>article:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.ac-family-option{min-width:0}.ac-family-option figure{margin:0 0 24px}.ac-family-option .ac-system-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#ece9e1}.ac-family-option h3{font-size:24px;font-weight:400;line-height:1.22;margin:0 0 16px}.ac-family-option>p{font-size:16px;line-height:1.7;color:#647064}.ac-family-option>.ac-cat-link{min-height:44px;display:inline-flex;align-items:center}.ac-family-decisions{margin:30px 0 0}.ac-family-decisions>div{padding:20px 0;border-top:1px solid #d4d7ca}.ac-family-decisions dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.ac-family-decisions dd{margin:0;color:#647064;font-size:15px;line-height:1.7}.ac-collection-option-links{list-style:none;padding:18px 0 0;margin:18px 0 0;border-top:1px solid #d4d7ca}.ac-collection-option-links .ac-cat-link{font-size:14px;line-height:1.45;display:inline-flex;align-items:center;min-height:44px;margin:0;padding:7px 0}.ac-family-reviewed{font-size:12px!important;line-height:1.65!important}.ac-family-rail{margin-top:40px}@media(max-width:900px){.ac-family-options,.ac-family-options:has(>article:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ac-family-options,.ac-family-options:has(>article:nth-child(3)){grid-template-columns:1fr;gap:44px}.ac-family-option h3{font-size:26px}}

.ac-family-option figcaption{font-size:12px;line-height:1.6;color:#6a7667;margin-top:10px}.ac-collection-option-links{min-height:132px;border-top:0;padding-top:0;margin-top:8px}.ac-collection-detail .ac-cat-pairing img{object-fit:contain;aspect-ratio:auto;max-height:460px}

/* Material-family sample references: preserve the full image and its natural colour. */
.ac-material-swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0 0}.ac-material-swatches:has(>figure:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.ac-material-swatches .ac-system-photo{display:flex;justify-content:center;background:#eae7de}.ac-material-swatches img{width:100%;height:260px;object-fit:contain}.ac-material-directions .ac-system-product-visual>.ac-material-swatches:first-child{margin-top:0}.ac-material-directions .ac-system-product-visual>.ac-material-swatches:first-child img{height:390px}.ac-material-directions .ac-system-product-visual>.ac-material-swatches:first-child figcaption{max-width:230px}.ac-material-directions .ac-system-minis{align-items:start}.ac-material-directions .ac-system-minis .ac-system-photo{min-height:0;height:240px}.ac-material-directions .ac-system-minis img{width:100%;height:100%;max-height:240px;object-fit:contain}@media(max-width:700px){.ac-material-swatches{gap:12px}.ac-material-swatches img{height:170px}.ac-material-directions .ac-system-product-visual>.ac-material-swatches:first-child img{height:260px}.ac-material-directions .ac-system-minis .ac-system-photo{height:180px}.ac-material-directions .ac-system-minis img{max-height:180px}}

/* Kitchen reference plates keep the room, interior and surface views together. */
.ac-kitchen-surface{padding:42px 0;border-bottom:1px solid var(--catalog-line);scroll-margin-top:115px}.ac-kitchen-surface:last-of-type{border-bottom:0}.ac-kitchen-surface-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-bottom:28px}.ac-kitchen-surface h3{font-size:clamp(30px,3vw,42px);line-height:1.15;letter-spacing:-.025em;font-weight:400;margin:0}.ac-kitchen-surface-intro p{margin:0;font-size:16px;line-height:1.8;color:var(--catalog-muted)}.ac-kitchen-surface figure{margin:0}.ac-kitchen-surface img{display:block;width:100%;height:auto}.ac-kitchen-surface figcaption{font-size:12px;line-height:1.7;margin-top:13px;color:var(--catalog-muted)}.ac-surface-enlarge{margin:10px 0 0;font-size:12px;line-height:1.5}.ac-surface-enlarge a{display:inline-flex;align-items:center;min-height:44px}.ac-surface-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:28px 0}.ac-surface-decisions>div{border-top:1px solid var(--catalog-line);padding-top:20px}.ac-surface-decisions dt{font-size:12px;font-weight:400;letter-spacing:.04em;line-height:1.5;text-transform:uppercase;margin-bottom:12px}.ac-surface-decisions dd{margin:0;font-size:15px;line-height:1.8;color:var(--catalog-muted)}.ac-surface-next{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.ac-surface-next p{font-size:13px;line-height:1.8;color:var(--catalog-muted)}@media(max-width:700px){.ac-kitchen-surface{padding:32px 0}.ac-kitchen-surface-intro{grid-template-columns:1fr;gap:20px;margin-bottom:22px}.ac-kitchen-surface h3{font-size:32px}.ac-kitchen-surface-intro p{font-size:15px}.ac-surface-decisions{grid-template-columns:1fr;gap:22px;margin:22px 0}.ac-surface-decisions dt{font-size:11px}.ac-surface-decisions dd{font-size:14px}.ac-surface-next{align-items:stretch;flex-direction:column;gap:12px}.ac-surface-next .ac-cat-button{width:100%}}

.ac-reference-stage{height:580px;display:flex;align-items:center;justify-content:center;background:#ebe9e2;padding:14px}.ac-reference-window{--fx:0;--fy:0;--fw:1;--fh:1;--fa:2.754;position:relative;display:block;aspect-ratio:var(--fa);width:min(100%,calc(552px * var(--fa)));margin:auto;overflow:hidden}.ac-reference-viewer .ac-reference-window img{position:absolute;width:calc(100% / var(--fw));max-width:none;height:auto;left:calc(-100% * var(--fx) / var(--fw));top:calc(-100% * var(--fy) / var(--fh))}.ac-reference-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.ac-reference-controls button{min-height:44px;padding:10px 17px;border:1px solid #b7c2b1;background:transparent;color:#344b3a;font:inherit;font-size:13px;cursor:pointer}.ac-reference-controls button[aria-pressed=true]{background:#344b3a;color:#fff;border-color:#344b3a}.ac-reference-controls button:focus-visible{outline:2px solid #344b3a;outline-offset:3px}@media(max-width:700px){.ac-reference-stage{height:370px;padding:10px}.ac-reference-window{width:min(100%,calc(350px * var(--fa)))}.ac-reference-controls{gap:7px;margin-top:12px}.ac-reference-controls button{padding:10px 12px;font-size:12px}}

/* Kitchen collection comparison: native disclosure, keyboard accessible. */
.ac-kitchen-choice{border-top:1px solid var(--catalog-line,#cbd0c0)}
.ac-kitchen-choice:last-child{border-bottom:1px solid var(--catalog-line,#cbd0c0)}
.ac-kitchen-choice summary{display:flex;justify-content:space-between;gap:24px;align-items:center;cursor:pointer;min-height:84px;padding:20px 4px;list-style:none}
.ac-kitchen-choice summary::-webkit-details-marker{display:none}
.ac-kitchen-choice summary>span:first-child{display:grid;grid-template-columns:minmax(230px,1fr) 1fr;gap:24px;width:90%;align-items:center}
.ac-kitchen-choice summary b{font-size:19px;font-weight:500}
.ac-kitchen-choice summary span span{font-size:14px;color:#657164}
.ac-kitchen-choice summary>span:last-child{display:grid;place-items:center;flex:0 0 24px;width:24px;font-size:0;line-height:1}
.ac-kitchen-choice summary>span:last-child:after{content:"+";font-size:25px}
.ac-kitchen-choice[open] summary>span:last-child:after{content:"−"}
.ac-kitchen-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:12px 4px 30px}
.ac-kitchen-choice h3{font-size:17px;margin:0 0 10px}.ac-kitchen-choice p{font-size:15px;line-height:1.7}
.ac-classic-access{margin-top:70px}.ac-classic-access>h3{font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.2;margin:16px 0}.ac-classic-access>p{max-width:75ch;color:#657164;line-height:1.7;margin-bottom:28px}
@media(max-width:700px){.ac-kitchen-choice summary>span:first-child{grid-template-columns:1fr;gap:6px}.ac-kitchen-choice summary b{font-size:18px}.ac-kitchen-choice>div{grid-template-columns:1fr;gap:22px}.ac-classic-access{margin-top:48px}}

.ac-kitchen-nav a{min-height:44px}

/* Keep native comparison and photographic plates within the available column. */
.ac-kitchen-choice summary:after{content:none!important}
.ac-kitchen-choice summary>span:first-child{min-width:0;flex:1;width:auto}
.ac-reference-viewer{margin:0}
.ac-reference-viewer figcaption{font-size:12px;line-height:1.7;color:var(--catalog-muted);margin-top:12px}

/* Veneer library: preserve native sample detail and complete room photographs. */
.ac-veneer-family{padding:64px 0;border-top:1px solid var(--catalog-line);scroll-margin-top:120px}
.ac-veneer-family-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:30px}
.ac-veneer-family h3{font-size:clamp(30px,3.5vw,46px);font-weight:400;line-height:1.15;margin:0}
.ac-veneer-family-intro p{font-size:16px;color:var(--catalog-muted);line-height:1.75;margin:0}
.ac-veneer-applications{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin-bottom:38px;align-items:start}
.ac-veneer-family figure,.ac-material-pairings figure{margin:0;min-width:0}
.ac-veneer-family figcaption,.ac-material-pairings figcaption{font-size:12px;color:var(--catalog-muted);line-height:1.6;margin-top:12px}
.ac-veneer-applications .ac-system-photo{height:390px;display:flex;align-items:center;justify-content:center;background:#eae7de}
.ac-veneer-applications img{max-width:100%;max-height:390px;width:auto;height:auto;object-fit:contain}
.ac-veneer-review{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin-bottom:26px;align-items:start}
.ac-veneer-samples{display:flex;gap:18px;align-items:start}
.ac-veneer-samples figure{min-width:0;flex:1}
.ac-veneer-samples .ac-system-photo{height:250px;display:flex;align-items:center;justify-content:center;background:#eae7de}
.ac-veneer-samples img{width:auto;height:auto;max-width:100%;max-height:250px;object-fit:contain}
.ac-veneer-native-note{font-size:12px;line-height:1.7;color:var(--catalog-muted);max-width:60ch}
.ac-veneer-review dl{margin:0}.ac-veneer-review dl>div{margin-bottom:22px}.ac-veneer-review dt{font-size:12px;font-weight:500;letter-spacing:.05em;margin-bottom:8px}.ac-veneer-review dd{margin:0;font-size:14px;line-height:1.75;color:var(--catalog-muted)}
.ac-material-pairings{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.ac-material-pairings .ac-system-photo{height:390px;display:flex;align-items:center;justify-content:center}
.ac-material-pairings img{width:auto;height:auto;max-width:100%;max-height:390px;object-fit:contain}
.ac-material-pairings h3{font-size:25px;font-weight:400;margin:24px 0 14px}.ac-material-pairings p{font-size:15px;line-height:1.75;color:var(--catalog-muted)}
.ac-material-palette-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--catalog-line);padding-top:32px;margin-top:44px}.ac-material-palette-steps b{font-size:13px;font-weight:500}.ac-material-palette-steps p{font-size:14px;line-height:1.75;color:var(--catalog-muted)}
@media(max-width:900px){.ac-veneer-family-intro,.ac-veneer-review{gap:28px}.ac-veneer-applications .ac-system-photo,.ac-material-pairings .ac-system-photo{height:300px}.ac-veneer-applications img,.ac-material-pairings img{max-height:300px}.ac-veneer-samples{gap:10px}.ac-veneer-samples .ac-system-photo{height:200px}.ac-veneer-samples img{max-height:200px}}
@media(max-width:700px){.ac-veneer-family{padding:42px 0}.ac-veneer-family-intro,.ac-veneer-review,.ac-veneer-applications,.ac-material-pairings,.ac-material-palette-steps{grid-template-columns:1fr;gap:26px}.ac-veneer-family h3{font-size:32px}.ac-veneer-family-intro p{font-size:15px}.ac-veneer-samples .ac-system-photo{height:180px}.ac-veneer-samples img{max-height:180px}.ac-veneer-samples figcaption{font-size:11px}.ac-veneer-applications .ac-system-photo,.ac-material-pairings .ac-system-photo{height:280px}.ac-veneer-applications img,.ac-material-pairings img{max-height:280px}.ac-veneer-review{margin-bottom:20px}}

/* Dressing islands: whole reference views and separate component detail. */
.ac-dressing-direction{scroll-margin-top:120px}
.ac-dressing-views{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:start}
.ac-dressing-direction figure{margin:0;min-width:0}
.ac-dressing-direction figcaption{font-size:12px;line-height:1.7;color:var(--catalog-muted);margin-top:12px}
.ac-dressing-views .ac-system-photo{height:500px;display:flex;align-items:center;justify-content:center;background:#eae7de}
.ac-dressing-views img{width:auto;height:auto;max-width:100%;max-height:500px;object-fit:contain}
.ac-dressing-views h3,.ac-dressing-accessories h3{font-size:clamp(24px,2.5vw,32px);font-weight:400;line-height:1.2;margin:24px 0 14px}
.ac-dressing-direction p{font-size:15px;line-height:1.75;color:var(--catalog-muted)}
.ac-dressing-accessories{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;margin:58px 0}
.ac-dressing-accessories .ac-system-photo{height:390px;display:flex;align-items:center;justify-content:center;background:#eae7de}
.ac-dressing-accessories img{width:auto;height:auto;max-width:100%;max-height:390px;object-fit:contain}
.ac-dressing-accessories h3{margin-top:0}.ac-dressing-accessories dl{margin:24px 0 0}.ac-dressing-accessories dl>div{margin-bottom:22px}.ac-dressing-accessories dt{font-size:12px;font-weight:500;letter-spacing:.05em;margin-bottom:8px}.ac-dressing-accessories dd{font-size:14px;line-height:1.75;color:var(--catalog-muted);margin:0}
.ac-dressing-choice{margin:54px 0 32px}.ac-dressing-next{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px}.ac-dressing-next p{font-size:13px}.ac-dressing-related{margin-top:26px}
@media(max-width:900px){.ac-dressing-views{gap:24px}.ac-dressing-views .ac-system-photo{height:390px}.ac-dressing-views img{max-height:390px}.ac-dressing-accessories{gap:28px}.ac-dressing-accessories .ac-system-photo{height:330px}.ac-dressing-accessories img{max-height:330px}}
@media(max-width:700px){.ac-dressing-views,.ac-dressing-accessories{grid-template-columns:1fr;gap:28px}.ac-dressing-views .ac-system-photo{height:360px}.ac-dressing-views img{max-height:360px}.ac-dressing-accessories{margin:40px 0}.ac-dressing-accessories .ac-system-photo{height:330px}.ac-dressing-accessories img{max-height:330px}.ac-dressing-next{flex-direction:column;align-items:stretch;gap:12px}.ac-dressing-next .ac-cat-button{width:100%}.ac-dressing-views h3,.ac-dressing-accessories h3{font-size:26px}}

.ac-dressing-nav a{min-height:44px}

.ac-dressing-choice .ac-cat-comparison details>div{padding-top:14px}
/* P2 / Room boundaries and framed wall panelling */
.ac-boundary-nav a{min-height:44px}
.ac-boundary-direction{scroll-margin-top:112px;padding:20px 0 64px}
.ac-boundary-direction+.ac-boundary-direction{border-top:1px solid var(--catalog-line);padding-top:64px}
.ac-boundary-direction figure,.ac-panelled-direction figure{margin:0;min-width:0}
.ac-boundary-direction img,.ac-panelled-direction img{display:block;max-width:100%;width:100%;height:auto}
.ac-boundary-direction figcaption,.ac-panelled-direction figcaption{font-size:11px;line-height:1.75;color:var(--catalog-muted);margin-top:12px}
.ac-boundary-room{margin-bottom:36px}
.ac-boundary-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%;align-items:start;margin:34px 0}
.ac-boundary-split h3,.ac-boundary-pair h3,.ac-panelled-pair h3,.ac-panelled-details h3{font-size:clamp(24px,2.4vw,33px);font-weight:400;line-height:1.25;letter-spacing:-.02em;margin:0 0 18px}
.ac-boundary-split p,.ac-boundary-pair p,.ac-panelled-pair p,.ac-panelled-details p{font-size:14px;line-height:1.85;color:var(--catalog-muted)}
.ac-boundary-split dl,.ac-panelled-decisions dl{margin:24px 0 0}
.ac-boundary-split dl>div,.ac-panelled-decisions dl>div{border-top:1px solid var(--catalog-line);padding:16px 0}
.ac-boundary-split dt,.ac-panelled-decisions dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.6;margin:0 0 8px}
.ac-boundary-split dd,.ac-panelled-decisions dd{font-size:13px;line-height:1.85;color:var(--catalog-muted);margin:0}
.ac-boundary-pair{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:6%;padding:34px;background:#e9eadf;align-items:center}
.ac-boundary-pair .ac-system-gallery-pair{margin:0;gap:20px;align-items:start}
.ac-boundary-pair .ac-system-photo{display:flex;justify-content:center;background:#e1e3d7}
.ac-boundary-pair .ac-system-gallery-pair img{width:auto;height:auto;max-width:100%;max-height:360px}
.ac-boundary-next{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px}
.ac-boundary-next p{font-size:12px;line-height:1.8;color:var(--catalog-muted)}
.ac-boundary-next .ac-cat-button{min-height:48px}
.ac-boundary-compare .ac-cat-comparison details>div,.ac-panelled-choice .ac-cat-comparison details>div{padding-top:14px}
.ac-panelled-direction{scroll-margin-top:112px}
.ac-panelled-room{margin:34px 0}
.ac-panelled-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:38px 0 58px}
.ac-panelled-pair h3{margin-top:24px}
.ac-panelled-details{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.1fr);gap:32px;align-items:start;margin-bottom:54px}
.ac-panelled-details .ac-system-photo{display:flex;justify-content:center;align-items:center;background:#e8e7de;min-height:430px}
.ac-panelled-details img{width:auto;height:auto;max-height:430px;max-width:100%}
.ac-panelled-details h3{font-size:24px;margin-top:24px}
.ac-panelled-details .ac-panelled-decisions h3{font-size:31px;margin-top:0}
.ac-panelled-choice{margin:50px 0 30px}
@media(max-width:1000px){.ac-boundary-split{gap:30px}.ac-boundary-pair{grid-template-columns:1fr;padding:28px;gap:22px}.ac-boundary-pair .ac-system-gallery-pair{max-width:680px;margin:auto}.ac-panelled-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ac-panelled-decisions{grid-column:1/-1}.ac-panelled-decisions dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}}
@media(max-width:700px){.ac-boundary-direction{padding-bottom:42px}.ac-boundary-direction+.ac-boundary-direction{padding-top:42px}.ac-boundary-split,.ac-panelled-pair{grid-template-columns:1fr;gap:28px}.ac-boundary-pair{padding:20px}.ac-boundary-pair .ac-system-gallery-pair{gap:12px}.ac-boundary-pair .ac-system-gallery-pair img{max-height:270px}.ac-boundary-next{flex-direction:column;align-items:stretch;gap:12px}.ac-boundary-next .ac-cat-button{width:100%}.ac-panelled-pair{margin-bottom:36px}.ac-panelled-details{grid-template-columns:1fr;gap:36px}.ac-panelled-details .ac-system-photo{min-height:330px}.ac-panelled-details img{max-height:390px}.ac-panelled-details h3{font-size:26px;line-height:1.3}.ac-panelled-details p{font-size:14px}.ac-panelled-decisions dl{grid-template-columns:1fr;gap:0}.ac-boundary-split h3,.ac-boundary-pair h3,.ac-panelled-pair h3{font-size:27px}}
/* P2 / Whole-home palettes across the eight existing styles */
.ac-style-chapter-nav{display:flex;flex-wrap:wrap;gap:12px 30px;border-block:1px solid var(--catalog-line);padding:12px 0;margin:30px 0 38px}
.ac-style-chapter-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
.ac-style-palette section,.ac-style-palette article[id],.ac-style-palette [id],.ac-whole-home-styles [id]{scroll-margin-top:105px}
.ac-style-combinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.ac-style-combinations article,.ac-whole-style-grid article{min-width:0}
.ac-style-combinations figure,.ac-whole-style-grid figure,.ac-chinese-rooms figure,.ac-chinese-detail figure{margin:0;min-width:0}
.ac-style-combinations .ac-system-photo{height:290px;display:flex;align-items:center;justify-content:center;background:#ebe8df}
.ac-style-combinations img,.ac-whole-style-grid img,.ac-chinese-rooms img,.ac-chinese-detail img{display:block;max-width:100%;width:auto;height:auto;max-height:100%}
.ac-style-combinations figcaption,.ac-whole-style-grid figcaption,.ac-chinese-rooms figcaption,.ac-chinese-detail figcaption{font-size:11px;line-height:1.75;color:var(--catalog-muted);margin-top:12px}
.ac-style-combinations h3,.ac-whole-style-grid h3,.ac-chinese-rooms h3{font-size:27px;font-weight:400;line-height:1.25;letter-spacing:-.02em;margin:24px 0 14px}
.ac-style-combinations article>.ac-cat-link,.ac-whole-style-grid article>.ac-cat-link,.ac-chinese-rooms>div>.ac-cat-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.ac-style-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:44px 0 36px}
.ac-style-decisions>div{border-top:1px solid var(--catalog-line);padding-top:22px;min-width:0}
.ac-style-decisions b{font-size:11px;font-weight:400;display:block;margin-bottom:25px;color:var(--catalog-muted)}
.ac-style-decisions h3{font-size:24px;font-weight:400;line-height:1.3;letter-spacing:-.015em;margin:0 0 16px}
.ac-style-decisions p,.ac-chinese-intro p,.ac-chinese-rooms p,.ac-chinese-detail p,.ac-whole-style-grid p{font-size:14px;line-height:1.85;color:var(--catalog-muted);margin:0 0 18px}
.ac-style-reference-note{font-size:12px;line-height:1.85;color:var(--catalog-muted);max-width:860px;border-top:1px solid var(--catalog-line);padding-top:20px;margin-top:35px}
.ac-style-palette-next{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:28px 0 0}
.ac-style-palette-next p{font-size:12px;line-height:1.85;color:var(--catalog-muted)}
.ac-style-palette-next .ac-cat-button{min-height:48px}
.ac-whole-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 36px}
.ac-whole-style-grid .ac-system-photo{height:310px;display:flex;align-items:center;justify-content:center;background:#ebe8df}
.ac-whole-style-grid .ac-cat-eyebrow{display:block;margin-top:22px}
.ac-whole-style-grid h3{font-size:31px;margin-top:12px}
.ac-whole-style-grid p{max-width:520px}
.ac-whole-finish-review{margin-top:65px;padding-top:55px;border-top:1px solid var(--catalog-line)}
.ac-whole-finish-review .ac-cat-comparison details>div{padding-top:14px}
.ac-chinese-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:end;margin:30px 0 38px}
.ac-chinese-intro h3{font-size:clamp(27px,3vw,40px);font-weight:400;line-height:1.2;margin:0 0 25px;letter-spacing:-.025em}
.ac-chinese-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 34px}
.ac-chinese-rooms .ac-system-photo{height:370px;display:flex;align-items:center;justify-content:center;background:#ebe8df}
.ac-chinese-detail{display:grid;grid-template-columns:minmax(0,350px) minmax(0,1fr);gap:7%;align-items:center;padding:28px;margin-top:42px;background:#e9eadf}
.ac-chinese-detail .ac-system-photo{display:flex;justify-content:center;align-items:center}
.ac-chinese-detail h3{font-size:30px;font-weight:400;line-height:1.25;margin:0 0 18px}
@media(max-width:1000px){.ac-style-combinations{gap:22px}.ac-style-combinations .ac-system-photo{height:220px}.ac-style-combinations h3{font-size:23px}.ac-style-decisions{gap:24px}.ac-chinese-intro{gap:30px}.ac-chinese-rooms .ac-system-photo{height:300px}.ac-whole-style-grid .ac-system-photo{height:260px}}
@media(max-width:700px){.ac-style-combinations,.ac-style-decisions,.ac-chinese-intro,.ac-chinese-rooms,.ac-whole-style-grid,.ac-chinese-detail{grid-template-columns:1fr}.ac-style-combinations{gap:34px}.ac-style-combinations .ac-system-photo{height:280px}.ac-style-combinations h3{font-size:27px;margin-top:20px}.ac-style-chapter-nav{gap:4px 24px;margin:24px 0 30px}.ac-style-decisions{gap:26px}.ac-style-decisions b{margin-bottom:14px}.ac-style-palette-next{flex-direction:column;align-items:stretch;gap:10px}.ac-style-palette-next .ac-cat-button{width:100%}.ac-whole-style-grid{gap:38px}.ac-whole-style-grid .ac-system-photo{height:270px}.ac-whole-style-grid h3{font-size:29px}.ac-whole-finish-review{margin-top:40px;padding-top:36px}.ac-chinese-intro{gap:15px}.ac-chinese-intro h3{font-size:30px}.ac-chinese-rooms{gap:32px}.ac-chinese-rooms .ac-system-photo{height:300px}.ac-chinese-rooms .ac-chinese-entry .ac-system-photo{height:390px}.ac-chinese-detail{padding:22px;gap:26px}.ac-chinese-detail img{max-height:260px}}
.ac-style-combinations.ac-style-has-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-style-has-wide .ac-system-photo{height:340px}
.ac-style-has-wide .ac-style-wide{grid-column:1/-1}
.ac-style-has-wide .ac-style-wide .ac-system-photo{height:auto;min-height:0}
.ac-style-has-wide .ac-style-wide img{width:100%;height:auto;max-height:none}
.ac-chinese-intro{align-items:start}
@media(max-width:700px){.ac-style-combinations.ac-style-has-wide{grid-template-columns:1fr}.ac-style-has-wide .ac-system-photo{height:280px}.ac-style-has-wide .ac-style-wide{grid-column:auto}}



/* Arcaya kitchen comparison article 1802: original document layout. */

body.postid-1802 .ed-hero-visual.ed-document-hero img{aspect-ratio:auto;height:auto;object-fit:contain;max-height:none}body.postid-1802 .ed-figure-grid{display:grid;gap:12px;align-items:start}body.postid-1802 .ed-figure-grid img{display:block;width:100%;height:auto;object-fit:contain}body.postid-1802 .ed-figure-grid a{display:block}body.postid-1802 .ed-document-figure{margin:28px 0}body.postid-1802 .ed-document-figure figcaption{font-size:12px;line-height:1.6;color:var(--ed-muted);padding-top:12px}body.postid-1802 .ed-table{min-width:670px}body.postid-1802 .ed-table th{width:auto} body.postid-1802 .ed-document-lightbox{border:0;padding:12px;max-width:96vw;max-height:96vh;background:#fff}body.postid-1802 .ed-document-lightbox::backdrop{background:rgba(13,18,16,.85)}body.postid-1802 .ed-document-lightbox img{display:block;max-width:90vw;max-height:85vh;width:auto;height:auto}body.postid-1802 .ed-document-lightbox button{display:block;margin-left:auto;padding:8px 12px;background:#fff;border:1px solid #0d1210;font:inherit;cursor:pointer}@media(max-width:600px){body.postid-1802 .ed-figure-grid{gap:8px}body.postid-1802 .ed-figure-grid[data-count="3"]{grid-template-columns:1fr!important}body.postid-1802 .ed-figure-grid[data-count="3"] img{max-height:460px}body.postid-1802 .ed-document-figure{margin:24px 0}}@media(prefers-reduced-motion:reduce){html:has(body.postid-1802){scroll-behavior:auto}}



body.postid-1802 .ed-hero.ed-document-opening{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:38px;padding-bottom:52px}
body.postid-1802 .ar .ed-document-opening h1{max-width:none;font-size:clamp(36px,4.2vw,60px);line-height:1.12;margin:20px 0 24px}
body.postid-1802 .ed-document-opening .ac-article-publisher{margin-bottom:26px}
body.postid-1802 .ed-document-opening .ed-document-hero{width:100%;margin:0 0 24px}
body.postid-1802 .ed-document-opening .ed-document-hero img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
body.postid-1802 .ar .ed-document-opening>p{max-width:none;margin:0;font-size:18px;line-height:1.7}
body.postid-1802 .ed-document-opening>.ed-hero-meta{margin-top:24px}
@media(max-width:760px){body.postid-1802 .ed-hero.ed-document-opening{padding-top:22px;padding-bottom:38px}body.postid-1802 .ar .ed-document-opening h1{font-size:40px;line-height:1.09}body.postid-1802 .ar .ed-document-opening>p{font-size:17px}}

body.postid-1802 .ac-article-publisher[data-ac-publisher]{display:none}
body.postid-1802 .ed-figure-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}body.postid-1802 .ed-figure-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){body.postid-1802 .ed-figure-grid[data-count="3"]{grid-template-columns:1fr!important}}