
:root{
  --ink:#171514;
  --soft-ink:#3b3430;
  --sand:#d4c2ad;
  --sand-dark:#bca78f;
  --porcelain:#fffdf8;
  --paper:#f8f1e8;
  --blush:#efe4d5;
  --rose:#d7c6ad;
  --line:#e8ded2;
  --white:#fffdfa;
  --gold:#b99a67;
  --shadow:0 28px 80px rgba(49,35,27,.12);
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Jost', Arial, sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-weight:300;letter-spacing:.02em;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.topline{height:34px;background:#f7efe3;display:flex;align-items:center;justify-content:center;gap:28px;text-transform:uppercase;font-size:12px;letter-spacing:.28em;color:#000;font-weight:500}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,247,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;padding:24px clamp(18px,4vw,42px);display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:grid;line-height:1}.brand-rk{font-family:var(--serif);font-size:42px;letter-spacing:.08em;color:#b88458}.brand-sub{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.26em;margin-left:4px;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:30px;text-transform:uppercase;font-size:11px;letter-spacing:.22em}.nav-links a:not(.btn){opacity:.78}.nav-links a:hover,.nav-links a.active{opacity:1;color:#8f765f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:#fff;padding:14px 24px;text-transform:uppercase;font-size:11px;font-weight:500;letter-spacing:.18em;border:1px solid var(--ink);min-height:46px}.btn.sand{background:var(--sand);color:var(--ink);border-color:var(--sand)}.btn.blush{background:#f4eadc;color:var(--ink);border-color:#e3d4c0}.btn.outline{background:transparent;color:var(--ink);border-color:#bfa79b}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 12px;text-transform:uppercase;font-size:11px;letter-spacing:.16em}.container{max-width:1180px;margin:auto;padding-inline:clamp(20px,4vw,42px)}.eyebrow{text-transform:uppercase;color:#8f765f;font-weight:500;font-size:12px;letter-spacing:.28em}.script{font-family:var(--serif);font-style:italic;color:#c2a783}.hero-editorial{display:grid;grid-template-columns:minmax(320px,44vw) minmax(0,1fr);min-height:680px;border-bottom:1px solid var(--line)}.hero-dark{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,78px);position:relative;overflow:hidden}.hero-dark:after{content:'';position:absolute;width:190px;height:190px;right:-20px;bottom:-35px;background:radial-gradient(circle,var(--sand) 0 2px,transparent 3px);background-size:18px 18px;opacity:.7}.hero-dark .mini{color:#c7b7a4}.hero-dark h1{font-family:var(--serif);font-weight:300;font-size:clamp(64px,7vw,118px);line-height:.86;margin:28px 0 28px;letter-spacing:.01em}.hero-dark h1 span{display:block;font-family:var(--serif);font-style:italic;color:var(--sand);font-size:.62em;margin-top:14px}.hero-dark p{max-width:420px;color:#ddd3ca;margin-bottom:28px}.hero-image{min-height:680px;position:relative;overflow:hidden;background:#f4eadc}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:52% center}.section{padding:clamp(70px,9vw,130px) 0}.section.alt{background:var(--paper)}.section.dark{background:var(--ink);color:#fff}.section-head{display:flex;justify-content:space-between;gap:34px;align-items:end;margin-bottom:48px}.section-head h2{font-family:var(--serif);font-size:clamp(46px,6vw,82px);font-weight:300;line-height:1;margin:0}.section-head p{max-width:420px}.expertise{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.collage{position:relative;min-height:620px}.collage .block{position:absolute;background:var(--sand);inset:150px 0 0 34%;z-index:0}.collage img{position:absolute;object-fit:cover;box-shadow:var(--shadow)}.collage .img-a{width:58%;height:370px;left:0;top:0;z-index:2}.collage .img-b{width:52%;height:330px;right:0;top:160px;border:8px solid var(--porcelain);border-radius:50% 50% 0 0;z-index:3}.collage .img-c{width:46%;height:260px;left:9%;bottom:0;z-index:4}.copy-stack h2{font-family:var(--serif);font-size:clamp(44px,5vw,72px);font-weight:300;line-height:1.02;margin:0 0 22px}.service-list{display:grid;gap:22px}.service-row{display:grid;grid-template-columns:120px 1fr auto;gap:28px;align-items:center;border-top:1px solid var(--line);padding-top:22px}.service-row img{width:120px;height:92px;object-fit:cover}.service-row h2,.service-row h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0}.service-row p{margin:.2rem 0;color:#655b56}.gallery-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:18px}.gallery-strip img{height:360px;width:100%;object-fit:cover}.gallery-strip img:first-child{height:520px;grid-row:span 2}.about-band{display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:center;background:var(--white);box-shadow:var(--shadow)}.about-band img{width:100%;height:500px;object-fit:cover;object-position:center 25%}.about-band .about-text{padding:48px 56px 48px 0}.about-band h2{font-family:var(--serif);font-size:56px;font-weight:300;line-height:1;margin:0 0 20px}.proof-grid{display:grid;grid-template-columns:340px repeat(3,1fr);gap:22px}.google-box,.review-card,.faq-card,.contact-card{background:var(--white);padding:32px;border:1px solid var(--line)}.google-logo{font-size:34px;font-weight:500;letter-spacing:-.04em}.stars{color:#d69a35;letter-spacing:.08em}.review-card p{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.35}.faq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.faq-card h3{font-family:var(--serif);font-size:26px;margin:.2rem 0}.cta{background:linear-gradient(90deg,var(--ink) 0%,#25201e 100%);color:#fff;padding:48px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.cta h2{font-family:var(--serif);font-size:44px;font-weight:300;margin:0}.footer{background:#0f0e0d;color:#fff;padding:54px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:34px}.footer h4{text-transform:uppercase;font-size:12px;letter-spacing:.22em;color:var(--sand)}.footer p,.footer a{color:#d8cec5}.footer-base{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#b9aaa0;display:flex;justify-content:space-between;gap:20px}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.footer-credit{font-size:11px;letter-spacing:.04em;color:#9b8a7c}.footer-credit:hover{color:#fff}.page-hero{background:var(--ink);color:#fff;padding:90px 0}.page-hero h1{font-family:var(--serif);font-size:clamp(58px,9vw,110px);font-weight:300;line-height:.92;margin:10px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px}.accordion{display:grid;gap:14px}.qa{background:var(--white);border:1px solid var(--line)}.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px}.qa summary::-webkit-details-marker{display:none}.qa summary:hover h3{color:#8f765f}.qa summary:focus-visible{outline:2px solid #8f765f;outline-offset:-2px}.qa summary h3{margin:0;font-family:var(--serif);font-weight:400;font-size:22px;transition:color .2s ease}.qa-body{padding:0 26px 24px}.qa-icon{position:relative;flex:0 0 18px;width:18px;height:18px;transition:transform .25s ease}.qa-icon::before,.qa-icon::after{content:'';position:absolute;background:#8f765f}.qa-icon::before{top:8px;left:0;width:18px;height:2px}.qa-icon::after{left:8px;top:0;width:2px;height:18px;transition:transform .25s ease}.qa[open] .qa-icon{transform:rotate(180deg)}.qa[open] .qa-icon::after{transform:scaleY(0)}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-card{background:var(--white);border:1px solid var(--line);padding:10px}.gallery-card img{width:100%;aspect-ratio:1/1.08;object-fit:cover}.gallery-card span{display:block;padding:12px;text-transform:uppercase;font-size:11px;letter-spacing:.18em}.mobile-book{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ink);color:#fff;text-align:center;padding:16px;text-transform:uppercase;font-size:12px;letter-spacing:.2em}
@media(max-width:1100px){.hero-editorial{grid-template-columns:1fr}.hero-image,.hero-dark{min-height:auto}.hero-image{aspect-ratio:16/10;order:-1}.nav-links{gap:16px}.desktop-cta{display:none}.proof-grid{grid-template-columns:1fr 1fr}.expertise{grid-template-columns:1fr}.collage{min-height:520px}.faq-grid{grid-template-columns:1fr 1fr}.gallery-strip{grid-template-columns:1fr 1fr}.gallery-strip img,.gallery-strip img:first-child{height:300px;grid-row:auto}}
@media(max-width:780px){body{padding-bottom:58px}.topline{font-size:10px;gap:12px}.nav{padding:16px 20px}.brand-rk{font-size:34px}.brand-sub{font-size:9px;letter-spacing:.16em}.menu-toggle{display:block}.nav-links{position:absolute;left:0;right:0;top:100%;background:var(--porcelain);border-bottom:1px solid var(--line);padding:18px 20px;display:none;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero-dark{padding:42px 24px}.hero-dark h1{font-size:62px}.hero-image{aspect-ratio:4/3}.section-head,.cta-inner{display:block}.section-head h2{margin-bottom:18px}.service-row{grid-template-columns:86px 1fr}.service-row .btn{grid-column:1/-1}.service-row img{width:86px;height:76px}.about-band{grid-template-columns:1fr}.about-band img{height:390px}.about-band .about-text{padding:0 26px 32px}.proof-grid,.faq-grid,.two-col,.filter-grid,.footer-grid{grid-template-columns:1fr}.gallery-strip{grid-template-columns:1fr 1fr;gap:10px}.gallery-strip img,.gallery-strip img:first-child{height:220px}.mobile-book{display:block}.footer-base{display:block}.footer-right{align-items:flex-start;margin-top:12px}.btn{width:100%;margin-top:10px}}

.enquiry-form{display:grid;gap:18px;margin-top:24px}.form-row{display:grid;gap:8px}.form-row.two{grid-template-columns:1fr 1fr;gap:14px}.enquiry-form label{text-transform:uppercase;font-size:11px;letter-spacing:.2em;font-weight:500;color:#8f765f}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid var(--line);background:#fffaf6;color:var(--ink);font-family:var(--sans);font-size:15px;padding:14px 15px;outline:none}.enquiry-form textarea{resize:vertical;min-height:140px}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:#c2a783;box-shadow:0 0 0 3px rgba(194,167,131,.16)}.form-card{background:#fffdf9}.form-card .btn{margin-top:4px}
.form-status{margin-top:12px;font-size:14px;line-height:1.4;color:#6a5b4f;min-height:1.2em}.hidden{display:none!important}
.link-btn{background:none;border:0;padding:0;margin:0;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:#fff}
.faq-cat{font-family:var(--serif);font-weight:300;font-size:clamp(32px,5vw,58px);line-height:1;margin:0 0 30px}.qa p{margin:0;color:#544c46}.qa ul{margin:10px 0 0;padding-left:20px}.qa ul li{margin:6px 0;color:#544c46}.qa p + ul{margin-top:8px}
dialog.modal{max-width:640px;width:calc(100% - 40px);max-height:calc(100vh - 60px);padding:0;border:1px solid var(--line);background:var(--white);color:var(--ink);box-shadow:var(--shadow)}dialog.modal::backdrop{background:rgba(20,15,12,.55);backdrop-filter:blur(2px)}.modal-inner{padding:clamp(28px,4vw,44px);overflow-y:auto;max-height:calc(100vh - 60px)}.modal-inner h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,44px);line-height:1.02;margin:6px 0 4px}.modal-updated{text-transform:uppercase;font-size:11px;letter-spacing:.2em;color:#a08e7d;margin:0 0 18px}.modal-inner h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:20px 0 4px}.modal-inner p{margin:0;color:#544c46;font-size:15px;line-height:1.65}.modal-note{margin-top:22px!important;padding-top:16px;border-top:1px solid var(--line);font-size:14px}.modal-close{margin-top:26px;width:100%}
@media (max-width:700px){.form-row.two{grid-template-columns:1fr}}
