:root{--bg:#f7f2ea;--surface:#fff;--ink:#15201d;--muted:#61706b;--accent:#b87333;--accent-dark:#7a451c;--accent-soft:#f0dfc9;--line:#15201d1f;--shadow:0 24px 70px #15201d1f;--radius-lg:30px;--radius-md:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at top left, #b873332e, transparent 34rem), linear-gradient(180deg, #fffaf3 0%, var(--bg) 44%, #efe6d8 100%);margin:0;font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf3e0;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);margin:0 auto;padding:18px 0;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:12px;font-weight:800;display:inline-flex}.brand-mark{color:#fff;background:var(--ink);border-radius:16px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 12px 28px #15201d2e}.brand-text{font-size:1.05rem}.nav-links{color:var(--muted);align-items:center;gap:28px;font-weight:700;display:flex}.nav-links a{transition:color .18s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent-dark)}.nav-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;width:44px;height:44px;display:none}.nav-toggle span:not(.sr-only){background:var(--ink);width:20px;height:2px;margin:4px auto;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.section{width:min(1120px,100% - 32px);margin:0 auto;padding:86px 0}.hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:54px;min-height:calc(100vh - 85px);display:grid}.hero-content h1,.page-hero h1,.section-heading h2,.contact-panel h2,.contact-page-grid h2{letter-spacing:-.075em;margin:0;font-size:clamp(2.4rem,6vw,5.8rem);line-height:.95}.page-hero h1,.section-heading h2,.contact-panel h2,.contact-page-grid h2{font-size:clamp(2rem,4vw,4rem)}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-size:.78rem;font-weight:800}.hero-copy{max-width:650px;color:var(--muted);margin:26px 0 0;font-size:clamp(1.08rem,2vw,1.28rem)}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button.primary{color:#fff;background:var(--accent-dark);box-shadow:0 16px 38px #7a451c38}.button.primary:hover,.button.primary:focus-visible{background:var(--accent)}.button.secondary{border:1px solid var(--line);background:#ffffffb8}.hero-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(145deg,#ffffffd1,#f0dfc9c2),linear-gradient(45deg,#15201d1a,#0000);border:1px solid #ffffffb3;gap:18px;padding:24px;display:grid}.hero-card>div,.card,.service-item{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffad}.hero-card>div{padding:24px}.stat{letter-spacing:-.04em;margin-bottom:10px;font-size:1.4rem;font-weight:800;display:block}.hero-card p,.card p,.service-item p,.contact-panel p,.intro-grid p{color:var(--muted);margin:0}.section-heading{max-width:780px;margin-bottom:36px}.intro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;font-size:1.08rem;display:grid}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.card{min-height:260px;padding:28px;box-shadow:0 16px 44px #15201d14}.card-number{width:46px;height:46px;color:var(--accent-dark);background:var(--accent-soft);border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.card h3,.service-item h3{letter-spacing:-.04em;margin:34px 0 12px;font-size:1.35rem}.services,.gallery{padding-top:56px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.gallery-card{border-radius:var(--radius-lg);background:var(--ink);min-height:360px;box-shadow:var(--shadow);margin:0;position:relative;overflow:hidden}.gallery-card.featured{transform:translateY(-22px)}.gallery-card img{object-fit:cover;opacity:.9;width:100%;height:100%;min-height:360px;transition:transform .26s,opacity .26s;display:block}.gallery-card:hover img,.gallery-card:focus-within img{opacity:1;transform:scale(1.04)}.gallery-card:after{content:"";background:linear-gradient(#0000 42%,#15201dc2 100%);position:absolute;inset:0}.gallery-card figcaption{z-index:1;color:#fff;letter-spacing:-.04em;font-size:1.2rem;font-weight:800;position:absolute;bottom:22px;left:22px;right:22px}.service-list{gap:16px;display:grid}.service-item{grid-template-columns:minmax(190px,.55fr) minmax(0,1fr);align-items:center;gap:24px;padding:24px 28px;display:grid}.service-item h3{margin:0}.contact-panel{border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#b87333cc,#0000 28rem),linear-gradient(135deg,#15201d 0%,#273630 100%);grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:42px;padding:clamp(28px,5vw,56px);display:grid}.contact-panel .eyebrow,.contact-panel p{color:#f4dcc0}.contact-button{width:fit-content;color:var(--ink);background:#fff;margin-top:24px}.page-hero{text-align:center;max-width:920px;margin-left:auto;margin-right:auto;padding-bottom:42px}.page-hero p{max-width:720px;color:var(--muted);margin:24px auto 0;font-size:clamp(1.08rem,2vw,1.28rem)}.contact-page-section{padding-top:0}.contact-page-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:22px;display:grid}.contact-details-card,.contact-form{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#ffffffbd}.contact-details-card{padding:clamp(24px,4vw,40px)}.contact-details-card address{color:#fff;background:radial-gradient(circle at 100% 0,#b87333c7,#0000 24rem),linear-gradient(135deg,#15201d 0%,#273630 100%);margin-top:28px}.contact-methods{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.contact-form{gap:18px;padding:clamp(24px,4vw,40px);display:grid}.contact-form label{color:var(--ink);gap:8px;font-weight:800;display:grid}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#ffffffdb;border-radius:16px;padding:14px 16px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);outline:3px solid #b8733338}address{border-radius:var(--radius-md);background:#ffffff14;border:1px solid #ffffff29;gap:8px;padding:24px;font-style:normal;display:grid}address strong{margin-bottom:10px;font-size:1.2rem}address a{color:#fff;text-underline-offset:5px;width:fit-content;margin-top:12px;font-weight:800;text-decoration:underline;display:inline-flex}.site-footer{width:min(1120px,100% - 32px);color:var(--muted);justify-content:space-between;align-items:center;margin:0 auto;padding:28px 0 36px;font-size:.95rem;display:flex}.site-footer p{margin:0}.site-footer a{font-weight:800}@media (width<=860px){.nav-toggle{display:block}.nav-links{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffff5;border-radius:18px;flex-direction:column;align-items:flex-start;gap:0;padding:12px;display:none;position:absolute;top:76px;left:16px;right:16px}.nav-links.is-open{display:flex}.nav-links a{width:100%;padding:12px}.hero,.intro-grid,.cards,.gallery-grid,.contact-page-grid,.contact-panel{grid-template-columns:1fr}.hero{min-height:auto;padding-top:64px}.service-item{grid-template-columns:1fr}.contact-panel{gap:28px}.gallery-card.featured{transform:none}}@media (width<=560px){.section{width:min(100% - 24px,1120px);padding:64px 0}.nav{width:min(100% - 24px,1120px)}.brand-text{display:none}.hero-card,.card,.service-item,address{padding:20px}.hero-actions,.button{width:100%}.site-footer{flex-direction:column;align-items:flex-start;gap:12px;width:min(100% - 24px,1120px)}}
