/* Architecture studio: a wide drawing-board presentation with a conceptual WebGL massing model. */
.page-architecture{--paper:#e9e7df;--ink:#262c27;--muted:#687168;--accent:#9c6946;background-color:#e9e7df;background-image:linear-gradient(#5262530a 1px,transparent 1px),linear-gradient(90deg,#5262530a 1px,transparent 1px);background-size:32px 32px}
.page-architecture .sample-head{height:88px;border-bottom:1px solid #28342d45;background:#e9e7dff0}
.page-architecture .sample-logo{font:700 .95rem var(--display);letter-spacing:.15em}.page-architecture .sample-logo small{font:500 .48rem var(--mono);letter-spacing:.15em}
.page-architecture .sample-nav a{font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.page-architecture .sample-nav .nav-cta{background:#536354;color:#f6f1e6}
.page-architecture .arch-title{max-width:1680px;margin:auto;padding:6.5rem clamp(4rem,7vw,8rem) 2.3rem;grid-template-columns:.8fr 1.2fr;align-items:end;gap:clamp(4rem,8vw,9rem)}
.page-architecture .arch-title h1{font:500 clamp(5rem,12vw,11rem)/.74 var(--serif);letter-spacing:-.1em}.page-architecture .arch-title h1 em{color:#a26946}.page-architecture .arch-title>p{max-width:490px;border-left:1px solid #8d806c;padding:1rem 0 1rem 1.2rem;font-size:.78rem;line-height:1.9}
.page-architecture .arch-model-wrap{max-width:1680px;margin:1rem auto 5.5rem;padding:0 clamp(2rem,4vw,5rem)}
.page-architecture .arch-model-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.9rem .2rem;color:#37443a}
.page-architecture .arch-model-toolbar>div{display:grid;gap:.35rem}
.page-architecture .arch-model-index{font:600 .54rem var(--mono);letter-spacing:.13em;color:#986344}
.page-architecture .arch-model-toolbar b{font:500 clamp(1.05rem,2vw,1.5rem) var(--serif)}
.page-architecture .model-reset{border:1px solid #667362;background:#f1efe8;color:#38443a;padding:.65rem .85rem;font:600 .58rem var(--mono);letter-spacing:.035em;cursor:pointer}
.page-architecture .model-reset:hover,.page-architecture .model-reset:focus-visible{background:#29372f;color:#fff;outline:2px solid #a26946;outline-offset:2px}
.page-architecture .arch-model{position:relative;min-height:clamp(430px,48vw,590px);overflow:hidden;isolation:isolate;background-color:#deded1;background-image:linear-gradient(#53635412 1px,transparent 1px),linear-gradient(90deg,#53635412 1px,transparent 1px);background-size:30px 30px;border:1px solid #39473a35;cursor:grab;touch-action:none;user-select:none;outline:none}
.page-architecture .arch-model::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,#f7f5ec 0,transparent 58%);pointer-events:none;z-index:0}
.page-architecture .arch-model:focus-visible{outline:3px solid #a26946;outline-offset:4px}
.page-architecture .arch-model.is-dragging{cursor:grabbing}
.page-architecture .arch-renderer{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;outline:none}
.page-architecture .arch-model.is-ready .arch-fallback{display:none}
.page-architecture .arch-fallback{position:absolute;inset:0;z-index:0;display:grid;place-content:center;justify-items:center;gap:.5rem;padding:2rem;color:#435045;text-align:center}
.page-architecture .arch-fallback[hidden]{display:none}
.page-architecture .arch-fallback svg{display:block;width:min(70%,620px);max-height:320px;min-height:0;transform:none;box-shadow:none;filter:drop-shadow(0 14px 14px #343e2b20)}
.page-architecture .arch-fallback p{margin:0;font:600 .58rem var(--mono);letter-spacing:.12em;color:#7a6958}
.page-architecture .model-label{position:absolute;z-index:3;padding:.42rem .58rem;background:#29372f;color:#f2eee4;font:600 .5rem var(--mono);letter-spacing:.1em;pointer-events:none}
.page-architecture .label-courtyard{left:5%;top:20%}
.page-architecture .label-sun{right:5%;top:19%;background:#a26946}
.page-architecture .arch-model-cue{position:absolute;z-index:4;right:12px;bottom:12px;max-width:min(600px,90%);padding:.7rem .85rem;background:#29372f;color:#f2eee4;border-left:3px solid #b2764e;font:600 .52rem/1.6 var(--mono);letter-spacing:.04em;box-shadow:0 5px 18px #17221935;pointer-events:none}
.page-architecture .arch-caption{max-width:none;margin:0;padding:.9rem .2rem 0;display:flex;justify-content:space-between;gap:1rem;color:#697164;font:500 .51rem/1.6 var(--mono);letter-spacing:.07em}
.page-architecture .arch-project{max-width:1680px;margin:0 auto;padding:5.5rem clamp(4rem,7vw,8rem);grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,6vw,7.5rem);background:#f1efe8;color:#28342d;border-block:1px solid #28342d22}
.page-architecture .arch-project h2{color:#28342d;font:500 clamp(3.1rem,6vw,5.6rem)/.9 var(--serif);letter-spacing:-.075em}.page-architecture .arch-project p{color:#60695f}.page-architecture .arch-project>div:first-child>p:not(.b-kicker){max-width:390px;font-size:.75rem;line-height:1.85}
.page-architecture .arch-drawings{align-items:start}.page-architecture .arch-drawing{background:#e6e4dc;border:1px solid #39473a55;box-shadow:5px 5px 0 #b7b7a9}.page-architecture .arch-decision-list{margin-top:2rem;border-top:1px solid #28342d35}.page-architecture .arch-decision-list p{display:grid;grid-template-columns:105px 1fr;gap:1rem;margin:0;padding:.8rem 0;border-bottom:1px solid #28342d26;font-size:.67rem;line-height:1.6}.page-architecture .arch-decision-list b{font:600 .55rem var(--mono);letter-spacing:.08em;color:#9c6946}
.page-architecture .sample-cta{background:#29372f;color:#f2eee4}.page-architecture .sample-cta .sample-wrap{width:min(1680px,86vw);max-width:1680px}.page-architecture .sample-cta h2{font:500 clamp(3.5rem,8vw,7rem)/.9 var(--serif)}.page-architecture .sample-cta .sample-action{background:#b2764e;color:#fff}
@media(min-width:1440px){.page-architecture .arch-title{padding-top:clamp(6rem,6.5vw,8rem);padding-bottom:3rem}.page-architecture .arch-title>p{max-width:590px;font-size:.86rem}.page-architecture .arch-model-wrap{margin-bottom:6rem}.page-architecture .arch-model{min-height:clamp(560px,34.4vw,660px)}.page-architecture .arch-model-toolbar{padding:1.1rem .2rem}.page-architecture .arch-model-cue{font-size:.58rem}.page-architecture .arch-project{padding-block:6.5rem}.page-architecture .arch-project>div:first-child>p:not(.b-kicker){max-width:500px;font-size:.82rem}.page-architecture .arch-decision-list p{padding:1rem 0;font-size:.72rem}.page-architecture .arch-drawing{min-height:260px;padding:1.35rem}.page-architecture .arch-drawing svg{height:190px}.page-architecture .sample-cta .sample-wrap{padding-inline:clamp(4rem,7vw,8rem)}}
@media(max-width:760px){.page-architecture .sample-head{height:auto;min-height:74px;flex-wrap:wrap;gap:.55rem;padding:.8rem 5vw}.page-architecture .sample-nav{width:100%;justify-content:space-between;gap:.45rem;flex-wrap:nowrap}.page-architecture .sample-nav a{font-size:.56rem;white-space:nowrap}.page-architecture .sample-nav .nav-cta{padding:.55rem .65rem}.page-architecture .arch-title{padding:3.5rem 7vw 1.5rem;gap:1.5rem}.page-architecture .arch-model-wrap{margin:0 auto 3rem;padding:0 4vw}.page-architecture .arch-model-toolbar{align-items:center}.page-architecture .model-reset{font-size:.48rem;padding:.55rem .6rem}.page-architecture .arch-model{min-height:400px}.page-architecture .arch-model-cue{left:8px;right:8px;bottom:8px;max-width:none;font-size:.44rem}.page-architecture .model-label{font-size:.42rem}.page-architecture .label-courtyard{top:12%}.page-architecture .arch-caption{flex-direction:column;gap:.2rem}.page-architecture .arch-project{grid-template-columns:1fr;padding:3rem 7vw}.page-architecture .arch-drawings{grid-template-columns:1fr;gap:1rem}.page-architecture .arch-drawing{min-height:190px}.page-architecture .arch-drawing svg{height:135px}.page-architecture .arch-decision-list p{grid-template-columns:88px 1fr}}
@media(prefers-reduced-motion:reduce){.page-architecture .model-reset{transition:none}.page-architecture .arch-model{scroll-behavior:auto}.page-architecture .architecture-reveal-ready [data-reveal],.page-architecture [data-reveal]{opacity:1;transform:none;transition:none}}
.architecture-reveal-ready .page-architecture [data-reveal]:not(.is-revealed){opacity:.01;transform:translateY(20px)}.architecture-reveal-ready .page-architecture [data-reveal]{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.architecture-reveal-ready .page-architecture [data-reveal].is-revealed{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.architecture-reveal-ready .page-architecture [data-reveal],.architecture-reveal-ready .page-architecture [data-reveal]:not(.is-revealed){opacity:1;transform:none;transition:none}}

/* Buyer-oriented story and project journey, kept inside the five-part static offer. */
.page-architecture .arch-process{max-width:1680px;margin:0 auto;padding:clamp(4.5rem,7vw,7.5rem) clamp(4rem,7vw,8rem);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,7vw,8rem);background:#e9e7df;color:#28342d;border-bottom:1px solid #28342d28}
.page-architecture .arch-process-intro h2{margin:0;font:500 clamp(3.2rem,6vw,6.3rem)/.9 var(--serif);letter-spacing:-.08em}
.page-architecture .arch-process-intro>p:last-child{max-width:470px;margin:1.2rem 0 0;color:#60695f;font-size:.82rem;line-height:1.85}
.page-architecture .arch-process-steps{list-style:none;margin:0;padding:0;border-top:1px solid #28342d35}
.page-architecture .arch-process-steps li{display:grid;grid-template-columns:58px 1fr;gap:1.15rem;padding:1.2rem .2rem;border-bottom:1px solid #28342d35}
.page-architecture .arch-process-steps li>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #a26946;border-radius:50%;color:#8d5b3e;font:600 .62rem var(--mono)}
.page-architecture .arch-process-steps h3{margin:.15rem 0 .35rem;font:600 1.05rem var(--display);letter-spacing:-.03em}
.page-architecture .arch-process-steps p{max-width:600px;margin:0;color:#60695f;font-size:.75rem;line-height:1.75}
.page-architecture .arch-drawing p{max-width:36rem;margin:.65rem 0 0;color:#657064;font-size:.66rem;line-height:1.65}
.page-architecture .sample-disclosure{max-width:780px;border-left:2px solid #b2764e;padding-left:1rem;font-size:.88rem;line-height:1.8}
@media(min-width:1440px){.page-architecture .arch-process{padding-block:7rem}.page-architecture .arch-process-steps li{padding:1.55rem .3rem}.page-architecture .arch-process-steps h3{font-size:1.2rem}.page-architecture .arch-process-steps p{font-size:.84rem}.page-architecture .arch-drawing p{font-size:.75rem}}
@media(max-width:760px){.page-architecture .sample-nav{overflow-x:auto;justify-content:flex-start}.page-architecture .arch-process{grid-template-columns:1fr;padding:3.5rem 7vw;gap:2rem}.page-architecture .arch-process-intro h2{font-size:3.6rem}.page-architecture .arch-process-steps li{grid-template-columns:44px 1fr;gap:.8rem;padding:1rem 0}.page-architecture .arch-process-steps p{font-size:.7rem}.page-architecture .sample-disclosure{font-size:.76rem}}

/* Buyer-facing reading guide: separates spatial concept graphics from professional deliverables. */
.page-architecture .arch-buyer-notes{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);margin-top:2.4rem;padding:2rem 0 0;border-top:1px solid #28342d35}
.page-architecture .arch-buyer-notes h3{margin:.35rem 0 1.1rem;color:#28342d;font:500 clamp(1.5rem,2.5vw,2.25rem)/1.1 var(--serif);letter-spacing:-.04em}
.page-architecture .drawing-key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.page-architecture .drawing-key-grid article{padding:1rem;background:#e6e4dc;border-top:2px solid #9c6946}
.page-architecture .drawing-key-grid b,.page-architecture .arch-brief-check .b-kicker{font:700 .55rem var(--mono);letter-spacing:.08em;color:#8d5b3e}
.page-architecture .drawing-key-grid p,.page-architecture .arch-brief-check p:last-child{margin:.65rem 0 0;color:#60695f;font-size:.68rem;line-height:1.75}
.page-architecture .arch-brief-check ul{margin:.7rem 0 0;padding-left:1.1rem;color:#465248;font-size:.7rem;line-height:1.8}
.page-architecture .arch-brief-check li+li{margin-top:.3rem}
.page-architecture .arch-brief-check p:last-child{padding-left:.8rem;border-left:2px solid #a26946}
.page-architecture .arch-web-offer{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:1.6rem 0;background:#ffffff45;border:1px solid #ffffff45}
.page-architecture .arch-web-offer>div{padding:1.15rem;background:#29372f}
.page-architecture .arch-web-offer b{font:700 .62rem var(--mono);letter-spacing:.06em;color:#e3b58f}
.page-architecture .arch-web-offer p{margin:.6rem 0 0;color:#e1e4dc;font-size:.72rem;line-height:1.8}
.page-architecture .arch-process-steps h3{font-size:1.05rem}
.page-architecture .arch-process-steps p{max-width:680px}
@media(min-width:1440px){.page-architecture .arch-buyer-notes{margin-top:3rem;padding-top:2.6rem}.page-architecture .drawing-key-grid article{padding:1.25rem}.page-architecture .drawing-key-grid p,.page-architecture .arch-brief-check ul,.page-architecture .arch-brief-check p:last-child{font-size:.78rem}.page-architecture .arch-web-offer p{font-size:.82rem}}
@media(max-width:760px){.page-architecture .arch-buyer-notes{grid-template-columns:1fr;gap:1.8rem;margin-top:1.5rem;padding-top:1.5rem}.page-architecture .drawing-key-grid{grid-template-columns:1fr}.page-architecture .drawing-key-grid article{padding:.9rem}.page-architecture .arch-web-offer{grid-template-columns:1fr}.page-architecture .arch-web-offer p{font-size:.68rem}}

/* Keep buyer explanations readable while retaining compact mono labels. */
.page-architecture .drawing-key-grid p,.page-architecture .arch-brief-check ul,.page-architecture .arch-brief-check p:last-child,.page-architecture .arch-web-offer p{font-size:.84rem}
@media(max-width:760px){.page-architecture .drawing-key-grid p,.page-architecture .arch-brief-check ul,.page-architecture .arch-brief-check p:last-child,.page-architecture .arch-web-offer p{font-size:.8rem}}

/* A concise architecture-specific decision checklist sits after the sample process. */
.page-architecture .arch-client-gates{grid-column:1/-1;display:grid;grid-template-columns:.68fr 1.32fr;gap:clamp(2rem,6vw,6rem);margin-top:2rem;padding:2rem;background:#f1efe8;border:1px solid #28342d35}
.page-architecture .arch-client-gates h3{margin:.45rem 0 .7rem;color:#28342d;font:500 clamp(1.7rem,3vw,2.6rem)/1.05 var(--serif);letter-spacing:-.045em}
.page-architecture .arch-client-gates>div:first-child>p:last-child{max-width:380px;margin:0;color:#60695f;font-size:.84rem;line-height:1.8}
.page-architecture .arch-gate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#28342d35;border:1px solid #28342d35}
.page-architecture .arch-gate-grid article{padding:1.1rem;background:#e9e7df}
.page-architecture .arch-gate-grid article>b{font:700 .54rem var(--mono);letter-spacing:.08em;color:#8d5b3e}
.page-architecture .arch-gate-grid h4{margin:.8rem 0 .5rem;color:#28342d;font:650 .95rem var(--display)}
.page-architecture .arch-gate-grid p{margin:0;color:#60695f;font-size:.8rem;line-height:1.75}
@media(min-width:1440px){.page-architecture .arch-client-gates{padding:2.5rem 3rem}.page-architecture .arch-gate-grid article{padding:1.35rem}.page-architecture .arch-gate-grid p{font-size:.86rem}}
@media(max-width:760px){.page-architecture .arch-client-gates{grid-template-columns:1fr;gap:1.3rem;margin-top:1.4rem;padding:1.2rem}.page-architecture .arch-gate-grid{grid-template-columns:1fr}.page-architecture .arch-gate-grid article{padding:.9rem}}
