:root{
  --ink:#f4eee1;
  --paper:#f2eadc;
  --charcoal:#0e0f0e;
  --teal:#02b0aa;
  --teal-deep:#007a76;
  --line:rgba(244,238,225,.17);
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-width:320px;background:var(--charcoal);color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}
.skip-link{position:absolute;left:-9999px;top:12px;background:#fff;color:#111;padding:10px 14px;z-index:50}.skip-link:focus{left:12px}
.page-shell{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto auto;overflow:hidden}
.site-header{height:100px;padding:0 clamp(22px,4vw,68px);display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:5;background:rgba(10,11,10,.96);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;min-width:0}.brand img{width:clamp(260px,24vw,370px);height:auto}
.header-status{display:flex;align-items:center;gap:11px;color:#ded4c6;font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;white-space:nowrap}
.header-status span{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px rgba(2,176,170,.12)}
.hero{min-height:clamp(620px,calc(100svh - 240px),900px);position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:-2%;z-index:-3;background-image:url("assets/bespoke-kitchen-hero.jpg");background-size:cover;background-position:center 52%;transform:scale(1.02);animation:slow-push 18s ease-out both}
.hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(7,8,7,.97) 0%,rgba(7,8,7,.91) 28%,rgba(7,8,7,.63) 52%,rgba(7,8,7,.17) 78%,rgba(7,8,7,.35) 100%),linear-gradient(0deg,rgba(7,8,7,.46),rgba(7,8,7,.06) 44%,rgba(7,8,7,.16))}
.hero-content{width:min(var(--max),calc(100% - clamp(44px,8vw,136px)));margin:0 auto;padding:76px 0 72px}
.eyebrow,.small-label{display:block;color:var(--teal);font-size:.72rem;line-height:1.4;font-weight:850;letter-spacing:.25em;text-transform:uppercase}
h1{max-width:850px;margin:17px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(3.15rem,6.4vw,7.1rem);line-height:.98;letter-spacing:-.05em;color:#fff}
.accent-line{width:72px;height:2px;background:var(--teal);margin:30px 0 28px}
.lead{max-width:700px;margin:0;color:#e5ded3;font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.72}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(244,238,225,.38);font-size:.72rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);border-color:var(--teal)}.button-primary{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff}.button-secondary{background:rgba(14,15,14,.34);backdrop-filter:blur(8px)}
.service-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px 12px;margin:40px 0 0;padding:0;max-width:930px}
.service-list li{padding:9px 13px;border:1px solid rgba(244,238,225,.2);background:rgba(14,15,14,.42);backdrop-filter:blur(8px);color:#ddd4c7;font-size:.76rem;letter-spacing:.04em}
.contact-strip{display:grid;grid-template-columns:minmax(330px,1fr) minmax(390px,.85fr);gap:36px;align-items:center;padding:25px clamp(22px,4vw,68px);background:var(--paper);color:#171816;border-top:1px solid rgba(255,255,255,.06)}
.credential{display:flex;align-items:center;gap:18px;min-width:0}.credential img{width:64px;height:64px;object-fit:cover;border-radius:50%;border:1px solid rgba(20,20,18,.18)}
.credential strong{display:block;margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:400;line-height:1.15}
.contact-details{display:grid;grid-template-columns:1.35fr .75fr;gap:30px;border-left:1px solid rgba(20,20,18,.14);padding-left:36px}.contact-details a{display:inline-block;margin-top:5px;font-size:.95rem;font-weight:700;overflow-wrap:anywhere}.contact-details a:hover,.site-footer a:hover{color:var(--teal-deep)}
.site-footer{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px clamp(22px,4vw,68px);border-top:1px solid var(--line);color:#aaa094;background:#0a0b0a;font-size:.75rem;line-height:1.55}.site-footer p{margin:0}.site-footer strong{color:#ddd5ca}
@keyframes slow-push{from{transform:scale(1.02)}to{transform:scale(1.075)}}
@media (prefers-reduced-motion:reduce){.hero-media{animation:none}.button{transition:none}}
@media (max-width:1100px){.site-header{height:92px}.brand img{width:290px}.hero{min-height:680px}.hero-overlay{background:linear-gradient(90deg,rgba(7,8,7,.95) 0%,rgba(7,8,7,.82) 48%,rgba(7,8,7,.36) 100%),linear-gradient(0deg,rgba(7,8,7,.52),rgba(7,8,7,.07))}.contact-strip{grid-template-columns:1fr;gap:22px}.contact-details{border-left:0;border-top:1px solid rgba(20,20,18,.14);padding:20px 0 0}.site-footer{align-items:flex-start;flex-direction:column;gap:7px}}
@media (max-width:700px){.site-header{height:auto;min-height:86px;align-items:flex-start;flex-direction:column;padding-top:18px;padding-bottom:17px;gap:10px}.brand img{width:min(330px,88vw)}.header-status{font-size:.62rem}.hero{min-height:680px;align-items:flex-end}.hero-media{background-position:64% center}.hero-overlay{background:linear-gradient(0deg,rgba(7,8,7,.97) 0%,rgba(7,8,7,.83) 58%,rgba(7,8,7,.40) 100%)}.hero-content{width:calc(100% - 38px);padding:82px 0 42px}h1{font-size:clamp(2.75rem,13vw,4.4rem)}.lead{font-size:.98rem;line-height:1.62}.actions{display:grid;grid-template-columns:1fr;width:100%}.button{width:100%}.service-list{margin-top:28px;gap:8px}.service-list li{font-size:.7rem;padding:8px 10px}.contact-strip{padding:24px 19px}.credential{align-items:flex-start}.credential img{width:58px;height:58px}.contact-details{grid-template-columns:1fr;gap:17px}.site-footer{padding:17px 19px;font-size:.7rem}}
@media (max-width:420px){.hero{min-height:700px}.eyebrow{font-size:.64rem}.service-list li{width:100%}}
