@import url('./fonts/fonts.css?v=3.0.0');

:root{
  color-scheme:dark;
  --paper:#191c18;--surface:#24291f;--white:#f3f0e5;--ink:#f3f0e5;--accent:#a5b77c;
  --muted:#b0b6a6;--line:#444c3c;--input-line:#78876d;--steel:#2d3427;
  --olive:#59623d;--olive-button:#657048;--olive-hover:#56603a;--olive-muted:#d9dec8;--focus:#c3d39e;--sans:'Onest',Arial,sans-serif;
  --gutter:clamp(22px,4.4vw,80px);
}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button,a{touch-action:manipulation}
img{display:block;max-width:100%;height:auto}figure,p{margin:0}
h1,h2,h3{margin:0;font-weight:400;line-height:1.12;letter-spacing:-.05em;text-wrap:balance}
h1{font-size:clamp(46px,5.4vw,84px)}h2{font-size:clamp(34px,3.5vw,56px)}h3{font-size:24px;letter-spacing:-.035em}
em{font-style:normal}::selection{background:var(--accent);color:var(--paper)}
:is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:5px}
[hidden]{display:none!important}
.section-wrap{padding-inline:var(--gutter)}
.skip-link{position:fixed;z-index:100;top:8px;left:12px;transform:translateY(-160%);padding:12px 18px;background:var(--ink);color:var(--paper)}
.skip-link:focus{transform:none}
.eyebrow,.section-label{font-size:10px;font-weight:500;letter-spacing:.12em;line-height:1.7;text-transform:uppercase;color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:52px;padding:14px 21px;font-size:12px;line-height:1.5;border:1px solid transparent}
.button span{font:23px/1 Arial,sans-serif}
.button-dark{background:var(--olive-button);color:var(--ink)}.button-dark:hover{background:var(--olive-hover)}
.button-light{background:var(--paper);border-color:var(--olive-muted);color:var(--ink)}.button-light:hover{background:var(--surface)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:8px 0;border:0;border-bottom:1px solid currentColor;background:none;font-size:12px;line-height:1.6}
.text-link span{font:22px/1 Arial,sans-serif}.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.concept-note{max-width:650px;font-size:11px;line-height:1.8;color:var(--muted);margin-top:24px}

/* One quiet, legible navigation across the entire site. */
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-inline:var(--gutter);border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--paper)}
.brand{display:inline-flex;align-items:center;min-height:44px;gap:10px;flex-shrink:0}
.brand-name{font-size:34px;font-weight:650;line-height:1;letter-spacing:-.07em}
.brand-description{font-size:8px;line-height:1;letter-spacing:.13em;margin-top:5px}
.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:4vw;font-size:12px}
.desktop-nav a{padding:10px 0}
.desktop-nav a:hover,.desktop-nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}
.header-contact{display:inline-flex;align-items:center;min-height:44px;gap:20px;padding:9px 14px;background:var(--olive-button);color:var(--ink);font-size:12px;white-space:nowrap}
.header-contact span{font:22px/1 Arial,sans-serif}
.header-contact:hover{background:var(--olive-hover)}
.menu-toggle{display:none;background:none;border:0;padding:12px;min-width:44px;min-height:44px}
.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px 0}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{position:fixed;z-index:25;inset:72px 0 0;padding:25px var(--gutter) 50px;background:var(--paper);overflow:auto}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font-size:30px;line-height:1.2;letter-spacing:-.04em}
.mobile-nav a span{font-size:11px;letter-spacing:0}
body.admin-bar .mobile-nav{inset-block-start:104px}

