:root {
  --canvas: #F7F5EF;
  --surface: #FFFFFF;
  --surface-2: #EAEDE5;
  --border: #D7D8CE;
  --border-strong: #858C7D;
  --ink: #23372D;
  --muted: #5D685E;
  --accent: #284B3A;
  --accent-hover: #1D3A2C;
  --accent-ink: #FFFFFF;
  --accent-text: #284B3A;
  --accent-strong: #284B3A;
  --accent-soft: #E3EBDD;
  --accent-border: #A9BBA0;
  --success: #286442;
  --success-ink: #FFFFFF;
  --success-soft: #E0EDDF;
  --success-strong: #265C3D;
  --warning: #8C561D;
  --warning-ink: #FFFFFF;
  --warning-soft: #F3E8D6;
  --warning-strong: #7D4C17;
  --danger: #A53535;
  --danger-ink: #FFFFFF;
  --danger-soft: #F5E3DF;
  --danger-strong: #992C2C;
  --chart-1: #284B3A;
  --chart-2: #946A42;
  --chart-3: #7F8860;
  --chart-4: #6E8081;
  --chart-5: #A76F5C;
  --chart-6: #766A86;
  --font-display: "Instrument Serif", Georgia, serif;
  --font-body: "DM Sans", sans-serif;
  --font-sans: "DM Sans", sans-serif;
  --font-mono: ui-monospace, monospace;
  --display-weight: 400;
  --display-tracking: -0.035em;
  --eyebrow-tracking: 0.13em;
  --radius-btn: 4px;
  --radius-card: 4px;
  --radius-input: 4px;
  --border-w: 1px;
  --border-strong-w: 1px;
  --shadow-card: none;
  --shadow-raised: 0 20px 70px rgba(0,0,0,.18);
  --shadow-btn: none;
  --card-pad: 1.5rem;
  --caps: uppercase;
  --caps-tracking: 0.12em;
  --btn-weight: 500;
  --measure: 64ch;
  --x-photo-ink: #FFFFFF;
  --x-band-bg: #203A2D;
  --x-band-ink: #F7F5EF;
  --x-band-muted: #C7D3C4;
  --x-sand: #D6BE99;

}

html[data-theme="dark"] {
  --canvas: #17231C;
  --surface: #213028;
  --surface-2: #2B3C31;
  --border: #425347;
  --border-strong: #7F9585;
  --ink: #F4F2E9;
  --muted: #B7C4B7;
  --accent: #D6BE99;
  --accent-hover: #E4CFB0;
  --accent-ink: #203426;
  --accent-text: #E1CBAA;
  --accent-strong: #E5D3B9;
  --accent-soft: #3C4132;
  --accent-border: #8F886C;
  --success: #346B47;
  --success-ink: #FFFFFF;
  --success-soft: #233F2C;
  --success-strong: #B8E0BE;
  --warning: #95601F;
  --warning-ink: #FFFFFF;
  --warning-soft: #453823;
  --warning-strong: #ECD19F;
  --danger: #AB4141;
  --danger-ink: #FFFFFF;
  --danger-soft: #462A29;
  --danger-strong: #F0BCB6;
  --chart-1: #D6BE99;
  --chart-2: #A5BF9D;
  --chart-3: #D2A184;
  --chart-4: #A4C7C5;
  --chart-5: #D6B2BC;
  --chart-6: #BFB4D8;
  --font-display: "Instrument Serif", Georgia, serif;
  --font-body: "DM Sans", sans-serif;
  --font-sans: "DM Sans", sans-serif;
  --font-mono: ui-monospace, monospace;
  --display-weight: 400;
  --display-tracking: -0.035em;
  --eyebrow-tracking: 0.13em;
  --radius-btn: 4px;
  --radius-card: 4px;
  --radius-input: 4px;
  --border-w: 1px;
  --border-strong-w: 1px;
  --shadow-card: none;
  --shadow-raised: 0 20px 70px rgba(0,0,0,.18);
  --shadow-btn: none;
  --card-pad: 1.5rem;
  --caps: uppercase;
  --caps-tracking: 0.12em;
  --btn-weight: 500;
  --measure: 64ch;
  --x-photo-ink: #FFFFFF;
  --x-band-bg: #203A2D;
  --x-band-ink: #F7F5EF;
  --x-band-muted: #C7D3C4;
  --x-sand: #D6BE99;

}


