@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap";
:root{--ink:#1d2424;--muted:#64706f;--stone:#f4f0ea;--warm:#ded2c2;--line:#e4ddd3;--charcoal:#252b2a;--accent:#9b7655;--accent-dark:#76573d;--white:#fffdf9;--shadow:0 22px 50px #1d242421}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}img{width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.site-header{z-index:20;width:100%;color:var(--white);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;padding:20px clamp(20px,5vw,72px);transition:background .18s,color .18s,box-shadow .18s,padding .18s;display:grid;position:fixed;top:0;left:0}.site-header.is-scrolled,.site-header.is-open{color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9f5;padding-block:14px;box-shadow:0 10px 30px #1d242414}.brand{align-items:center;gap:12px;font-weight:700;display:inline-flex}.brand-mark{place-items:center;width:50px;height:44px;display:grid;overflow:hidden}.brand-mark img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.brand strong,.brand em{line-height:1.05;display:block}.brand em{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-style:normal;font-weight:500}.main-nav{justify-self:center;gap:clamp(18px,3vw,34px);font-size:14px;font-weight:600;display:flex}.main-nav a{padding-block:6px;position:relative}.main-nav a:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .18s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.main-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-cta{border:1px solid;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700}.nav-toggle{color:inherit;background:0 0;border:0;padding:0;display:none}.form-autofill-decoy{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.hero{min-height:92vh;color:var(--white);align-items:center;display:grid;position:relative;overflow:hidden}.hero img,.hero-overlay{width:100%;height:100%;position:absolute;inset:0}.hero img{-o-object-fit:cover;object-fit:cover}.hero-photo{-o-object-position:50% 62%;object-position:50% 62%}.hero-overlay{background:linear-gradient(90deg,#111616c7 0%,#11161675 43%,#11161614 100%),linear-gradient(#11161614,#11161657)}.hero-content{max-width:760px;padding:160px clamp(20px,6vw,96px) 96px;position:relative}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:800}.hero .eyebrow{color:var(--warm)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Playfair Display,Georgia,serif;line-height:1.05}h1{max-width:820px;margin-bottom:24px;font-size:clamp(38px,5.8vw,68px)}h2{margin-bottom:18px;font-size:clamp(34px,4vw,58px)}h3{margin-bottom:12px;font-size:22px;line-height:1.2}.hero-content>p:not(.eyebrow){color:#fffdf9db;max-width:620px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:13px 23px;font-weight:800;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{color:var(--white);background:var(--accent)}.button.primary:hover{background:var(--accent-dark)}.button.secondary{color:var(--white);border-color:#fffdf99e}.section{padding:clamp(72px,9vw,132px) clamp(20px,6vw,96px)}.intro{background:var(--stone);grid-template-columns:minmax(260px,.85fr) minmax(300px,1fr);align-items:start;gap:clamp(36px,8vw,120px);display:grid}.intro p:last-child,.split-content p,.contact-copy p{color:var(--muted);font-size:18px}.section-heading{max-width:760px;margin-bottom:42px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.service-card{border:1px solid var(--line);background:var(--white);border-radius:8px;min-height:280px;padding:28px}.service-card p{color:var(--muted)}.service-card.feature{box-shadow:var(--shadow);grid-column:span 2;grid-template-rows:1fr auto;gap:24px;padding:0;display:grid;overflow:hidden}.service-card.feature img{-o-object-fit:cover;object-fit:cover;height:390px}.service-card.feature .ensuite-photo{-o-object-position:50% 68%;object-position:50% 68%}.service-card.feature div{padding:0 28px 28px}.image-card{padding:0;overflow:hidden}.image-card img{-o-object-fit:cover;object-fit:cover;height:100%;min-height:280px}.image-card .vanity-photo{-o-object-position:50% 54%;object-position:50% 54%}.process{color:var(--white);background:var(--charcoal)}.process .eyebrow{color:var(--warm)}.steps{background:#fffdf92e;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.steps article{background:var(--charcoal);padding:34px}.steps span{color:var(--warm);margin-bottom:42px;font-family:Playfair Display,Georgia,serif;font-size:42px;display:block}.steps p{color:#fffdf9ad}.split{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(34px,6vw,78px);display:grid}.split-media img{aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;box-shadow:var(--shadow);border-radius:8px}.split-media .split-photo{-o-object-position:50% 62%;object-position:50% 62%}.check-list{gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.check-list li{padding-left:30px;font-weight:700;position:relative}.check-list li:before{content:"✓";color:var(--accent);position:absolute;top:.1em;left:0}.quote-band{text-align:center;color:var(--white);background:var(--accent-dark);padding:clamp(56px,8vw,96px) clamp(20px,6vw,96px)}.quote-band p{max-width:900px;margin:0 auto 18px;font-family:Playfair Display,Georgia,serif;font-size:clamp(34px,5vw,62px);line-height:1.1}.quote-band span{color:#fffdf9b8;font-weight:700}.contact{background:var(--stone);grid-template-columns:minmax(280px,.85fr) minmax(320px,1fr);gap:clamp(36px,8vw,100px);display:grid}.contact-details{gap:10px;margin-top:28px;font-weight:700;display:grid}.contact-details a{color:var(--accent-dark)}.contact-form{background:var(--white);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:clamp(24px,4vw,42px);display:grid}label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:13px;font-weight:800;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--white);font:inherit;border-radius:6px;padding:14px 15px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid #9b765540}.site-footer{color:#fffdf9c7;background:var(--ink);justify-content:space-between;gap:20px;padding:28px clamp(20px,6vw,96px);font-size:14px;display:flex}.site-footer p{margin:0}@media (max-width:980px){.site-header{grid-template-columns:auto auto;justify-content:space-between}.nav-toggle{width:44px;height:44px;color:inherit;background:0 0;border:1px solid;border-radius:50%;place-content:center;gap:7px;display:grid}.nav-toggle span{background:currentColor;width:18px;height:2px;display:block}.main-nav{width:100%;color:var(--ink);background:#fffdf9fa;padding:20px clamp(20px,5vw,72px) 26px;display:none;position:absolute;top:100%;left:0}.site-header.is-open .main-nav{display:grid}.header-cta{display:none}.intro,.split,.contact{grid-template-columns:1fr}.service-grid,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.site-header{padding:14px 18px}.brand-mark{width:46px;height:40px}.hero{min-height:760px}.hero-content{padding:130px 20px 64px}.hero-overlay{background:linear-gradient(90deg,#111616d1,#1116166b)}.hero-actions,.site-footer{display:grid}.button{width:100%}.service-grid,.steps{grid-template-columns:1fr}.service-card.feature{grid-column:span 1}.service-card.feature img{height:300px}.steps article{padding:28px}}.container{width:min(1180px,100% - 40px);margin-inline:auto}.page-hero{background:var(--stone);padding:clamp(140px,14vw,190px) 0 clamp(72px,9vw,120px)}.page-hero-grid,.contact-grid{grid-template-columns:minmax(280px,.92fr) minmax(320px,1fr);align-items:center;gap:clamp(34px,6vw,82px);display:grid}.page-photo{min-height:clamp(360px,46vw,560px);box-shadow:var(--shadow);background:var(--warm);border-radius:8px;position:relative;overflow:hidden}.page-photo img{-o-object-fit:cover;object-fit:cover}.photo-label{color:var(--white);letter-spacing:.12em;text-transform:uppercase;background:#1d242494;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;position:absolute;bottom:18px;left:18px}.page-section{background:var(--stone);padding:clamp(72px,9vw,126px) 0}.page-section.dark,.dark{color:var(--white);background:var(--charcoal)}.section-head{max-width:780px;margin-bottom:42px}.actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:13px 23px;font-weight:800;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-clay{color:var(--white);background:var(--accent)}.btn-clay:hover{background:var(--accent-dark)}.btn-ghost{color:inherit;border-color:currentColor}.page-grid-2,.page-grid-3,.link-grid,.page-section .steps{gap:18px;display:grid}.page-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid-3,.link-grid,.page-section .steps{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-card,.step-card,.link-card,.review-card{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:28px;box-shadow:0 14px 34px #1d242412}.dark .studio-card,.dark .step-card,.dark .link-card,.dark .review-card{box-shadow:none;background:#fffdf90f;border-color:#fffdf924}.step-card span,.stars{color:var(--accent);font-weight:800}.review-card{max-width:860px;margin:0 auto}.review-card blockquote{margin:18px 0;font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,4vw,48px);line-height:1.12}.contact-page{min-height:100vh;padding-top:clamp(150px,14vw,190px)}.contact-page h1{margin:26px 0 22px;font-family:Playfair Display,Georgia,serif;font-size:clamp(46px,5.8vw,82px);line-height:1.03}.page-hero h1,.page-section h2,.page-section h1,.page-section h3,.placeholder,.photo-label{font-family:inherit}.page-hero h1{max-width:820px;margin-bottom:24px;font-family:Playfair Display,Georgia,serif;font-size:clamp(38px,5.8vw,68px);line-height:1.05}.page-hero .lede,.page-section .lede,.page-section p,.page-section li,.page-section blockquote,.page-section .studio-card p{color:var(--muted);font-size:18px;line-height:1.6}.page-section h2{margin-bottom:18px;font-family:Playfair Display,Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1.05}.page-section h3,.page-section .studio-card h3{margin-bottom:12px;font-size:22px;line-height:1.2}.page-section .btn,.page-hero .btn,.link-card{font-size:14px;font-weight:800}.dark .page-section p,.dark p,.dark .studio-card p,.dark blockquote{color:#fffdf9b8}@media (max-width:860px){.page-hero-grid,.contact-grid,.page-grid-2,.page-grid-3,.link-grid,.page-section .steps{grid-template-columns:1fr}.page-photo{min-height:340px}}:root{--brand-purple:#5f0b86;--brand-purple-bright:#8b15c7;--brand-purple-soft:#8b15c724;--brand-purple-faint:#8b15c714;--brand-gradient:linear-gradient(135deg, #5f0b86 0%, #8b15c7 38%, #9b7655 100%)}.button.primary,.btn-clay,.contact-form .button.primary{background:var(--brand-gradient);box-shadow:0 16px 34px #5f0b8633}.button.primary:hover,.btn-clay:hover,.contact-form .button.primary:hover{background:linear-gradient(135deg,#4a086a 0%,#7410a8 42%,#76573d 100%);box-shadow:0 18px 40px #5f0b8642}.header-cta:hover,.btn-ghost:hover,.link-card:hover{color:var(--brand-purple);border-color:#8b15c773}.hero .eyebrow,.eyebrow,.steps span,.step-card span,.stars{color:#b987d4}.service-card,.studio-card,.step-card,.link-card,.review-card,.contact-form{transition:border-color .18s,box-shadow .18s,transform .18s}.service-card:hover,.studio-card:hover,.link-card:hover{border-color:#8b15c738;box-shadow:0 18px 42px #5f0b8617}.process,.page-section.dark,.quote-band,.site-footer{isolation:isolate;position:relative;overflow:hidden}.process:before,.page-section.dark:before,.quote-band:before,.site-footer:before{aspect-ratio:1;content:"";pointer-events:none;filter:blur(6px);z-index:-1;background:radial-gradient(circle,#8b15c72e 0%,#8b15c714 32%,#8b15c700 68%);width:min(52vw,620px);position:absolute;inset:auto -12% -34% auto}.process:after,.page-section.dark:after{aspect-ratio:1;content:"";pointer-events:none;opacity:.045;filter:grayscale()brightness(2.4);z-index:-1;background:url(/images/logo-mark-purple.png) 50%/contain no-repeat;width:clamp(120px,18vw,240px);position:absolute;bottom:clamp(20px,7vw,90px);right:clamp(20px,7vw,110px)}.contact-form:focus-within{border-color:#8b15c733;box-shadow:0 22px 54px #5f0b861f}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--brand-purple-bright);box-shadow:0 0 0 4px var(--brand-purple-faint)}.hero-actions .button.primary{color:var(--white);background:var(--brand-gradient);border-color:#0000;box-shadow:0 16px 34px #5f0b8633}.hero-actions .button.primary:hover{color:var(--white);background:linear-gradient(135deg,#4a086a 0%,#7410a8 42%,#76573d 100%);border-color:#0000;box-shadow:0 18px 40px #5f0b8642}.contact-details a,.site-footer a{color:var(--brand-purple-bright)}.contact-details a:hover,.site-footer a:hover{color:var(--brand-purple)}.quote-band{background:var(--brand-gradient)}.quote-band:before{background:radial-gradient(circle,#b987d438 0%,#8b15c71f 38%,#8b15c700 72%);width:min(58vw,760px);inset:-25% -8% -40% auto}.check-list li:before{color:var(--brand-purple-bright)}.header-cta{color:var(--white);background:var(--brand-gradient);border-color:#0000;box-shadow:0 16px 34px #5f0b8629}.header-cta:hover{color:var(--white);background:linear-gradient(135deg,#4a086a 0%,#7410a8 42%,#76573d 100%);border-color:#0000;box-shadow:0 18px 40px #5f0b863d}