/* Compact introduction: service and product navigation beside a contained room. */
.atelier-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:28px;padding-block:44px 58px}
.atelier-copy{min-width:0;background:var(--olive);color:var(--ink);padding:clamp(28px,3.2vw,48px)}
.atelier-copy .eyebrow{margin-bottom:24px;font-size:9px;letter-spacing:.14em;color:var(--olive-muted)}
.atelier-copy h1{font-size:clamp(38px,4.25vw,64px);line-height:1.1;letter-spacing:-.055em;text-wrap:initial}
.atelier-description{font-size:14px;line-height:1.8;max-width:350px;color:var(--olive-muted);margin-top:22px}
.hero-actions{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px}
.hero-actions .button{gap:32px;min-width:230px;background:var(--paper);border-color:var(--olive-muted);color:var(--ink)}
.hero-actions .button:hover{background:var(--surface)}
.hero-secondary{display:inline-flex;align-items:center;gap:18px;font-size:12px;min-height:44px;color:var(--ink)}
.hero-secondary:hover{text-decoration:underline;text-underline-offset:5px}
.atelier-visual{min-width:0;width:100%;max-width:600px;justify-self:end}
.atelier-visual>a{display:block;overflow:hidden;background:var(--surface)}
.atelier-visual img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% center}
.atelier-visual figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-block:16px;font-size:10px;color:var(--muted)}
.atelier-visual figcaption>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.atelier-visual strong{font-size:15px;font-weight:400;color:var(--ink)}
.atelier-visual figcaption>a{display:flex;align-items:center;gap:18px;min-height:25px}
.atelier-visual figcaption>a:hover{color:var(--ink)}
@media(max-width:1100px){.atelier-hero{gap:24px;padding-block:36px 48px}.atelier-copy{padding:28px}.atelier-copy .eyebrow{font-size:8px;margin-bottom:20px}.atelier-description{font-size:13px;margin-top:20px}.hero-actions{margin-top:24px}.atelier-visual img{aspect-ratio:4/3}}
@media(max-width:760px){.atelier-hero{grid-template-columns:1fr;padding-block:28px 40px;gap:20px}.atelier-copy{padding:28px}.atelier-copy h1{font-size:clamp(36px,8.4vw,58px)}.atelier-copy .eyebrow{font-size:8px;margin-bottom:18px}.atelier-description{font-size:13px;max-width:380px;margin-top:18px}.hero-actions{margin-top:22px;gap:10px 24px}.hero-actions .button{min-width:220px}.atelier-visual{max-width:560px;justify-self:start}.atelier-visual img{aspect-ratio:3/2;max-height:350px;object-position:50% center}.atelier-visual figcaption{padding-block:12px;font-size:10px}.atelier-visual strong{font-size:15px}}
@media(max-width:380px){.atelier-copy{padding:24px 20px}.atelier-copy h1{font-size:34px}.atelier-copy .eyebrow{letter-spacing:.08em}.atelier-description{font-size:12px}.hero-actions .button{min-width:0;width:100%;gap:20px}}

.scope-section{display:grid;grid-template-columns:1fr 2.6fr;gap:55px;padding-block:35px 90px}
.scope-section>.section-label{padding-top:20px}
.scope-links>a{display:grid;grid-template-columns:42px minmax(0,1fr) 35px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0 23px}
.scope-links>a:first-child{border-top:1px solid var(--line)}
.scope-index{font-size:11px;align-self:start;margin-top:10px;color:var(--muted)}
.scope-links h2{font-size:30px;letter-spacing:-.04em}
.scope-links p{font-size:12px;color:var(--muted);margin-top:9px}
.scope-arrow{font:29px/1 Arial,sans-serif}
.scope-links>a:hover .scope-arrow{color:var(--accent)}

/* A gallery of concrete examples, with small descriptions close to each image. */
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:35px}
.section-heading .section-label{margin-bottom:24px}
.section-heading>.text-link{flex-shrink:0;margin-bottom:5px}
.projects-section{padding-bottom:105px}
.project-grid{display:grid;gap:36px 28px}
.featured-grid,.catalog-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.featured-grid .project-card:last-child{grid-column:1/-1}
.featured-grid .project-card:last-child .project-image{aspect-ratio:1.95}
.project-card{position:relative;min-width:0}
.project-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--steel)}
.project-image img{width:100%;height:100%;object-fit:cover}
.project-arrow{position:absolute;right:16px;bottom:16px;width:40px;height:40px;background:var(--paper);color:var(--ink);display:grid;place-items:center;font:23px/1 Arial,sans-serif}
.project-link:hover .project-arrow{background:var(--ink);color:var(--paper)}
.project-number{position:absolute;left:16px;top:16px;background:var(--paper);color:var(--ink);padding:5px 9px;font-size:9px;letter-spacing:.08em;line-height:1.5}
.project-meta{display:flex;justify-content:space-between;gap:25px;padding-top:18px}
.project-meta h3{font-size:25px}
.project-meta p{font-size:11px;color:var(--muted);margin-top:8px}
.project-category{font-size:10px;color:var(--muted);padding-top:6px;white-space:nowrap}
.catalog{padding-bottom:95px}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-block:1px solid var(--line);padding:13px 0;margin-bottom:35px}
.project-filters{display:flex;gap:28px}
.project-filters button{border:0;background:none;padding:9px 0;min-height:42px;font-size:12px;color:var(--muted)}
.project-filters button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}
.project-filters button span{font-size:9px;vertical-align:super;margin-left:7px}
.catalog-note{font-size:11px;color:var(--muted)}
.catalog-grid .project-card:first-child{grid-column:1/-1}
.catalog-grid .project-card:first-child .project-image{aspect-ratio:1.95}
.small-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:60px;border-top:1px solid var(--line);background:var(--steel)}
.small-cta h2{font-size:clamp(32px,3vw,46px)}.small-cta .button{flex-shrink:0;min-width:240px}

