:root{--paper:#f1f0e9;--ink:#262925;--muted:#5d645c;--line:#b4bab0;--accent:#8a462e;font-size:16px}*{box-sizing:border-box;min-width:0}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 Arial,'Segoe UI',sans-serif}a{color:inherit;text-underline-offset:.25em}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #1760a3;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:400;letter-spacing:-.06em;line-height:1.06}h1{font-size:clamp(2.7rem,6.5vw,6.5rem)}h2{font-size:clamp(2.15rem,4.4vw,4.4rem)}h3{font-size:1.2rem;line-height:1.25;font-weight:500;letter-spacing:-.02em}p,li,h1,h2,h3,a{overflow-wrap:anywhere}img{display:block;width:100%;height:auto}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;left:1rem;top:-10rem;padding:1rem;background:white;z-index:50}.skip:focus{top:1rem}.concept{background:#dee1d8;font-size:.72rem}.concept .wrap{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-block:.15rem}.concept a{min-height:32px;display:inline-flex;align-items:center}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-size:.9rem;letter-spacing:.12em;font-weight:600}.brand-mark{font-size:1.4rem;line-height:1;border:1px solid var(--ink);padding:.6rem .5rem;letter-spacing:-.07em;font-weight:400}.brand-mark>span{font-family:Georgia,serif;font-size:1rem}.brand small{display:block;font:400 .55rem/1.7 ui-monospace,Consolas,monospace;letter-spacing:.15em}.header nav{display:flex;flex-wrap:wrap;gap:.75rem 2.5rem}.header nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:.83rem}.header nav a:last-child{border-bottom:1px solid var(--ink)}.header nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.header button{background:none;border:1px solid var(--line);padding:.5rem .8rem;min-height:44px;align-items:center;gap:1rem}.header [data-dd-nav-toggle]{display:none}.header[data-dd-enhanced] [data-dd-nav-toggle]{display:flex}.header nav{flex-basis:100%;flex-direction:column;gap:0}.header[data-dd-enhanced]:has([aria-expanded=false]) nav{display:none}.architecture-hero figure{position:relative;background:#313a31}.architecture-hero img{height:570px;object-fit:cover;object-position:55% center}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,#101b15cf,transparent 80%)}.hero-title{position:absolute;left:20px;right:20px;bottom:3.7rem;margin:0;color:#fff;width:auto}.hero-title .eyebrow{font:400 .68rem/1.5 ui-monospace,Consolas,monospace;letter-spacing:.11em;text-transform:uppercase;margin-bottom:1rem}.hero-title h1{max-width:13ch;text-shadow:0 1px 15px #15211766}.action{display:inline-flex;justify-content:space-between;align-items:center;gap:1.8rem;min-height:48px;padding:.85rem 1.15rem;background:var(--ink);color:#fff;text-decoration:none;font-size:.84rem;border:1px solid var(--ink);max-width:100%;line-height:1.5}.action span{flex-shrink:0;font-size:1.1rem}.hero-title .action{background:var(--paper);color:var(--ink);border:0;margin-top:1.5rem}.architecture-hero figcaption{position:absolute;bottom:.6rem;right:1rem;color:#fff;background:#18231ba8;padding:.15rem .4rem;font:400 .61rem/1.5 ui-monospace,monospace}.section-code{font:400 .65rem/1.6 ui-monospace,Consolas,monospace;letter-spacing:.09em;color:var(--muted)}.brief-strip{display:grid;gap:1.25rem;padding-block:1.8rem 2.2rem;border-bottom:1px solid var(--ink)}.brief{font-size:1.25rem;line-height:1.5;max-width:42ch}.brief-location{font-size:.75rem;line-height:1.8;color:var(--muted)}.brief-location strong{font-weight:400;color:var(--ink)}.service-directory{padding-block:3.3rem}.section-title{display:grid;gap:1rem;margin-bottom:2rem}.directory-row{border-top:1px solid var(--line);padding-block:1.3rem;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem 1rem}.number{font:400 .75rem/1.6 ui-monospace,monospace;color:var(--muted)}.directory-row h3{font-size:1.5rem;font-weight:400}.directory-row p,.directory-row .text-link{grid-column:2}.directory-row p{font-size:.9rem;color:var(--muted)}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:1rem;min-height:44px;font-size:.8rem;text-decoration:none;border-bottom:1px solid var(--ink);max-width:fit-content}.text-link span{flex-shrink:0}.detail-band{display:grid;background:#dce0d5}.detail-band figure{position:relative;overflow:hidden}.detail-band img{height:420px;object-fit:cover;object-position:75% center;max-width:none}.detail-band figcaption{position:absolute;bottom:1rem;left:1rem;font:400 .64rem/1.5 ui-monospace,monospace;background:#f1f0e9e6;padding:.3rem .5rem}.detail-copy{padding:2.5rem 20px}.detail-copy h2{margin-block:1.5rem}.detail-copy>p:not(.section-code){font-size:.95rem;max-width:43ch;margin-bottom:1rem;color:#4a5347}.detail-copy .text-link{margin-top:.5rem}.project-callout{display:grid;gap:1.5rem;padding-block:3.5rem}.project-callout>div>p{font-size:.92rem;color:var(--muted);max-width:46ch;margin-bottom:1.3rem}.footer{border-top:1px solid var(--ink);padding-block:2rem;display:grid;gap:1.5rem;font-size:.76rem;color:var(--muted)}.footer .wordmark{color:var(--ink);font-size:1.15rem;letter-spacing:-.03em;text-decoration:none;display:inline-flex;min-height:44px;align-items:center}.footer p{margin-bottom:.75rem;max-width:63ch}.footer>div>a:last-child{display:inline-flex;align-items:center;min-height:44px}.page-heading{padding-block:2.5rem 3rem;border-top:1px solid var(--line)}.page-heading h1{margin-block:1.2rem 1.5rem}.page-heading>p:last-child{max-width:49ch;font-size:1.05rem;color:var(--muted)}.service-index{display:grid;padding-bottom:2.8rem;gap:0}.service-index a{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);text-decoration:none;font-size:.85rem;min-height:44px}.service-index span{font:400 .65rem ui-monospace,monospace;color:var(--muted)}.service-index b{font-weight:400;margin-left:auto}.scope-section{display:grid;gap:1.5rem;padding-block:2rem 3rem;border-top:1px solid var(--ink);scroll-margin-top:1.5rem}.scope-heading h2{margin-block:1rem;font-size:clamp(2rem,3.8vw,3.5rem)}.scope-lead{font-size:1rem;color:var(--muted);max-width:32ch}.scope-body>p{font-size:1rem;color:var(--muted);max-width:53ch}.scope-body h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;margin-top:2rem}.scope-body ol{list-style:none;padding:0;counter-reset:item}.scope-body li{counter-increment:item;border-bottom:1px solid var(--line);padding:.75rem 0;display:flex;gap:1rem;font-size:.9rem}.scope-body li:before{content:'0' counter(item);font:400 .68rem/2 ui-monospace,monospace;color:var(--muted);flex-shrink:0}.scope-quote{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;margin-top:2rem}.scope-quote p{font-size:1.2rem}.scope-quote p>span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.2rem}.planning{background:#dce0d5;padding-block:3rem}.planning-grid{display:grid;gap:2rem}.planning h2{margin-block:1.5rem}.planning p{color:#4a5347;max-width:50ch;font-size:.93rem}.planning article{border-top:1px solid #8d9887;padding-block:1.2rem}.planning article h3{margin-bottom:.75rem}.enquiry-workflow{display:grid;gap:1rem;padding-bottom:2.5rem}.enquiry-workflow>div{display:flex;gap:1rem;align-items:flex-start;border-top:1px solid var(--line);padding-top:1rem}.enquiry-workflow span{font:400 .7rem/2 ui-monospace,monospace;color:var(--accent)}.enquiry-workflow p{font-size:.87rem}.enquiry-section{padding-block:1.5rem 3rem;border-top:1px solid var(--ink)}.form-heading{display:grid;gap:1rem;margin-bottom:2rem}.form-heading>p:last-child{font-size:.88rem;max-width:60ch;color:var(--muted)}form{max-width:980px}label{font-size:.85rem;font-weight:500;display:block;margin-bottom:.5rem}input,select,textarea{background:#fbfaf6;color:var(--ink);border:1px solid #7b8677;border-radius:0;padding:.85rem;width:100%;max-width:100%;min-height:44px}textarea{resize:vertical}.field{margin-bottom:1.5rem}.help{font-size:.75rem;color:var(--muted);margin-top:.6rem}.form-grid{display:grid}.form-bottom{display:grid;gap:1.5rem;align-items:center}fieldset{padding:1rem;border:1px solid var(--line);margin:0}legend{font-size:.73rem;padding-inline:.3rem}fieldset label{font-size:.76rem}.form-bottom>.action{justify-self:start}.form-errors{border:2px solid #9f3424;padding:1rem;color:#782717;margin-bottom:1.5rem}.form-errors a{min-height:44px;display:inline-flex;align-items:center}[aria-invalid=true]{border:2px solid #9f3424}[data-dd-status]:not(:empty){padding:1rem;border-left:3px solid var(--accent);background:#e0e3d9;margin-top:1.5rem;font-size:.9rem}button:disabled{opacity:.65;cursor:wait}.preparation{border-top:1px solid var(--line);padding-block:1.5rem 3rem}.preparation>p:nth-child(2){font-size:.93rem;color:var(--muted);margin-block:1rem;max-width:68ch}.preparation a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}
@media(min-width:48rem){.header nav{flex-basis:auto;flex-direction:row;gap:2.5rem}.header[data-dd-enhanced] [data-dd-nav-toggle]{display:none}.header[data-dd-enhanced]:has([aria-expanded=false]) nav{display:flex}.architecture-hero img{height:650px}.hero-title{left:max(40px,calc((100vw - 1280px)/2));right:auto;bottom:4rem}.hero-title h1{font-size:clamp(4rem,6.5vw,6.5rem)}.brief-strip{grid-template-columns:.7fr 1.7fr .7fr;gap:2rem;align-items:start;padding-block:2.1rem}.brief-location{justify-self:end}.service-directory{padding-block:4.5rem}.section-title{grid-template-columns:.7fr 2.4fr;gap:2rem;margin-bottom:3rem}.directory-row{grid-template-columns:.25fr 1.2fr 1fr .8fr;gap:1.5rem;align-items:center;padding-block:1.6rem}.directory-row p,.directory-row .text-link{grid-column:auto}.directory-row .text-link{justify-self:end}.detail-band{grid-template-columns:1.1fr 1fr}.detail-band img{height:100%;min-height:580px;object-position:72% center}.detail-copy{padding:4rem clamp(2rem,5vw,6rem)}.project-callout{grid-template-columns:.6fr 1.4fr 1fr;gap:2rem;align-items:start;padding-block:4.5rem}.project-callout h2{font-size:3.4rem}.footer{grid-template-columns:1fr 1fr;gap:5rem}.page-heading{padding-block:3.5rem}.service-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-bottom:3.5rem}.scope-section{grid-template-columns:1fr 1.3fr;gap:5rem;padding-block:3rem 4rem}.scope-heading h2{max-width:10ch}.planning-grid{grid-template-columns:1fr 1fr;gap:5rem}.enquiry-workflow{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.form-heading{grid-template-columns:1fr 2fr;align-items:start}.form-grid{grid-template-columns:1fr 1fr;gap:0 2rem}.form-bottom{grid-template-columns:1fr 1fr;gap:3rem}.form-bottom>div:last-child{justify-self:end}.enquiry-section form{margin-left:auto}.preparation{display:grid;grid-template-columns:1fr 2fr;gap:1rem 2rem}.preparation>p:nth-child(2){margin:0}.preparation>a{grid-column:2;justify-self:start}}
@media(max-width:22rem){h1{font-size:2rem}h2{font-size:1.8rem}.hero-title h1{font-size:2rem}.architecture-hero img{height:560px}.directory-row{grid-template-columns:minmax(0,1fr)}.directory-row p,.directory-row .text-link{grid-column:1}.brand{font-size:.75rem}.brand small{font-size:.5rem}.brand-mark{font-size:1.2rem}.hero-title .eyebrow{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Keep the image-led hero tall enough for enlarged text; text participates in layout. */
.architecture-hero figure{min-height:570px;display:flex;align-items:flex-end}.architecture-hero img{position:absolute;inset:0;width:100%;height:100%;min-height:0}.hero-title{position:relative;left:auto;right:auto;bottom:auto;width:min(1280px,calc(100% - 40px));margin-inline:auto;padding-block:4rem;z-index:1}.architecture-hero figcaption{z-index:2}
@media(min-width:48rem){.architecture-hero figure{min-height:650px}.hero-title{left:auto;right:auto;bottom:auto}}
@media(max-width:22rem){.hero-title h1{font-size:1.7rem}}
.hero-title .eyebrow{background:#17251de8;padding:.2rem .4rem;max-width:fit-content}

/* 4 October 2026: warm architectural materials; the drawing-sheet layout stays intact. */
:root{--paper:#f3f0e8;--ink:#292c27;--muted:#5d6259;--line:#b7b7aa;--accent:#8a462e;--stone:#e7e3d8;--surface:#fffdf7;--radius:.65rem;--radius-small:.35rem;--shadow:0 12px 30px #45392b0d;--ease:cubic-bezier(.2,.7,.2,1)}
body{background:linear-gradient(120deg,#faf8f1 0%,var(--paper) 45%,#ece8de 100%)}
.concept{background:#e5e4d9;border-bottom:1px solid #cacbbc}
.header{padding-block:1.1rem}
.brand-mark{border-color:#777b6d;border-radius:var(--radius-small);background:linear-gradient(145deg,#fffdf8,#e8e4d8);box-shadow:inset 0 1px 0 #fff}
.header nav a{border-radius:var(--radius-small);transition:color .18s var(--ease),background .18s var(--ease)}
.header nav a:last-child{border-color:var(--accent)}
.header nav a[aria-current]{text-decoration-color:var(--accent);text-underline-offset:.45em}
.header [data-dd-nav-toggle]{border-color:#777b6d;border-radius:var(--radius-small);background:linear-gradient(160deg,#fffdf7,#e6e3d8);box-shadow:0 2px 5px #45392b0a}
html[data-bb-nav-ready] .header [data-dd-nav-toggle]{display:flex}
html[data-bb-nav-ready] .header:has([aria-expanded=false]) nav{display:none}
.header [data-dd-nav-toggle] span{transition:transform .18s var(--ease)}
.header [data-dd-nav-toggle][aria-expanded=true] span{transform:rotate(45deg)}
.architecture-hero figure{overflow:hidden;border-radius:0 0 var(--radius) var(--radius);box-shadow:0 10px 28px #322f231a}
.image-shade{background:linear-gradient(0deg,#101b15e0 0%,#16251b30 65%,transparent 100%)}
.architecture-hero figcaption{border:1px solid #ffffff38;border-radius:var(--radius-small);background:#18231be6;padding:.3rem .55rem}
.hero-title .eyebrow{border:1px solid #ffffff38;border-radius:var(--radius-small);padding:.3rem .55rem;background:#17251df5}
.action{border-radius:var(--radius-small);background:linear-gradient(145deg,#985137,#763821);border-color:#713823;box-shadow:inset 0 1px 0 #ffffff24,0 4px 9px #5537241a;transition:background .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease)}
.action span,.text-link span{transition:transform .18s var(--ease)}
.hero-title .action{background:linear-gradient(145deg,#fffef7,#e8e3d7);border:1px solid #ffffff94;color:var(--ink);box-shadow:0 5px 18px #17251d35}
.action:focus-visible,.header button:focus-visible{outline-color:#8a462e}
.hero-title .action:focus-visible{outline-color:#fff}
.action:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 5px #21190d30}
.action:disabled{opacity:.65;box-shadow:none;transform:none}
.brief-strip{border-color:#777b6d}
.section-code{color:#626356}
.brief-location{border-left:2px solid #b9a18b;padding-left:1rem}
.directory-row{transition:background .2s var(--ease),box-shadow .2s var(--ease)}
.directory-row .number{color:var(--accent)}
.directory-row:focus-within{background:#fffdf780;box-shadow:inset 3px 0 0 #8a462e}
.text-link{border-color:var(--accent);transition:color .18s var(--ease),border-color .18s var(--ease)}
.detail-band{background:radial-gradient(ellipse at 100% 0%,#fffdf5 0%,transparent 70%),linear-gradient(125deg,#e4e1d5,#ece6db);border-block:1px solid #b5b7a7}
.detail-band figure{border-radius:0 0 var(--radius) var(--radius)}
.detail-band figcaption{border:1px solid #b6b3a4;border-radius:var(--radius-small);background:#fffdf7f2;box-shadow:0 3px 12px #352d2114}
.detail-copy{background:linear-gradient(135deg,#fffdf759,#e2dbce22);box-shadow:inset 0 1px 0 #ffffffb8}
.detail-copy>p:not(.section-code){color:#4d5448}
.project-callout>div{border-left:2px solid #b9a18b;padding-left:1.25rem}
.footer{border-color:#777b6d}
.service-index a{border-radius:var(--radius-small);transition:background .18s var(--ease),color .18s var(--ease)}
.scope-quote{padding:1.2rem;background:linear-gradient(135deg,#fffdf6,#eae4d9);border:1px solid #bbb7a9;border-radius:var(--radius);box-shadow:inset 0 1px 0 #fff,var(--shadow)}
.planning{background:radial-gradient(ellipse at 100% 0%,#fffdf5 0%,transparent 70%),linear-gradient(125deg,#e4e1d5,#ece6db);border-block:1px solid #b5b7a7}
.planning p{color:#4d5448}
.planning article{border-color:#949788}
.enquiry-workflow>div{border-top:2px solid #c5b39d}
.enquiry-section form{padding:1.2rem;border:1px solid #b7b7a9;border-radius:var(--radius);background:linear-gradient(135deg,#fffdf8,#f6f2e9);box-shadow:inset 0 1px 0 #fff,var(--shadow)}
input,select,textarea{border-color:#7b8171;border-radius:var(--radius-small);background:#fffef9;box-shadow:inset 0 1px 3px #4e45240a;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #8a462e12}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent);outline-offset:3px}
fieldset{border-color:#b2b4a4;border-radius:var(--radius-small);background:linear-gradient(145deg,#eeede4,#e4e2d6)}
legend{font-weight:600}
.form-errors{border-radius:var(--radius-small);background:#fff3ec}
[aria-invalid=true]{background:#fff6f0}
[data-dd-status]:not(:empty){border-radius:var(--radius-small);background:#e8e8dc;border:1px solid #a9af9b;border-left:3px solid var(--accent)}
.preparation{border-top-color:#b7b7a9}
.preparation>.section-code{color:#78452f}
@media(hover:hover){
  .header nav a:hover{background:#e5e0d3;color:#783c27}
  .header [data-dd-nav-toggle]:hover{background:linear-gradient(145deg,#fffef8,#dad8c9)}
  .action:hover:not(:disabled){background:linear-gradient(145deg,#a15a3e,#82402a);color:#fff;transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff24,0 7px 15px #55372425}
  .hero-title .action:hover{background:linear-gradient(145deg,#fffefb,#f1eade);color:var(--ink);box-shadow:0 8px 21px #17251d45}
  .action:hover:not(:disabled) span{transform:translate(2px,-2px)}
  .directory-row:hover{background:#fffdf780;box-shadow:inset 3px 0 0 #8a462e}
  .text-link:hover{color:#783c27;border-color:#783c27}
  .text-link:hover span{transform:translate(2px,-2px)}
  .service-index a:hover{background:#e7e1d3;color:#783c27}
  input:hover,select:hover,textarea:hover{border-color:#555e4c}
}
/* Press overrides hover when both states apply. */
.action:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 5px #21190d30}
.header [data-dd-nav-toggle]:active{background:#dad8c9;box-shadow:inset 0 2px 4px #45392b24}
.service-index a:active{background:#dbd5c7}
@media(min-width:48rem){
  html[data-bb-nav-ready] .header [data-dd-nav-toggle]{display:none}
  html[data-bb-nav-ready] .header:has([aria-expanded=false]) nav{display:flex}
  .header nav a{padding-inline:.6rem;margin-inline:-.6rem}
  .detail-band figure{border-radius:0 var(--radius) var(--radius) 0}
  .enquiry-section form{padding:2rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .action:hover:not(:disabled),.action:active:not(:disabled),.action span,.text-link span{transform:none!important}
}
