
:root{--bg:#080808;--panel:#111;--text:#f5f1e8;--muted:#b8b0a3;--gold:#d4a85f;--line:#2a241c;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),92%);margin:auto}.nav{position:sticky;top:0;z-index:9;background:#080808e8;backdrop-filter:blur(12px);border-bottom:1px solid #1d1d1d}.nav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:74px}.brand{font-weight:800;letter-spacing:.14em}.brand span{display:block;color:var(--gold);font-size:.66rem;letter-spacing:.32em}.links{display:flex;gap:24px;align-items:center}.btn{display:inline-block;padding:13px 20px;border:1px solid var(--gold);border-radius:3px;font-weight:700}.btn.fill{background:var(--gold);color:#0a0a0a}.hero{min-height:78vh;display:grid;align-items:end;padding:100px 0 72px;background:radial-gradient(circle at 72% 30%,#5a3c1738,transparent 32%),linear-gradient(120deg,#080808 25%,#111 70%,#18120b)}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800}.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,8vw,6.8rem);line-height:.93;max-width:920px;margin:.2em 0}.hero p{font-size:1.15rem;max-width:700px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust{border-block:1px solid var(--line);padding:20px 0}.trust .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#d9d2c7;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.section{padding:90px 0}.section h2{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;margin:.15em 0 .35em}.lead{color:var(--muted);max-width:720px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.card{background:linear-gradient(145deg,#151515,#0d0d0d);border:1px solid #24201a;padding:30px;min-height:240px;transition:.2s}.card:hover{transform:translateY(-4px);border-color:#7c6035}.card .num{color:var(--gold);font-size:.8rem}.card h3{font-size:1.35rem;margin:42px 0 8px}.card p{color:var(--muted)}.work{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-top:38px}.project{min-height:340px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #29241d;background:linear-gradient(0deg,#080808 0%,transparent 70%),radial-gradient(circle at 65% 25%,#8b5a2355,transparent 35%),#17120d}.project:nth-child(2){background:linear-gradient(0deg,#080808 0%,transparent 70%),radial-gradient(circle at 65% 25%,#31536a55,transparent 35%),#0c1115}.project small{color:var(--gold);letter-spacing:.14em;text-transform:uppercase}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fact{padding:20px;border-left:2px solid var(--gold);background:#101010}.cta{text-align:center;background:linear-gradient(120deg,#15100b,#090909);border-block:1px solid var(--line)}footer{padding:42px 0;color:#999}.footerrow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.pagehero{padding:110px 0 65px;background:radial-gradient(circle at 80% 20%,#5a3c1730,transparent 30%)}.pagehero h1{font:clamp(2.8rem,7vw,5.6rem)/1 Georgia,serif;margin:.2em 0}.copy{max-width:820px}.copy h2{font:2rem Georgia,serif;margin-top:2em}.copy p,.copy li{color:var(--muted)}@media(max-width:800px){.links a:not(.btn){display:none}.grid,.work,.split{grid-template-columns:1fr}.hero{min-height:68vh}.hero h1{font-size:3.6rem}.section{padding:65px 0}}
/* Portfolio media upgrade */
.hero.has-media{position:relative;overflow:hidden;background:#080808;align-items:center}.hero.has-media:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.82) 37%,rgba(5,5,5,.28) 68%,rgba(5,5,5,.36) 100%),linear-gradient(0deg,rgba(5,5,5,.55),transparent 45%),url('/assets/media/hero-wedding.webp');background-size:cover;background-position:center 42%}.hero.has-media .wrap{position:relative;z-index:1}.hero.has-media h1{max-width:760px}.hero.has-media p{max-width:620px;color:#ddd5c8}.media-work{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:360px 280px;gap:16px;margin-top:38px}.media-card{position:relative;overflow:hidden;border:1px solid #2b261f;min-height:280px;background:#111}.media-card:first-child{grid-row:span 2}.media-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.media-card:hover img{transform:scale(1.025)}.media-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.05) 70%)}.media-overlay small{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-weight:800}.media-overlay h3{font:2rem Georgia,serif;margin:.25rem 0}.media-overlay p{margin:0;color:#d1c8bb}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:38px}.portfolio-item{position:relative;min-height:390px;overflow:hidden;border:1px solid #2b261f;background:#111}.portfolio-item img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.portfolio-item .media-overlay{z-index:1}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #2b261f}.pagehero.photo{position:relative;overflow:hidden;background:#080808}.pagehero.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080808 10%,rgba(8,8,8,.72) 55%,rgba(8,8,8,.35)),var(--page-image);background-size:cover;background-position:center}.pagehero.photo .wrap{position:relative;z-index:1}@media(max-width:800px){.hero.has-media:before{background-image:linear-gradient(0deg,rgba(5,5,5,.96) 5%,rgba(5,5,5,.55) 70%,rgba(5,5,5,.45)),url('/assets/media/hero-wedding.webp');background-position:64% center}.media-work,.portfolio-grid,.gallery{grid-template-columns:1fr}.media-work{grid-template-rows:none}.media-card:first-child{grid-row:auto}.media-card{min-height:360px}}

/* Portfolio range upgrade */
.portfolio-hero{padding-bottom:clamp(2.25rem,4vw,3.5rem)}.portfolio-section{padding-top:0}.portfolio-range{gap:1rem}.portfolio-range .portfolio-item{min-height:340px}.portfolio-typecard{background:radial-gradient(circle at 80% 20%,rgba(218,169,87,.14),transparent 42%),linear-gradient(145deg,#15120e,#090909);border:1px solid rgba(218,169,87,.22);display:flex;align-items:flex-end;text-decoration:none}.typecard-inner{padding:2rem}.typecard-inner small{color:var(--gold);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.typecard-inner h3{font-family:Georgia,serif;color:#f5f0e8;font-size:clamp(1.7rem,2.5vw,2.4rem);margin:.6rem 0}.typecard-inner p{color:var(--muted);line-height:1.65;max-width:34rem}.typecard-inner span{display:inline-block;margin-top:1.25rem;color:#f5f0e8;font-weight:700}.portfolio-note{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end;margin-top:clamp(3rem,6vw,6rem);padding-top:2rem;border-top:1px solid rgba(255,255,255,.12)}.portfolio-note h2{margin:.5rem 0 0}.portfolio-note p{margin:0;color:var(--muted);line-height:1.7}@media(max-width:760px){.portfolio-note{grid-template-columns:1fr;gap:1rem}.portfolio-range .portfolio-item{min-height:300px}}

/* Project case study */
.case-hero{min-height:68vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:110px 0 70px;background:#080808}.case-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.76) 43%,rgba(5,5,5,.22) 75%),linear-gradient(0deg,rgba(5,5,5,.72),transparent 55%),var(--case-image);background-size:cover;background-position:center}.case-hero .wrap{position:relative;z-index:1}.case-hero h1{font:clamp(3rem,7vw,6rem)/.98 Georgia,serif;max-width:900px;margin:.18em 0}.case-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);align-items:start}.case-grid h2{margin-top:.3rem}.case-copy{max-width:720px}.case-copy p{color:var(--muted)}.case-copy h3{font:1.55rem Georgia,serif;margin:1.7rem 0 .25rem}.case-media{padding:0 0 70px}.case-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.case-gallery figure{margin:0;background:#101010;border:1px solid #29241d;overflow:hidden}.case-gallery img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}.case-gallery figcaption{padding:14px 18px;color:var(--muted);font-size:.9rem}.case-links{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.case-links a{color:var(--text);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}@media(max-width:800px){.case-grid,.case-gallery{grid-template-columns:1fr}.case-hero{min-height:60vh}.case-hero:before{background:linear-gradient(0deg,rgba(5,5,5,.94),rgba(5,5,5,.35)),var(--case-image);background-size:cover;background-position:center}.case-gallery img{min-height:300px}}

/* Local SEO service-area upgrade */
.local-service{border-top:1px solid var(--line)}.local-intro{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.city-list{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 22px}.city-list span{border:1px solid #342b20;background:#0e0e0e;padding:9px 13px;color:#d9d2c7;font-size:.9rem}.local-links{color:var(--muted);max-width:900px}.local-links a,.copy a{color:var(--text);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.service-area-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(2rem,6vw,6rem);align-items:start}.area-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.area-columns>div,.area-panel{background:#101010;border:1px solid #29241d;padding:24px}.area-columns h3{font:1.35rem Georgia,serif;margin:.2rem 0}.area-panel{position:sticky;top:100px}.area-panel h2{font-size:2rem}.area-panel .btn{display:block;text-align:center;margin-top:12px}@media(max-width:800px){.local-intro,.service-area-grid,.area-columns{grid-template-columns:1fr}.area-panel{position:static}}

/* Review authority pathway */
.review-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 85% 20%,rgba(218,169,91,.10),transparent 32%)}
.review-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:56px;align-items:center}
.review-layout h2{margin-bottom:14px}
.review-action{padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.review-action .btn{width:100%;text-align:center;justify-content:center}
.review-action p{font-size:.84rem;color:var(--muted);margin:14px 0 0}
@media(max-width:760px){.review-layout{grid-template-columns:1fr;gap:28px}.review-action{padding:22px}}