html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{font-family:var(--font-body);line-height:1.6}
h1,h2{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:1.02}
h2{font-size:clamp(2.75rem,5.5vw,4.75rem)}
button,a,input,select,textarea{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent-text);outline-offset:5px}
.eyebrow{font-size:.6875rem;letter-spacing:var(--eyebrow-tracking);font-weight:600;margin-bottom:1.5rem}
.section-shell{max-width:1440px;margin-inline:auto;padding-inline:clamp(1.5rem,6vw,6rem)}
.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 3rem}
.wordmark{display:flex;align-items:center;gap:.75rem;text-decoration:none;line-height:1.05;font-size:1.125rem;font-weight:600;letter-spacing:.08em;white-space:nowrap}
.wordmark small{display:block;font-size:.5625rem;letter-spacing:.21em;font-weight:500;margin-top:.5rem}
.brand-amp{font-family:var(--font-display);font-style:italic;font-weight:400}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border-strong);border-radius:50%}
.brand-mark svg{width:22px;height:22px}
.desktop-nav{display:flex;gap:2rem;font-size:.8125rem}
.desktop-nav a{text-decoration:none}
.desktop-nav a:hover,.text-link:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:5px}
.header-actions{display:flex;align-items:center;gap:.75rem}
.header-cta{font-size:.8125rem}
.menu-toggle{display:none}
.mobile-nav{padding:0 1.5rem 1.5rem}
.mobile-nav:not([hidden]){display:grid;gap:1rem}
.kitchen-hero{position:relative;isolation:isolate;min-height:650px;height:min(760px,80vh);margin:0 1.5rem;display:flex;align-items:center;color:var(--x-photo-ink);overflow:hidden}
.hero-photo{position:absolute;inset:0;height:100%;width:100%;z-index:-3;border-radius:0}
.hero-photo img{object-position:center 55%}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.34) 50%,rgba(0,0,0,.04)),linear-gradient(0deg,rgba(0,0,0,.3),transparent 45%)}
.hero-copy{padding:4rem clamp(1.5rem,6vw,6rem) 7rem;max-width:850px}
.hero-copy h1{font-size:clamp(4.5rem,8.4vw,8.5rem);line-height:.93;margin-bottom:1.75rem}
.hero-description{font-size:1rem;line-height:1.75;max-width:360px;margin-bottom:2rem}
.hero-button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--canvas);color:var(--ink);padding:1rem 1.5rem;border-radius:var(--radius-btn);font-size:.875rem;font-weight:500;text-decoration:none}
.hero-button:hover{background:var(--surface-2)}
.hero-foot{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-inline:clamp(1.5rem,6vw,6rem);padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.4);font-size:.75rem}
.hero-foot a{display:flex;align-items:center;gap:1rem;text-decoration:none}
.hero-caption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;font-size:.6875rem;color:var(--muted)}
.hero-caption span:first-child{letter-spacing:.1em}
.services-section{display:grid;grid-template-columns:1fr 1fr;gap:6rem;padding-block:7rem}
.services-intro>p:not(.eyebrow){color:var(--muted);max-width:410px;margin-top:2rem;margin-bottom:2rem;font-size:.9375rem}
.text-link{display:inline-flex;align-items:center;gap:1.5rem;font-size:.8125rem;font-weight:500;text-decoration:none}
.service-list{align-self:center}
.service-row{display:flex;gap:1.5rem;padding-block:2rem;border-bottom:1px solid var(--border)}
.service-row:first-child{border-top:1px solid var(--border)}
.service-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:var(--surface-2);border-radius:50%}
.service-row h3{font-size:1rem;font-weight:500;margin-bottom:.5rem}
.service-row p{font-size:.875rem;color:var(--muted);max-width:360px}
.inspiration-band{background:var(--surface-2);padding-block:6rem}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}
.section-heading>p{font-size:.875rem;color:var(--muted);line-height:1.8;max-width:340px;padding-bottom:.5rem}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.project-open{position:relative;display:block;width:100%;text-align:left;cursor:pointer;overflow:hidden;border:0;background:var(--border)}
.project-image{aspect-ratio:4/5;border-radius:0;display:block}
.project-image img{transition:transform .5s}
.project-open:hover img{transform:scale(1.035)}
.project-arrow{position:absolute;bottom:1rem;right:1rem;display:grid;place-items:center;width:40px;height:40px;background:var(--canvas);color:var(--ink);border-radius:50%}
.project-caption{padding-top:1.25rem}
.project-caption h3{font-family:var(--font-display);font-size:1.75rem;line-height:1.2}
.project-caption p{margin-top:.5rem;font-size:.6875rem;color:var(--muted)}
.gallery-note{margin-top:2rem;color:var(--muted);font-size:.6875rem}
.process-band{background:var(--x-band-bg);color:var(--x-band-ink);padding-block:6rem}
.process-heading{max-width:640px}
.process-heading>p:last-child{color:var(--x-band-muted);max-width:400px;margin-top:1.5rem;font-size:.9375rem}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;list-style:none;margin-top:4rem}
.process-grid li{border-top:1px solid var(--x-band-muted);padding-top:1.5rem}
.process-number{color:var(--x-sand);font-size:.75rem}
.process-grid h3{font-family:var(--font-display);font-size:2rem;margin-top:2rem;margin-bottom:1rem}
.process-grid p{color:var(--x-band-muted);font-size:.875rem;max-width:340px}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;padding-block:7rem}
.faq-section>div>p:last-child{color:var(--muted);font-size:.9375rem;margin-top:1.5rem}
.faq-list details{border-bottom:1px solid var(--border)}
.faq-list details:first-child{border-top:1px solid var(--border)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.5rem;list-style:none;cursor:pointer;font-size:.875rem;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{flex-shrink:0;width:16px;height:16px;transition:transform .2s}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-list details>p{padding-bottom:1.5rem;font-size:.875rem;color:var(--muted);max-width:520px}
.consultation-section{background:var(--accent-soft);padding-block:6rem}
.consultation-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
.consultation-intro{padding-top:1.5rem}
.consultation-intro h2{font-size:clamp(3.5rem,5.9vw,5.5rem)}
.consultation-intro>p:not(.eyebrow){margin-top:2rem;max-width:390px;color:var(--muted);font-size:.9375rem}
.consultation-note{display:flex;align-items:center;gap:1rem;margin-top:3rem;font-size:.8125rem;color:var(--accent-strong)}
.consultation-note .icon{flex-shrink:0}
.consultation-form{display:grid;gap:1.25rem;background:var(--surface);padding:2.5rem;border:1px solid var(--border);border-radius:var(--radius-card)}
.consultation-form>h3{font-family:var(--font-display);font-size:2rem}
.consultation-form>p{font-size:.75rem;color:var(--muted);margin-top:-.75rem}
.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.optional{font-weight:400;color:var(--muted)}
.consent-label{display:flex;gap:.75rem;align-items:flex-start;font-size:.6875rem;color:var(--muted)}
.consent-label input{margin-top:.25rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}
.consent-label a{text-decoration:underline;text-underline-offset:2px}
.submit-request{width:100%;display:flex;justify-content:space-between}
.submit-loading{display:none}
.htmx-request .submit-loading{display:inline}
.htmx-request .submit-label{display:none}
.htmx-request .submit-request{opacity:.7;pointer-events:none}
.consultation-form textarea{resize:vertical;min-height:96px}
.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#form-response:empty{display:none}
#form-response .alert{font-size:.8125rem}
#form-response h3{margin-bottom:.5rem}
.site-footer{padding-block:3rem}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.footer-top>p{font-family:var(--font-display);font-size:1.5rem}
.privacy-details{font-size:.75rem;color:var(--muted);padding-bottom:1.5rem}
.privacy-details summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px}
.privacy-details p{max-width:700px;margin-top:1rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.6875rem}
.project-dialog{position:fixed;inset:0;width:min(900px,calc(100% - 2rem));max-height:90vh;margin:auto;background:var(--canvas);color:var(--ink);border:0;box-shadow:var(--shadow-raised);overflow:auto;padding:0;border-radius:var(--radius-card)}
.project-dialog::backdrop{background:rgba(0,0,0,.65)}
.dialog-image{aspect-ratio:16/9;border-radius:0}
.dialog-close{position:absolute;right:1rem;top:1rem;z-index:2;background:var(--canvas);color:var(--ink);border-radius:50%}
.dialog-copy{padding:2.5rem}
.dialog-copy h2{font-size:3rem}
.dialog-copy>p:not(.eyebrow){margin-block:1.5rem;color:var(--muted);max-width:650px}
.skip-link{position:fixed;top:1rem;left:1rem;transform:translateY(-200%);z-index:100;padding:1rem;background:var(--canvas);color:var(--ink)}
.skip-link:focus{transform:translateY(0)}
@keyframes hero-arrive{from{transform:translateY(14px)}to{transform:translateY(0)}}
.hero-copy{animation:hero-arrive .7s ease-out both}
html.reduced-motion *,html.reduced-motion *::before,html.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:1600px){.kitchen-hero,.site-header,.hero-caption{max-width:1600px;margin-inline:auto}}
@media(max-width:1100px){
.site-header{padding:1.5rem;gap:1rem}.desktop-nav{gap:1.25rem}
.services-section,.consultation-layout{gap:3rem}
.header-cta{display:none}
.hero-copy h1{font-size:7rem}
}
@media(max-width:820px){
.desktop-nav{display:none}.menu-toggle{display:inline-flex}
.kitchen-hero{margin-inline:1rem;min-height:610px;height:72vh}
.hero-copy{padding-inline:2.5rem}.hero-copy h1{font-size:6rem}
.hero-foot{margin-inline:2.5rem}
.services-section,.faq-section,.consultation-layout{grid-template-columns:1fr;gap:3rem}
.services-section,.faq-section{padding-block:5rem}
.services-intro>p:not(.eyebrow){max-width:550px}
.section-heading{display:grid;gap:1.5rem}
.project-grid{gap:1rem}.project-image{aspect-ratio:3/4}.project-caption h3{font-size:1.5rem}
.process-grid{gap:1.5rem}.process-grid h3{font-size:1.75rem}
.consultation-intro h2{font-size:4.5rem}
.consultation-form{max-width:650px}
}
@media(max-width:560px){
.site-header{min-height:88px;padding:1.25rem;gap:.5rem}.wordmark{font-size:.9375rem;gap:.5rem}.brand-mark{width:32px;height:32px}.wordmark small{font-size:.4375rem}.header-actions{gap:.25rem}
.kitchen-hero{min-height:640px;height:auto;margin-inline:.75rem}
.hero-copy{padding:3rem 1.5rem 7rem}.hero-copy h1{font-size:4.75rem}.hero-copy .eyebrow{font-size:.5625rem;max-width:250px}.hero-description{font-size:.9375rem;max-width:270px}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.35)),linear-gradient(0deg,rgba(0,0,0,.25),transparent)}
.hero-photo img{object-position:60% center}
.hero-foot{margin-inline:1.5rem;font-size:.625rem}.hero-foot a{gap:.5rem}.hero-foot .icon{width:14px;height:14px}
.hero-button{font-size:.8125rem;padding:1rem 1.25rem;gap:1.5rem}
.hero-caption{padding:.75rem 1.25rem;font-size:.5rem}
.services-section,.faq-section{padding-block:4rem}
.service-row{gap:1rem}.service-row h3{font-size:.9375rem}
.inspiration-band,.process-band,.consultation-section{padding-block:4rem}
.project-grid{grid-template-columns:1fr;gap:2.5rem}
.project-image{aspect-ratio:4/3}
.project-caption h3{font-size:1.75rem}
.gallery-note{font-size:.625rem}
.process-grid{grid-template-columns:1fr;gap:2rem;margin-top:3rem}
.process-grid h3{margin-top:1rem}
.consultation-intro h2{font-size:3.75rem}
.consultation-form{padding:1.5rem;gap:1.25rem}
.form-pair{grid-template-columns:1fr;gap:1.25rem}
.footer-top{display:grid;gap:2rem}
.footer-bottom{display:grid;gap:.5rem}
.dialog-copy{padding:1.5rem}.dialog-copy h2{font-size:2.5rem}
}