/* The sample picker changes both the room and practical material information. */
.material-home{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:center;background:var(--surface);padding-block:80px}
.material-photo{position:relative;min-width:0}
.material-photo img{width:100%;aspect-ratio:1.05;object-fit:cover;object-position:56% center}
.image-label{position:absolute;bottom:18px;left:18px;background:var(--paper);color:var(--ink);padding:8px 12px;font-size:9px;letter-spacing:.08em;line-height:1.5}
.material-content{max-width:440px}
.material-content .section-label{margin-bottom:25px}
.material-content h2{margin-bottom:25px}
.material-content>p:not(.section-label){font-size:13px;line-height:1.9;color:var(--muted);max-width:390px}
.material-picker{margin:30px 0}
.swatches{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.swatch{position:relative;width:40px;height:40px;padding:0;border:0;background:#ddd;flex-shrink:0}
.swatch:after{content:'';position:absolute;inset:-5px;border:1px solid transparent}
.swatch[aria-pressed=true]:after{border-color:var(--focus)}
.swatch-steel{background:repeating-linear-gradient(90deg,#babdb8 0,#e1e2dc 2px,#a6aaa7 3px,#d0d3ce 4px)}
.swatch-terracotta{background:#af4834}
.swatch-walnut{background:repeating-linear-gradient(86deg,#674b35 0,#73563c 2px,#6c4d32 4px,#876548 8px,#735037 12px)}
.swatch-oak{background:repeating-linear-gradient(87deg,#b99972 0,#b99972 2px,#c8a985 7px,#ad8b64 8px,#c2a27b 12px)}
.swatch-olive{background:#5a654b}
.swatch-stone{background:repeating-linear-gradient(146deg,#ded5c2,#ded5c2 6px,#c1b69e 8px,#e6decc 11px,#d6cbb5 14px)}
.material-description{margin-top:27px;min-height:102px}
.material-description h3{font-size:20px;margin-bottom:11px}
.material-description p{font-size:12px;color:var(--muted);max-width:360px;line-height:1.8}
.materials-explorer{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw;align-items:start;padding-bottom:95px}
.material-visual{position:relative;min-width:0}
.material-visual>img{width:100%;aspect-ratio:1/1.07;object-fit:cover}
.material-explorer-content{min-width:0;padding-top:6px}
.material-explorer-content h2{font-size:38px;margin-bottom:20px}
.material-explorer-content>p:not(.section-label):not(.concept-note){font-size:13px;line-height:1.9;color:var(--muted);min-height:70px}
.large-swatches{margin:25px 0 40px}
.large-swatches .swatch{width:46px;height:46px}
.material-facts{margin:25px 0 0}
.material-facts>div{border-top:1px solid var(--line);padding:17px 0}
.material-facts dt{font-size:10px;color:var(--muted)}
.material-facts dd{margin:7px 0 0;font-size:12px;line-height:1.9}
.image-credit{font-size:9px;line-height:1.8;letter-spacing:.07em;margin-top:13px;color:var(--muted)}
.material-articles{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-bottom:95px}
.material-article{min-width:0}.material-article img{width:100%;aspect-ratio:4/3;object-fit:cover}
.material-article h2{font-size:32px;margin:20px 0 18px}
.material-article p:not(.section-label):not(.image-credit){font-size:13px;line-height:1.9;color:var(--muted);max-width:430px;margin-bottom:22px}

/* Useful planning information replaces decorative slogans. */
.process-section{padding-block:90px 95px;border-bottom:1px solid var(--line)}
.heading-aside{font-size:13px;color:var(--muted);line-height:1.8;max-width:260px;margin-bottom:5px}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:50px}
.process-grid article{border-top:1px solid var(--line);padding-top:18px;min-width:0}
.process-grid article>span{font-size:11px;color:var(--muted)}
.process-grid h3{font-size:21px;line-height:1.3;margin:30px 0 17px}
.process-grid p{font-size:12px;line-height:1.9;color:var(--muted);max-width:270px}
.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;padding-block:100px}
.faq-section .section-label{margin-bottom:25px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;list-style:none;font-size:13px;line-height:1.6;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font:24px/1 var(--sans);color:var(--muted)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details>p{font-size:12px;color:var(--muted);padding-bottom:24px;line-height:1.9;max-width:500px}
.contact-band{display:flex;justify-content:space-between;align-items:center;gap:60px;background:var(--olive);color:var(--ink);padding-block:65px}
.contact-band .section-label{color:var(--olive-muted);margin-bottom:22px}
.contact-band h2{font-size:clamp(36px,4vw,62px)}
.contact-band p:not(.section-label){margin-top:25px;font-size:12px;line-height:1.9;color:var(--olive-muted)}
.contact-band .button{min-width:245px;flex-shrink:0}
.contact-band :focus-visible{outline-color:var(--focus)}

/* Inner pages share type sizes and a clear content grid. */
.page-intro{padding-block:58px 55px}
.page-intro .eyebrow{margin-bottom:27px}
.page-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}
.page-intro-row>p{max-width:345px;font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:5px;flex-shrink:0}
.page-intro h1{font-size:clamp(45px,5.2vw,80px);max-width:850px}
.project-intro{padding-block:30px 35px}
.breadcrumb{display:inline-block;font-size:11px;color:var(--muted);margin-bottom:40px}
.project-intro .eyebrow{margin-bottom:17px}
.project-intro h1{font-size:clamp(48px,6vw,95px)}
.project-tags{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:20px;margin-top:35px;font-size:10px;color:var(--muted)}
.project-cover{padding-inline:var(--gutter)}
.zoom-image{display:block;width:100%;padding:0;border:0;position:relative;background:var(--steel);cursor:zoom-in}
.zoom-image img{width:100%;max-height:900px;object-fit:cover}
.zoom-image>span{position:absolute;bottom:20px;right:20px;padding:10px 14px;background:var(--paper);color:var(--ink);font-size:10px}
.project-story{display:grid;grid-template-columns:.7fr 1.7fr 1fr;gap:50px;padding-block:85px}
.project-story>.section-label{padding-top:6px}
.project-story h2{font-size:38px;margin-bottom:25px}
.project-story>div>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:570px;margin-bottom:22px}
.project-story .text-link{margin-top:10px}
.project-spec>div{border-top:1px solid var(--line);padding:15px 0}
.project-spec>div>span{font-size:9px;color:var(--muted)}
.project-spec p,.project-spec li{font-size:12px;line-height:1.9;margin-top:8px}
.project-spec ul{list-style:none;margin:8px 0 0;padding:0}.project-spec li{margin:0}
.related-section{padding-block:75px 90px;background:var(--surface)}
.about-split{display:grid;grid-template-columns:1.05fr 1fr;gap:8vw;align-items:center;padding-bottom:80px}
.about-image img{width:100%;aspect-ratio:1/1.05;object-fit:cover}
.about-split .section-label{margin-bottom:24px}
.about-split h2{margin-bottom:25px}
.about-split>div>p:not(.section-label){font-size:13px;line-height:1.9;color:var(--muted);max-width:480px;margin-bottom:20px}
.about-split>div>.concept-note{font-size:11px}
.values-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:10px 85px}
.values-section article{border-top:1px solid var(--line);padding-top:18px}
.values-section article>span{font-size:10px;color:var(--muted)}
.values-section h3{font-size:27px;margin:28px 0 18px}
.values-section p{font-size:13px;line-height:1.9;color:var(--muted);max-width:350px}
.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-block:60px 90px}
.contact-copy .eyebrow{margin-bottom:28px}
.contact-copy h1{font-size:clamp(48px,5.4vw,82px)}
.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin-top:25px;max-width:440px}
.contact-hints{margin-top:32px}
.contact-hints>span{font-size:10px;letter-spacing:.07em;color:var(--muted)}
.contact-hints ul{padding-left:17px;font-size:12px;line-height:2;color:var(--muted)}
.contact-detail{width:100%;max-height:270px;object-fit:cover;margin-top:30px}
.brief-panel{max-width:570px;border-top:1px solid var(--line);padding-top:22px}
.brief-panel>h2{font-size:35px;margin:22px 0 18px}
.form-notice{font-size:12px;line-height:1.9;color:var(--muted);max-width:470px;margin-bottom:28px}
.form-field{margin-bottom:24px}
.form-field label{display:block;font-size:12px;margin-bottom:9px}
.form-field label>span{color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid var(--input-line);border-radius:0;background:var(--surface);color:var(--ink);font-size:14px;line-height:1.6;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--focus)}
.field-help{display:block;font-size:10px;color:var(--muted);margin-top:7px}
.honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.consent{display:flex;align-items:flex-start;gap:12px;font-size:11px;line-height:1.8;color:var(--muted);margin:28px 0 24px}
.consent input{width:17px;height:17px;flex-shrink:0;margin:3px 0 0;accent-color:var(--accent)}
.consent a{text-decoration:underline;text-underline-offset:4px}
.form-submit{width:100%}
.form-status{font-size:12px;line-height:1.9;margin-top:18px;color:var(--accent)}
.draft-download,.draft-clear{margin-top:18px}.draft-clear{display:block;font-size:11px;color:var(--muted);border:0}
.legal-page{padding-block:55px 90px}
.legal-page h1{margin:25px 0 50px}
.legal-content{max-width:720px;margin-left:25%}
.legal-content h2{font-size:23px;line-height:1.4;letter-spacing:-.03em;margin:34px 0 17px}
.legal-content p{font-size:13px;line-height:1.95;color:var(--muted);margin-bottom:20px}
.not-found{padding-block:80px 110px}
.not-found h1{margin:28px 0}
.not-found>p:not(.eyebrow){margin-bottom:30px;color:var(--muted)}
.not-found>.text-link{margin-left:28px}
.lightbox{width:96vw;max-width:1700px;max-height:95vh;padding:45px 20px 15px;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.lightbox::backdrop{background:#11150fed}
.lightbox img{width:100%;max-height:78vh;object-fit:contain}
.lightbox p{font-size:11px;line-height:1.7;text-align:center;padding-top:13px}
.lightbox-close{position:absolute;top:2px;right:12px;border:0;background:none;font-size:30px;line-height:1;padding:6px 10px}

/* A working directory and next step, with a restrained brand signature. */
.site-footer{padding:65px var(--gutter) 22px;background:var(--surface)}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:45px;padding-bottom:55px}
.footer-about>p{font-size:12px;line-height:1.9;margin-top:25px}
.footer-location{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:17px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-column h2{font-size:12px;font-weight:500;letter-spacing:0;line-height:1.5;margin:3px 0 13px}
.footer-column>a:not(.text-link){min-height:24px;font-size:11px;line-height:1.8;color:var(--muted)}
.footer-column>a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-column>p{font-size:11px;line-height:1.9;color:var(--muted);max-width:230px}
.footer-start .text-link{font-size:11px;gap:25px;margin-top:3px}
.footer-start .back-top{margin-top:14px;display:flex;gap:23px;align-items:center}
.back-top span{font-size:18px;color:var(--ink)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:20px;font-size:9px;line-height:1.8;color:var(--muted)}
.footer-bottom>a:hover{text-decoration:underline;text-underline-offset:5px}

/* Selection tools keep the kitchen, finish and saved references visible. */
.catalog-toolbar{flex-wrap:wrap;align-items:flex-end}
.catalog-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 20px;margin-bottom:28px}
.catalog-controls label{display:grid;gap:8px;min-width:170px;font-size:11px;line-height:1.6;color:var(--muted)}
.catalog-controls select{width:100%;min-height:44px;max-width:100%;padding:10px 32px 10px 12px;border:1px solid var(--input-line);border-radius:0;background:var(--surface);color:var(--ink);font-size:12px}
.catalog-controls option,.form-field option{background:var(--surface);color:var(--ink)}
.catalog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-left:auto}
.catalog-actions .text-link{min-height:44px;font-size:11px}
.catalog-actions [aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}
.catalog-empty{padding:35px 28px;margin:0 0 30px;border:1px dashed var(--input-line);font-size:13px;line-height:1.9;color:var(--muted)}
.catalog-empty h2{font-size:23px;line-height:1.4;color:var(--ink);margin-bottom:12px}
.catalog-empty p{max-width:560px}
.catalog-empty .text-link{margin-top:16px;color:var(--ink)}
.shortlist-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:9px 13px;border:1px solid var(--input-line);background:var(--surface);color:var(--ink);font-size:11px;line-height:1.6}
.shortlist-link:hover{border-color:var(--accent);color:var(--accent)}
.shortlist-link span{font-variant-numeric:tabular-nums}
.header-saved{display:inline-flex;align-items:center;gap:8px}
.header-saved span{display:inline-block;min-width:19px;padding-inline:4px;border:1px solid var(--line);color:var(--accent);font-size:10px;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.save-project{position:absolute;z-index:2;top:16px;right:16px;display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:calc(100% - 90px);padding:10px 13px;border:1px solid var(--input-line);background:var(--paper);color:var(--ink);font-size:11px;line-height:1.5}
.save-project:hover{background:var(--surface);border-color:var(--accent)}
.save-project[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.save-project:focus-visible{outline-offset:4px}
.project-finishes{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;font-size:10px;line-height:1.6;color:var(--accent)}
.project-finishes>span{padding:3px 7px;border:1px solid var(--line)}

/* The selected concepts stay separate from the client's free-form notes. */
.brief-selection{margin:25px 0 30px;padding:20px;background:var(--steel);border:1px solid var(--input-line)}
.brief-selection-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-bottom:17px}
.brief-selection-heading>p,.brief-selection-heading>span{font-size:11px;color:var(--muted)}
.brief-selection-heading h2,.brief-selection-heading h3{font-size:18px;letter-spacing:-.03em}
.brief-selection-heading .text-link{font-size:10px;gap:16px;padding-block:5px}
.brief-selection-grid{display:grid;gap:12px}
.brief-concept{display:grid;grid-template-columns:94px minmax(0,1fr);gap:15px;align-items:center;padding:12px;background:var(--paper)}
.brief-concept img{width:94px;height:80px;object-fit:cover}
.brief-concept-copy{min-width:0}
.brief-concept-kicker{font-size:9px;line-height:1.7;color:var(--muted)}
.brief-concept-title{font-size:16px;line-height:1.4;letter-spacing:-.025em;margin-top:3px}
.brief-concept-title a:hover{text-decoration:underline;text-underline-offset:3px}
.brief-concept-materials{font-size:10px;line-height:1.8;color:var(--muted);margin-top:7px}
.brief-options{min-width:0;margin:30px 0 26px;padding:24px 0 0;border:0;border-top:1px solid var(--line)}
.brief-options legend{padding:0 12px 0 0;font-size:13px;line-height:1.7;color:var(--ink)}
.brief-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.brief-options .form-field{min-width:0;margin-bottom:20px}
.brief-summary{padding:19px 20px;margin:25px 0;border:1px solid var(--line);background:var(--paper)}
.brief-summary h2,.brief-summary h3{font-size:18px;line-height:1.5;margin-bottom:12px;letter-spacing:-.025em}
.brief-summary-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;color:var(--muted)}
.brief-counter{font-size:10px;line-height:1.8;margin-top:7px;color:var(--muted)}
.field-error{font-size:11px;line-height:1.8;margin-top:8px;color:#f1beb0}

.budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:45px}
.budget-item{min-width:0;border-top:1px solid var(--line);padding-top:22px}
.budget-item h3{font-size:23px;line-height:1.35;margin-bottom:15px}
.budget-item p{font-size:12px;line-height:1.9;color:var(--muted);max-width:350px}

@media(min-width:1700px){body{font-size:17px}.section-wrap,.site-footer{padding-inline:max(80px,calc((100vw - 1600px)/2))}}
@media(max-width:1100px){
 .desktop-nav{gap:24px;margin-right:20px}
 .page-intro-row{gap:35px}.page-intro-row>p{max-width:290px}
 .scope-section{grid-template-columns:.8fr 2.6fr;gap:35px}.footer-main{gap:28px}
 .project-story{grid-template-columns:.5fr 1.5fr 1fr;gap:30px}
}
@media(max-width:960px){
 .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.process-grid p{max-width:none}
 .footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-start{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.6fr 1fr;align-items:start;gap:20px}.footer-start h2{grid-row:1/3}.footer-start>p{max-width:none}.footer-start .text-link{margin:0}.footer-start .back-top{grid-column:3;margin-top:0}
}
@media(max-width:760px){
 :root{--gutter:24px}body{font-size:14px}h1{font-size:48px}h2{font-size:36px}h3{font-size:23px}
 .site-header{height:72px;gap:18px}.brand-name{font-size:29px}.brand-description{font-size:7px}.desktop-nav{display:none}.header-contact{font-size:11px;gap:19px;margin-left:auto}.header-contact span{font-size:20px}.menu-toggle{display:block;margin-right:-12px}
 body.admin-bar .mobile-nav{inset-block-start:118px}



 .scope-section{display:block;padding-block:45px 65px}.scope-section>.section-label{padding:0;margin-bottom:20px}.scope-links>a{grid-template-columns:25px minmax(0,1fr) 24px;gap:14px;padding:19px 0}.scope-links h2{font-size:27px}.scope-links p{font-size:11px;line-height:1.8;margin-top:8px}.scope-index{font-size:9px}.scope-arrow{font-size:24px}
 .section-heading{gap:25px;margin-bottom:28px;align-items:start}.section-heading .section-label{font-size:9px;margin-bottom:20px}.section-heading h2{font-size:36px}.section-heading>.text-link{font-size:11px;gap:16px;max-width:150px;align-self:flex-end}
 .projects-section{padding-bottom:65px}.project-grid{gap:28px 20px}.project-meta{padding-top:14px;gap:15px}.project-meta h3{font-size:22px}.project-meta p{font-size:10px;line-height:1.8;margin-top:6px}.project-category{font-size:9px}.project-arrow{width:35px;height:35px;right:12px;bottom:12px;font-size:21px}.project-number{left:12px;top:12px;font-size:8px}
 .concept-note{font-size:10px;margin-top:22px}.catalog{padding-bottom:65px}.catalog-toolbar{gap:20px;flex-wrap:wrap;padding:10px 0 14px;margin-bottom:26px}.project-filters{gap:24px}.project-filters button{font-size:11px}.catalog-note{font-size:10px}
 .material-home{gap:35px;padding-block:50px;grid-template-columns:1fr 1fr}.material-photo img{aspect-ratio:1/1.4}.material-content h2{font-size:35px}.material-content .section-label{margin-bottom:20px}.material-content>p:not(.section-label){font-size:12px}.material-picker{margin:25px 0}.swatches{gap:18px}.swatch{width:33px;height:33px}.material-description{margin-top:22px;min-height:115px}.material-description h3{font-size:18px}.material-description p{font-size:11px}.image-label{bottom:12px;left:12px;font-size:8px;padding:7px 9px}
 .process-section{padding-block:60px 65px}.process-grid{margin-top:35px;gap:30px}.process-grid h3{font-size:21px;margin:23px 0 14px}.process-grid p{font-size:12px}.heading-aside{font-size:12px;max-width:220px}
 .faq-section{padding-block:65px;gap:35px;grid-template-columns:1fr 1.3fr}.faq-section h2{font-size:34px}.faq-section .section-label{margin-bottom:20px}.faq-list summary{font-size:12px;padding-block:19px}.faq-list details>p{font-size:12px}
 .contact-band{padding-block:50px;gap:30px}.contact-band h2{font-size:37px}.contact-band p:not(.section-label){font-size:11px}.contact-band .button{min-width:200px;font-size:11px;gap:25px}
 .page-intro{padding-block:40px 35px}.page-intro .eyebrow{margin-bottom:23px}.page-intro-row{display:block}.page-intro h1{font-size:clamp(43px,7.4vw,62px)}.page-intro-row>p{max-width:470px;margin-top:25px;font-size:13px;padding:0}
 .project-intro{padding-block:25px}.breadcrumb{margin-bottom:30px;font-size:10px}.project-intro h1{font-size:clamp(44px,8.4vw,70px)}.project-tags{margin-top:25px;gap:25px;font-size:9px}
 .zoom-image>span{right:14px;bottom:14px;font-size:9px;padding:8px 10px}.project-story{grid-template-columns:1.5fr 1fr;gap:35px;padding-block:55px}.project-story>.section-label{grid-column:1/-1;padding:0}.project-story h2{font-size:32px}.project-story>div>p{font-size:12px}.project-spec p,.project-spec li{font-size:11px}
 .related-section{padding-block:50px 60px}
 .about-split{gap:35px;padding-bottom:60px}.about-split h2{font-size:35px}.about-split>div>p:not(.section-label){font-size:12px}.values-section{gap:25px;padding-bottom:60px}.values-section h3{font-size:23px}.values-section p{font-size:12px}
 .materials-explorer{gap:35px;padding-bottom:60px;grid-template-columns:1fr 1fr}.material-explorer-content h2{font-size:32px}.material-explorer-content>p:not(.section-label):not(.concept-note){font-size:12px}.large-swatches .swatch{width:35px;height:35px}.large-swatches{margin-block:25px 30px}.material-facts dd{font-size:11px}.material-articles{gap:25px;padding-bottom:60px}.material-article h2{font-size:28px}
 .contact-page{gap:45px;padding-block:45px 60px}.contact-copy h1{font-size:48px}.contact-copy>p:not(.eyebrow){font-size:12px}.contact-detail{max-height:230px}.brief-panel>h2{font-size:31px}.form-field input,.form-field select,.form-field textarea{font-size:16px}
 .small-cta{padding-block:45px;gap:30px}.small-cta h2{font-size:32px}.small-cta .button{min-width:220px}
 .legal-page{padding-block:45px 60px}.legal-page h1{font-size:48px;margin-bottom:35px}.legal-content{margin:0}.legal-content h2{font-size:22px}.legal-content p{font-size:12px}
 .not-found{padding-block:60px 75px}.not-found h1{font-size:48px}
 .site-footer{padding-top:45px}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:35px}.footer-about{grid-column:1/-1}.footer-about>p{margin-top:20px}.footer-location{margin-top:12px}.footer-start{display:flex;grid-column:auto;gap:10px}.footer-start h2{margin-bottom:13px}.footer-start .back-top{margin-top:13px}.footer-start>p{max-width:230px}.footer-bottom{font-size:9px;gap:14px 25px;flex-wrap:wrap;justify-content:space-between}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%}
}
@media(max-width:560px){
 :root{--gutter:22px}
 .brand-description{display:none}.header-contact{font-size:10px;gap:12px}.site-header{gap:16px}

 .section-heading{display:block}.section-heading>.text-link{margin-top:22px;max-width:none;gap:30px}.section-heading h2{font-size:35px}
 .featured-grid,.catalog-grid,.related-grid{grid-template-columns:1fr}.featured-grid .project-card:last-child .project-image,.catalog-grid .project-card:first-child .project-image{aspect-ratio:4/3}.project-meta h3{font-size:25px}
 .material-home{grid-template-columns:1fr;gap:35px}.material-photo img{aspect-ratio:4/3}.material-content{max-width:none}.material-content>p:not(.section-label){max-width:360px}.material-description{min-height:86px}.swatches{gap:22px}.swatch{width:38px;height:38px}
 .heading-aside{max-width:300px;margin-top:25px}.process-grid{grid-template-columns:1fr;gap:24px}.process-grid article{display:grid;grid-template-columns:27px minmax(0,1fr);gap:12px 18px}.process-grid article>span{grid-row:1/3;margin-top:5px}.process-grid h3{margin:0}.process-grid p{grid-column:2}
 .faq-section{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:13px}
 .contact-band{display:block}.contact-band h2{font-size:clamp(32px,8.5vw,44px)}.contact-band .button{margin-top:30px;min-width:230px}.contact-band p:not(.section-label) br{display:none}
 .project-story{grid-template-columns:1fr;gap:30px}.project-story>.section-label{grid-column:auto}.project-spec{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-spec>div:last-child{grid-column:1/-1}.project-spec p,.project-spec li{font-size:12px}.project-tags{flex-wrap:wrap;gap:8px}
 .project-intro h1{font-size:clamp(41px,10vw,58px)}.project-cover{padding-inline:0}
 .about-split{grid-template-columns:1fr;gap:35px}.about-image img{aspect-ratio:4/3}.values-section{grid-template-columns:1fr;gap:28px}.values-section h3{margin:18px 0 14px}
 .materials-explorer{grid-template-columns:1fr;gap:32px}.material-visual>img{aspect-ratio:4/3}.large-swatches .swatch{width:42px;height:42px}.material-explorer-content h2{font-size:34px}.material-facts dd{font-size:12px}.material-articles{grid-template-columns:1fr;gap:40px}
 .contact-page{grid-template-columns:1fr;gap:40px}.contact-copy h1{font-size:47px}.contact-copy>p:not(.eyebrow){font-size:13px}.contact-detail,.contact-copy>.image-credit{display:none}.brief-panel{max-width:none}
 .small-cta{display:block}.small-cta .button{margin-top:25px}.small-cta h2{font-size:32px}
 .legal-page h1{font-size:42px}.not-found h1{font-size:44px}.not-found>.text-link{display:table;margin:22px 0 0}
 .lightbox{width:100vw;max-height:100vh;padding:43px 12px 15px}.lightbox img{max-height:80vh}.lightbox p{font-size:10px}
 .footer-main{gap:32px 25px}.footer-start{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px}.footer-start>p{max-width:270px}.footer-column>a:not(.text-link){font-size:12px}
}
@media(max-width:360px){
 :root{--gutter:20px}.header-contact{font-size:9px;gap:10px}.site-header{gap:12px}.brand-name{font-size:27px}.scope-links h2{font-size:24px}.scope-links>a{gap:10px}.project-filters{gap:19px}.project-filters button{font-size:10px}.project-meta{gap:12px}.project-category{font-size:8px}.contact-copy h1{font-size:40px}
}
@media(max-width:960px){
 .catalog-actions{margin-left:0}.catalog-controls{flex:1 1 100%}.catalog-controls label{flex:1 1 170px}.budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .catalog-controls select{font-size:16px}.catalog-actions{width:100%;justify-content:space-between}.catalog-empty{padding:25px 20px}.save-project{top:12px;right:12px;padding:9px 11px;font-size:10px}.budget-grid{gap:26px;margin-top:32px}.budget-item h3{font-size:21px}
}
@media(max-width:560px){
 .catalog-controls{gap:13px}.catalog-controls label{min-width:0;flex-basis:100%}.catalog-actions{gap:12px 18px}.catalog-actions .shortlist-link{width:100%}.brief-selection{padding:16px}.brief-concept{grid-template-columns:76px minmax(0,1fr);padding:10px;gap:12px}.brief-concept img{width:76px;height:72px}.brief-concept-title{font-size:15px}.brief-concept-materials{font-size:10px}.brief-options-grid{grid-template-columns:1fr}.brief-options{margin-top:26px}.brief-summary{padding:17px}.budget-grid{grid-template-columns:1fr;gap:25px}.budget-item{padding-top:19px}.budget-item p{max-width:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
