@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#211c1a; --muted:#645b55; --paper:#f7f2ec; --warm:#e9ded3; --line:#d6c8bd; --copper:#b76e5a; --content:min(1140px, calc(100% - 48px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 'Manrope', Arial, sans-serif; font-weight:500; }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; text-decoration:none; }
.site-header { width:var(--content); min-height:92px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:700; letter-spacing:0; white-space:nowrap; }
.brand img { width:48px; height:48px; object-fit:contain; }
.site-nav { display:flex; align-items:center; gap:24px; color:var(--muted); font-size:14px; }
.site-nav a:hover,.text-link:hover { color:var(--copper); }
.nav-instagram { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid rgba(156,85,75,.72); border-radius:999px; background:rgba(183,110,90,.18); color:#6d3b33!important; font-weight:700; }.nav-instagram img { width:16px; height:16px; object-fit:contain; }.nav-instagram:hover { background:rgba(183,110,90,.28); transform:translateY(-1px); }
.nav-cta { color:var(--ink)!important; border-bottom:1px solid var(--ink); padding-bottom:3px; }
.menu-toggle { display:none; border:0; background:transparent; padding:9px 0; width:34px; }
.menu-toggle span { display:block; height:1px; margin:6px 0; background:var(--ink); }
.hero { width:var(--content); margin:0 auto 94px; min-height:560px; display:grid; grid-template-columns:1fr 1.04fr; background:var(--warm); }
.hero-copy { padding:46px clamp(30px,6vw,72px); align-self:center; }
.eyebrow { color:var(--copper); font-size:12px; font-weight:800; letter-spacing:0; text-transform:uppercase; margin:0 0 17px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Manrope', Arial, sans-serif; font-weight:800; line-height:1.08; letter-spacing:0; }
h1 { font-size:50px; margin-bottom:18px; }
h2 { font-size:46px; margin-bottom:21px; }
h3 { font-size:20px; line-height:1.25; margin-bottom:10px; }
.hero-text,.section-heading>p,.spaces-copy>p { color:var(--muted); max-width:470px; }
.hero-actions { display:flex; align-items:center; gap:27px; margin:26px 0 36px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 23px; border:1px solid rgba(156,85,75,.76); border-radius:999px; background:rgba(183,110,90,.20); color:#81473e; box-shadow:0 12px 28px rgba(95,66,52,.17),inset 0 1px 0 rgba(255,255,255,.58); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); font:700 14px 'Manrope',Arial,sans-serif; cursor:pointer; transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.button:hover { background:rgba(183,110,90,.28); border-color:rgba(134,70,60,.86); box-shadow:0 14px 30px rgba(95,66,52,.21),inset 0 1px 0 rgba(255,255,255,.46); transform:translateY(-1px); }
.button:focus-visible { outline:2px solid var(--copper); outline-offset:3px; }
.button:disabled { opacity:.65; cursor:wait; }
.text-link { border-bottom:1px solid currentColor; padding-bottom:3px; font-size:14px; font-weight:600; }
.hero-facts { display:flex; gap:40px; margin:0; }
.hero-facts div { max-width:120px; }.hero-facts dt { font:800 27px/1 'Manrope',Arial,sans-serif; }.hero-facts dd { color:var(--muted); font-size:12px; margin:8px 0 0; line-height:1.35; }
.hero-image { min-height:560px; }.hero-image img { object-position:center; }
.section { width:var(--content); margin:0 auto; padding:96px 0; }.trust { padding:0 0 95px; }.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.trust-grid p { margin:0; padding:20px 15px; color:var(--ink); font-size:15px; font-weight:700; line-height:1.4; text-align:center; }.trust-grid p+p { border-left:1px solid var(--line); }
.section-heading { max-width:630px; margin-bottom:46px; }.services-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.services-grid article { padding:24px 25px 10px 0; min-height:203px; }.services-grid article+article { border-left:1px solid var(--line); padding-left:25px; }.services-grid span { color:var(--copper); font-size:12px; }.services-grid p { color:var(--muted); font-size:15px; font-weight:600; }
.spaces { display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,8vw,118px); align-items:center; }.spaces-image { aspect-ratio:4/5; }.spaces-image img { object-position:right center; }.spaces-copy { max-width:425px; }.spaces-copy ul { margin:30px 0; padding:0; list-style:none; border-top:1px solid var(--line); }.spaces-copy li { padding:13px 0; border-bottom:1px solid var(--line); }
.process { background:var(--ink); color:#f9f6f0; width:100%; padding:96px max(24px, calc((100% - 1140px) / 2)); }.process .eyebrow { color:#d5aa9d; }.process-list { list-style:none; counter-reset:item; margin:45px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); }.process-list li { counter-increment:item; padding:22px 25px 0; border-left:1px solid #55504a; min-height:196px; }.process-list li:first-child { border:0; padding-left:0; }.process-list strong::before { content:'0' counter(item); display:block; color:#d5aa9d; font-size:12px; margin-bottom:23px; }.process-list strong { display:block; font-size:18px; }.process-list span { color:#d7d1cb; display:block; font-size:14px; margin-top:11px; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:170px; gap:12px; }.gallery-grid figure { position:relative; margin:0; overflow:hidden; grid-column:span 3; grid-row:span 2; aspect-ratio:3/4; }.gallery-grid .gallery-tall { grid-column:span 3; grid-row:span 2; }.gallery-grid figure:nth-child(2) { grid-row:span 2; aspect-ratio:3/4; }.gallery-grid figure:nth-child(4) { grid-column:span 3; }.gallery-grid figure:nth-child(5) { grid-column:span 3; }.gallery-grid img { transition:transform .4s ease; }.gallery-grid figure:hover img { transform:scale(1.04); }.gallery-grid figcaption { position:absolute; inset:auto 0 0; padding:32px 15px 12px; color:#fff; font-size:13px; background:linear-gradient(transparent,rgba(0,0,0,.55)); }.gallery-instagram { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:15px; margin-top:28px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.gallery-instagram img { width:28px; height:28px; object-fit:contain; }.gallery-instagram strong,.gallery-instagram small { display:block; }.gallery-instagram strong { font-size:15px; }.gallery-instagram small { margin-top:3px; color:var(--muted); font-size:13px; }.gallery-instagram b { color:var(--copper); font-size:22px; transition:transform .2s ease; }.gallery-instagram:hover strong { color:var(--copper); }.gallery-instagram:hover b { transform:translateX(4px); }
.price-note { background:var(--warm); padding:84px 0; }.price-note-inner { width:var(--content); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:36px; }.price-note-inner > div { max-width:690px; }.price-note-inner h2 { margin-bottom:14px; font-size:38px; }.price-note-inner p:not(.eyebrow) { color:var(--muted); max-width:650px; margin-bottom:0; }.price-note-inner .button { white-space:nowrap; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:clamp(38px,9vw,142px); background:var(--warm); margin-top:96px; padding:90px max(24px, calc((100% - 1140px) / 2)); }.contact-copy { max-width:450px; }.direct-contact { display:grid; gap:8px; margin-top:32px; font-size:14px; }.direct-contact a { font-weight:700; }.direct-contact span { color:var(--muted); margin-top:9px; }.lead-form { display:grid; gap:18px; align-content:start; }.lead-form label { display:grid; gap:7px; font-size:13px; font-weight:600; }.lead-form input,.lead-form textarea { border:0; border-bottom:1px solid #8f887f; background:transparent; padding:10px 0; color:var(--ink); font:16px 'Manrope',Arial,sans-serif; outline-offset:4px; }.lead-form textarea { min-height:74px; resize:vertical; }.lead-form .button { margin-top:6px; width:max-content; }.form-status { min-height:24px; margin:0; color:var(--muted); font-size:14px; }
footer { width:var(--content); margin:auto; min-height:150px; display:flex; align-items:center; justify-content:space-between; gap:22px; color:var(--muted); font-size:13px; }footer p { margin:0; }.footer-brand { color:var(--ink); }.footer-brand img { width:58px; height:58px; }
.direct-contact .map-link { color:var(--muted); font-weight:400; margin-top:9px; }.direct-contact .map-link:hover { color:var(--copper); }
.contact-details { display:grid; gap:24px; margin-top:32px; }.instagram-link { display:flex; align-items:center; gap:9px; width:max-content; font-size:14px; font-weight:700; }.instagram-link img { width:19px; height:19px; object-fit:contain; }.instagram-link span { color:var(--muted); font-weight:400; }.hours { display:grid; gap:3px; border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font-size:14px; }.hours p { margin:0; }.hours p:first-child { color:var(--ink); font-weight:700; margin-bottom:3px; }.hours strong { color:var(--ink); font-size:13px; margin-top:10px; }.hours span { font-size:13px; }.map-section { background:var(--paper); padding:0 max(24px, calc((100% - 1140px) / 2)) 96px; }.map-container { position:relative; }.map-link-overlay { position:absolute; inset:0; z-index:1; }.map-link-overlay:focus-visible { outline:2px solid var(--copper); outline-offset:4px; }.map-frame { display:block; width:100%; min-height:390px; border:0; filter:grayscale(.18) contrast(.94); }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease,transform .6s ease; }.reveal.is-visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; } }
@media (max-width:820px) { h1 { font-size:44px; } h2 { font-size:40px; } }
@media (max-width:520px) { h1 { font-size:36px; } h2 { font-size:32px; } }
@media (max-width:820px) { .price-note { padding:65px 0; }.price-note-inner { grid-template-columns:1fr; align-items:start; gap:24px; }.price-note-inner h2 { font-size:36px; } }
@media (max-width:520px) { .price-note-inner .button { width:100%; } }
@media (max-width:820px) { .site-header { min-height:75px; }.menu-toggle { display:block; }.site-nav { display:none; position:absolute; top:74px; left:24px; right:24px; z-index:5; padding:20px; background:var(--paper); border:1px solid var(--line); align-items:stretch; flex-direction:column; }.site-nav.is-open { display:flex; }.site-nav .nav-cta { width:max-content; }.hero { grid-template-columns:1fr; margin-bottom:62px; }.hero-copy { padding:62px clamp(26px,8vw,70px); }.hero-image { min-height:400px; }.trust { padding-bottom:60px; }.trust-grid { grid-template-columns:repeat(2,1fr); }.trust-grid p:nth-child(3) { border-left:0; border-top:1px solid var(--line); }.trust-grid p:nth-child(4) { border-top:1px solid var(--line); }.section { padding:65px 0; }.services-grid { grid-template-columns:repeat(2,1fr); }.services-grid article:nth-child(3) { border-left:0; border-top:1px solid var(--line); }.services-grid article:nth-child(4) { border-top:1px solid var(--line); }.spaces { grid-template-columns:1fr; padding-top:30px; }.spaces-image { max-height:500px; }.process { padding-top:65px; padding-bottom:65px; padding-left:24px; padding-right:24px; }.process-list { grid-template-columns:repeat(2,1fr); }.process-list li:nth-child(3) { border-left:0; padding-left:0; padding-top:34px; }.process-list li:nth-child(4) { padding-top:34px; }.gallery-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; }.gallery-grid .gallery-tall,.gallery-grid figure,.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(4),.gallery-grid figure:nth-child(5) { grid-column:span 1; grid-row:auto; aspect-ratio:3/4; }.contact { margin-top:65px; grid-template-columns:1fr; padding-top:65px; padding-bottom:65px; } }
@media (max-width:520px) { :root { --content:min(100% - 32px, 1140px); }.brand img { width:42px; height:42px; }.hero { min-height:0; }.hero-copy { padding:49px 25px; }.hero-image { min-height:330px; }.hero-actions { margin-bottom:40px; }.hero-facts { gap:25px; }.trust-grid p { padding:15px 10px; font-size:13px; }.services-grid { grid-template-columns:1fr; }.services-grid article,.services-grid article+article { border-left:0; border-top:1px solid var(--line); padding:20px 0; min-height:0; }.services-grid article:first-child { border-top:0; }.process-list { grid-template-columns:1fr; }.process-list li,.process-list li:nth-child(n) { border-left:0; border-top:1px solid #55504a; padding:24px 0; min-height:0; }.process-list li:first-child { border-top:0; }.gallery-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; }.gallery-grid .gallery-tall,.gallery-grid figure,.gallery-grid figure:nth-child(n) { grid-column:span 1; grid-row:auto; aspect-ratio:3/4; }.contact { padding-left:16px; padding-right:16px; }.lead-form .button { width:100%; }footer { padding:25px 0; min-height:0; align-items:flex-start; flex-direction:column; }.footer-brand img { width:44px; height:44px; } }
.direct-contact .messenger-icons { display:flex; align-items:center; gap:8px; margin-top:-2px; }.direct-contact .messenger-icons img { width:19px; height:19px; object-fit:contain; }

.hero-text { color:var(--muted); font-weight:600; }

.price-note-inner p:not(.eyebrow) { font-weight:600; line-height:1.6; }
.contact-copy>p { font-weight:600; }
.process-list span { font-weight:600; }
.section-heading>p,.spaces-copy>p,.gallery-instagram small,.hours,.direct-contact .map-link,.form-status { font-weight:600; }
.header-phone { margin-left:auto; color:var(--ink); font-size:14px; font-weight:800; white-space:nowrap; }
.header-instagram { display:none; }
@media (max-width:820px) { .header-instagram { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(156,85,75,.72); border-radius:50%; background:rgba(183,110,90,.18); }.header-instagram img { width:16px; height:16px; object-fit:contain; }.header-instagram:hover { background:rgba(183,110,90,.28); } }
@media (max-width:520px) { .site-header { gap:10px; }.site-header .brand { gap:6px; font-size:12px; }.site-header .brand img { width:36px; height:36px; }.header-phone { font-size:11px; } }
@media (max-width:360px) { .site-header .brand span { display:none; } }
