/*
Theme Name: Nook Beauty
Theme URI: https://nookbeauty.se
Author: Nook Beauty
Description: A boutique WordPress theme for beauty salons.
Version: 1.0.0
Text Domain: nook-beauty
*/

:root { --asphalt:#30302e; --charcoal:#1d1d1b; --paper:#ece9e2; --white:#fdfcf9; --turquoise:#35a9a0; --red:#c94f50; --gold:#bc9760; --ink:#21211f; --muted:#625f59; --line:#d4d0c6; --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.65; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:3px solid var(--turquoise); outline-offset:4px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto; width:auto; height:auto; margin:0; padding:10px; background:var(--white); color:var(--ink); z-index:100; }
.container { width:min(1160px, calc(100% - 48px)); margin:auto; }
.eyebrow { display:block; color:var(--turquoise); font-size:.72rem; font-weight:bold; letter-spacing:.17em; text-transform:uppercase; margin-bottom:14px; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.06; margin:0; }
h1 { font-size:clamp(2.9rem,6vw,5.9rem); letter-spacing:-.04em; }
h2 { font-size:clamp(2rem,3.6vw,3.65rem); letter-spacing:-.035em; }
h3 { font-size:1.45rem; }
p { margin:0 0 1.2em; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:51px; padding:12px 25px; border:1px solid var(--turquoise); background:var(--turquoise); color:#102c2a; text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:bold; transition:.25s ease; cursor:pointer; }
.button:hover { background:transparent; color:var(--turquoise); }
.button--light { border-color:var(--white); background:transparent; color:var(--white); }
.button--light:hover { background:var(--white); color:var(--ink); }
.section { padding:78px 0; }
.site-header { position:absolute; top:0; left:0; z-index:10; width:100%; color:var(--white); }
.header-inner { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-branding { display:flex; align-items:center; gap:12px; }
.custom-logo-link img { max-height:52px; width:auto; }
.site-title { font-family:var(--serif); font-size:1.65rem; letter-spacing:.04em; }
.site-title span { display:block; color:var(--gold); font-family:var(--sans); font-size:.53rem; letter-spacing:.29em; text-transform:uppercase; line-height:1; }
.main-navigation ul { list-style:none; display:flex; gap:28px; margin:0; padding:0; }
.main-navigation a { font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; font-weight:bold; }
.main-navigation a:hover { color:var(--turquoise); }
.menu-toggle { display:none; color:var(--white); background:transparent; border:0; font-size:1.55rem; }
.header-booking { min-height:42px; padding:9px 16px; }
.language-switcher { display:flex; gap:7px; }
.language-switcher a { color:#d6d4cd; font-size:.65rem; font-weight:bold; letter-spacing:.1em; }
.language-switcher a.current { color:var(--turquoise); }
.hero { position:relative; min-height:650px; min-height:86svh; display:grid; align-items:end; overflow:hidden; color:var(--white); background:var(--asphalt); }
.hero-media, .hero-media:after { position:absolute; inset:0; }
.hero-media:after { content:""; background:linear-gradient(90deg,rgba(22,23,22,.8),rgba(22,23,22,.29)),linear-gradient(0deg,rgba(22,23,22,.56),transparent 60%); }
.hero-media img, .hero-media video { width:100%; height:100%; object-fit:cover; }
.hero-content { position:relative; z-index:1; max-width:650px; padding:145px 0 76px; }
.hero-content p { max-width:480px; margin:19px 0 28px; font-size:1rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.hero-note { position:absolute; z-index:1; right:5vw; bottom:48px; font-size:.64rem; text-transform:uppercase; letter-spacing:.14em; writing-mode:vertical-rl; }
.intro { display:grid; grid-template-columns:1fr 1.15fr; gap:10vw; align-items:center; }
.intro-copy p { color:var(--muted); max-width:470px; font-size:1.06rem; }
.intro-image { position:relative; padding:0 35px 35px 0; }
.intro-image:after { content:""; position:absolute; z-index:-1; right:0; bottom:0; width:68%; height:65%; background:var(--gold); }
.intro-image img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.text-link { color:var(--turquoise); font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; font-weight:bold; border-bottom:1px solid currentColor; padding-bottom:3px; }
.services { background:var(--charcoal); color:var(--white); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:52px; }
.section-heading p { max-width:360px; color:#c5c5bf; margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.service-card { position:relative; min-height:380px; overflow:hidden; display:flex; align-items:end; padding:27px; background:#444; }
.service-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 66%); }
.service-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.service-card:hover img { transform:scale(1.06); }
.service-card-content { position:relative; z-index:1; }
.service-card h3 { margin-bottom:5px; }
.service-card p { color:#eee; margin:0; font-size:.89rem; }
.service-price { color:var(--gold); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.gallery-heading { text-align:center; max-width:660px; margin:0 auto 39px; }
.gallery-heading p { color:var(--muted); }
.gallery-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin-bottom:31px; }
.gallery-filter { padding:7px 14px; border:1px solid var(--line); background:transparent; color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.gallery-filter.active,.gallery-filter:hover { border-color:var(--turquoise); color:var(--turquoise); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.gallery-item { position:relative; aspect-ratio:1; overflow:hidden; background:var(--asphalt); cursor:zoom-in; }
.gallery-item img { height:100%; width:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-item:hover img { transform:scale(1.07); }
.gallery-item span { position:absolute; left:16px; bottom:12px; color:var(--white); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; opacity:0; transition:.2s; }
.gallery-item:hover span { opacity:1; }
.gallery-item.hidden { display:none; }
.instagram-item { position:relative; aspect-ratio:1; overflow:hidden; background:var(--asphalt); outline:1px solid var(--gold); border:3px solid #2b2925; box-shadow:0 4px 12px rgba(0,0,0,.65); }
.instagram-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.instagram-item:hover img { transform:scale(1.07); }
.instagram-item span { position:absolute; left:16px; bottom:12px; color:var(--white); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; opacity:0; transition:.2s; }
.instagram-item:hover span { opacity:1; }
.instagram-fallback { padding:50px 25px; border:1px solid rgba(213,161,61,.7); background:rgba(20,20,19,.5); text-align:center; }
.testimonials { background:#dfdcd4; text-align:center; }
.testimonial-quote { max-width:760px; margin:auto; }
.testimonial-quote blockquote { margin:0; font-family:var(--serif); font-size:clamp(1.85rem,3.4vw,3.45rem); line-height:1.22; }
.testimonial-quote cite { display:block; color:var(--red); font-style:normal; font-size:.72rem; text-transform:uppercase; letter-spacing:.15em; margin-top:26px; }
.booking-band { background:var(--turquoise); color:#123836; text-align:center; padding:64px 0; }
.booking-band h2 { max-width:690px; margin:0 auto 23px; }
.booking-band .button { border-color:var(--ink); background:var(--ink); color:var(--white); }
.booking-band .button:hover { background:transparent; color:var(--ink); }
.site-footer { padding:58px 0 22px; color:#e5e3dc; background:var(--charcoal); }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:38px; padding-bottom:42px; }
.footer-grid h3 { font-family:var(--sans); font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); margin-bottom:16px; }
.footer-grid p,.footer-grid a { color:#cac9c2; font-size:.9rem; }
.footer-grid a:hover { color:var(--turquoise); }
.footer-brand { font-family:var(--serif); font-size:2rem; color:var(--white); }
.footer-brand span { color:var(--gold); }
.footer-bottom { border-top:1px solid #555550; padding-top:22px; display:flex; justify-content:space-between; color:#9f9f99; font-size:.72rem; }
.page-hero { padding:150px 0 65px; color:var(--white); background:var(--asphalt); text-align:center; }
.page-content { padding:62px 0; }
.page-content .entry-content { width:min(800px,100%); margin:auto; }
.entry-content h2,.entry-content h3 { margin:1.5em 0 .5em; }
.entry-content ul { padding-left:1.25rem; }
.price-list { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.price-group { padding:31px; border-top:2px solid var(--gold); background:var(--white); }
.price-group h2 { font-size:2rem; margin-bottom:18px; }
.price-row { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); padding:13px 0; }
.price-row strong { font-family:var(--serif); font-weight:400; }
.price-row span { color:var(--turquoise); white-space:nowrap; }
.service-featured-image { width:100%; max-height:520px; margin-bottom:30px; object-fit:cover; }
.service-details { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:32px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); }
.service-details strong { color:var(--turquoise); font-family:var(--serif); font-size:1.3rem; font-weight:400; }
.page-hero p { max-width:570px; margin:18px auto 0; color:#dddcd6; }
.services-intro { max-width:720px; margin:0 auto 48px; text-align:center; }
.services-intro .entry-content { margin-top:18px; color:var(--muted); }
.service-category-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:0 auto 42px; }
.service-category-nav a { padding:8px 14px; border:1px solid var(--line); color:var(--muted); font-size:.68rem; font-weight:bold; letter-spacing:.12em; text-transform:uppercase; transition:.2s ease; }
.service-category-nav a:hover { border-color:var(--turquoise); color:var(--turquoise); }
.service-category + .service-category { margin-top:64px; }
.service-category > h2 { margin-bottom:22px; text-align:center; }
.services-list { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.service-listing { display:grid; grid-template-columns:42% 1fr; min-height:260px; background:var(--white); }
.service-listing-image img { width:100%; height:100%; object-fit:cover; }
.service-listing-content { display:flex; flex-direction:column; padding:27px; }
.service-listing-content h2 { font-size:2rem; }
.service-listing-content p { color:var(--muted); font-size:.9rem; }
.service-listing-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:auto; }
.service-listing-footer strong { color:var(--turquoise); font-family:var(--serif); font-size:1.2rem; font-weight:400; }
.empty-notice { text-align:center; color:var(--muted); }
.booking-section { background:#dfdcd4; }
.booking-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.booking-copy p { color:var(--muted); }
.booking-details { margin-top:30px; border-left:2px solid var(--gold); padding-left:18px; }
.booking-details a { color:var(--turquoise); }
.booking-widget { min-height:300px; padding:36px; background:var(--white); border-top:3px solid var(--turquoise); }
.booking-widget iframe { width:100%; min-height:480px; border:0; }
.booking-placeholder { display:grid; min-height:225px; place-content:center; text-align:center; color:var(--muted); }
.booking-request { padding:78px 0; background:var(--charcoal); color:var(--white); }
.booking-request-inner { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.booking-request-inner > div > p { color:#cbc9c2; }
.booking-form { display:grid; gap:16px; }
.booking-form label { display:grid; gap:6px; font-size:.7rem; font-weight:bold; letter-spacing:.12em; text-transform:uppercase; }
.booking-form input,.booking-form textarea { width:100%; padding:12px; border:1px solid #77756e; background:#292927; color:var(--white); font:inherit; letter-spacing:normal; text-transform:none; }
.booking-form .button { justify-self:start; margin-top:4px; }
.form-notice { padding:12px 15px; font-size:.9rem; }
.form-notice--success { background:#244b47; color:#f1fffd !important; }
.form-notice--error { background:#662f30; color:#fff3f3 !important; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.contact-card { padding:34px; background:var(--white); border-top:3px solid var(--turquoise); }
.contact-card h2 { font-size:2.2rem; margin-bottom:22px; }
.contact-card dt { margin-top:16px; color:var(--gold); font-size:.67rem; font-weight:bold; text-transform:uppercase; letter-spacing:.13em; }
.contact-card dd { margin:2px 0; }
.map-placeholder { min-height:400px; display:grid; place-items:center; background:linear-gradient(135deg,#4b4d47,#272826); color:var(--white); text-align:center; padding:30px; }
.map-placeholder strong { color:var(--gold); font-family:var(--serif); font-size:2rem; }
.lightbox { position:fixed; inset:0; display:none; z-index:100; place-items:center; padding:30px; background:rgba(20,20,19,.92); }
.lightbox.open { display:grid; }
.lightbox img { max-height:88vh; max-width:90vw; }
.lightbox button { position:absolute; top:22px; right:25px; color:var(--white); background:transparent; border:0; font-size:2.5rem; cursor:pointer; }
@media (max-width:800px) {
 .section { padding:58px 0; } .container { width:min(100% - 32px,1160px); } .header-inner { min-height:76px; } .header-booking { display:none; }
 .menu-toggle { display:block; } .language-switcher { margin-left:auto; } .main-navigation { position:absolute; top:76px; left:0; width:100%; display:none; padding:20px 16px; background:var(--charcoal); } .main-navigation.open { display:block; } .main-navigation ul { display:block; } .main-navigation li { padding:10px 0; }
 .hero { min-height:600px; } .hero-content { padding:120px 0 62px; } .hero-note { display:none; } .intro,.contact-layout { grid-template-columns:1fr; gap:36px; } .intro-image { order:-1; }
 .section-heading { display:block; margin-bottom:28px; } .section-heading p { margin-top:14px; } .service-grid,.services-list { grid-template-columns:1fr; } .service-card { min-height:330px; } .gallery-grid { grid-template-columns:repeat(2,1fr); gap:8px; } .footer-grid { grid-template-columns:1fr 1fr; gap:30px; } .price-list,.booking-layout,.booking-request-inner { grid-template-columns:1fr; } .booking-layout,.booking-request-inner { gap:38px; }
}
@media (max-width:480px) { h1 { font-size:3rem; } .hero-actions { display:grid; } .footer-grid { grid-template-columns:1fr; } .footer-bottom { display:block; } .footer-bottom p + p { margin-top:5px; } }

/* Glamorous dark salon redesign */
:root { --asphalt:#252421; --charcoal:#171817; --paper:#292825; --white:#f5efe2; --turquoise:#129b9b; --red:#ca3535; --gold:#d5a13d; --ink:#f5efe2; --muted:#d0c7b8; --line:#8a692e; --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
body {
	background-color:var(--paper);
	background-image:radial-gradient(rgba(255,255,255,.045) .7px,transparent .8px), radial-gradient(rgba(0,0,0,.24) .7px,transparent .8px);
	background-position:0 0,4px 4px;
	background-size:7px 7px;
}
body:before { content:""; position:fixed; z-index:-1; inset:0; pointer-events:none; opacity:.35; background:linear-gradient(90deg,rgba(0,0,0,.2),transparent 20%,transparent 80%,rgba(0,0,0,.2)); }
h1,h2,h3 { color:var(--white); text-shadow:0 2px 2px rgba(0,0,0,.38); }
h1,h2 { font-style:italic; }
h1 { font-size:clamp(2.8rem,5.6vw,5.6rem); }
h2 { font-size:clamp(2rem,3.5vw,3.4rem); }
.container { width:min(1180px,calc(100% - 56px)); }
.eyebrow { color:var(--gold); text-shadow:0 1px 2px #000; }
.button {
	min-height:48px; padding:11px 29px; border:2px solid var(--gold); border-radius:2px;
	background:linear-gradient(135deg,#13aeb0,#08777d); color:var(--white);
	box-shadow:0 0 0 2px #1a1a18,0 0 0 3px var(--gold),0 5px 13px rgba(0,0,0,.48);
	font-size:.77rem; text-shadow:0 1px 1px #005156;
}
.button:hover { border-color:var(--gold); background:linear-gradient(135deg,#18c0c1,#0c8e92); color:var(--white); transform:translateY(-2px); }
.button--light { border-color:var(--gold); color:var(--white); background:rgba(18,24,23,.7); }
.button--light:hover { background:var(--turquoise); color:var(--white); }
.site-header { border-top:1px solid rgba(213,161,61,.36); border-bottom:2px solid var(--gold); background:rgba(18,18,17,.88); box-shadow:0 2px 10px rgba(0,0,0,.6); }
.header-inner { min-height:106px; }
.site-branding { position:absolute; left:50%; transform:translateX(-50%); text-align:center; }
.site-title { color:var(--white); font-size:2.1rem; font-style:italic; line-height:.84; text-shadow:0 2px 4px #000; }
.site-title:before { content:""; display:block; width:116px; height:1px; margin:0 auto 6px; background:var(--gold); box-shadow:0 4px 0 rgba(213,161,61,.4); }
.site-title span { color:var(--gold); font-size:.48rem; }
.main-navigation { margin-left:auto; margin-right:18px; }
.main-navigation ul { gap:22px; }
.main-navigation a { color:#eee8dc; font-family:var(--sans); font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.main-navigation a:hover,.main-navigation a[aria-current="page"],.main-navigation .current-menu-item > a,.main-navigation .current-menu-ancestor > a,.main-navigation .current-menu-parent > a,.main-navigation .current_page_item > a,.main-navigation .current_page_parent > a,.main-navigation .nook-current-menu-item > a { color:var(--gold) !important; }
.language-switcher { order:3; }
.language-switcher a.current { color:var(--gold); }
.header-booking { order:4; min-height:37px; padding:7px 13px; font-size:.62rem; }
.hero { min-height:720px; padding:146px 42px 54px; background:#171817; }
.hero:before { content:""; position:absolute; inset:0; opacity:.55; background:radial-gradient(ellipse at 28% 55%,rgba(213,161,61,.12),transparent 36%),linear-gradient(90deg,rgba(0,0,0,.56),transparent); }
.hero-media { inset:164px 4.5% 48px; border:1px solid rgba(213,161,61,.85); box-shadow:0 0 0 5px rgba(14,14,13,.66),0 12px 25px rgba(0,0,0,.6); }
.hero-media:after { background:linear-gradient(90deg,rgba(11,14,14,.86),rgba(11,14,14,.28) 62%,rgba(0,0,0,.08)); }
.hero-content { align-self:center; width:100%; max-width:590px; padding:58px 42px; margin-left:4.5%; background:linear-gradient(90deg,rgba(22,23,22,.76),rgba(22,23,22,.26)); border-left:2px solid var(--gold); }
.hero-content h1 { color:var(--gold); font-size:clamp(3rem,5.3vw,5.6rem); }
.hero-content p { color:#f4eee3; font-size:1.15rem; text-shadow:0 1px 2px #000; }
.hero-note { color:var(--gold); }
.section { position:relative; padding:74px 0; }
.section:not(.services):not(.testimonials) { border-top:1px solid rgba(213,161,61,.45); }
.intro { gap:5.5vw; }
.intro-image { padding:7px; background:linear-gradient(135deg,var(--gold),#60441d); box-shadow:0 8px 22px rgba(0,0,0,.55); }
.intro-image:after { display:none; }
.intro-image img { aspect-ratio:4/4.35; }
.intro-copy { padding:32px; border:1px solid rgba(213,161,61,.72); background:rgba(21,21,20,.57); box-shadow:inset 0 0 0 4px rgba(0,0,0,.2); }
.intro-copy p,.gallery-heading p { color:var(--muted); }
.text-link { color:var(--gold); border-bottom-color:var(--gold); }
.text-link:hover { color:var(--turquoise); border-color:var(--turquoise); }
.services { background-color:#0f4f51; background-image:linear-gradient(135deg,rgba(7,43,44,.78),rgba(11,103,103,.6)),radial-gradient(rgba(255,255,255,.1) .7px,transparent .8px); background-size:auto,6px 6px; border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); }
.section-heading { justify-content:center; text-align:center; margin-bottom:37px; }
.section-heading p { display:none; }
.section-heading h2,.gallery-heading h2,.services-intro h2,.service-category > h2 { display:flex; align-items:center; gap:18px; color:var(--gold); }
.section-heading h2:before,.section-heading h2:after,.gallery-heading h2:before,.gallery-heading h2:after,.services-intro h2:before,.services-intro h2:after,.service-category > h2:before,.service-category > h2:after { content:""; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--gold)); }
.section-heading h2:after,.gallery-heading h2:after,.services-intro h2:after,.service-category > h2:after { background:linear-gradient(90deg,var(--gold),transparent); }
.service-grid { gap:1px; border:1px solid rgba(213,161,61,.6); }
.service-card { min-height:315px; padding:22px; }
.service-card:after { background:linear-gradient(0deg,rgba(5,22,22,.9),rgba(4,28,29,.08) 70%); }
.service-price { color:var(--gold); }
.service-card h3 { color:var(--white); }
.gallery-heading { margin-bottom:31px; }
.gallery-heading h2 { justify-content:center; }
.gallery-filter { border-color:rgba(213,161,61,.7); color:#ece4d7; background:rgba(0,0,0,.18); }
.gallery-filter.active,.gallery-filter:hover { border-color:var(--gold); color:var(--gold); }
.gallery-item { border:3px solid #2b2925; outline:1px solid var(--gold); box-shadow:0 4px 12px rgba(0,0,0,.65); }
.testimonials { background:linear-gradient(135deg,#211e1a,#32291f); border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); }
.testimonial-quote blockquote { color:#f5efe2; }
.testimonial-quote cite { color:var(--gold); }
.booking-band { position:relative; background:linear-gradient(135deg,#0e7478,#0b4447); border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); color:var(--white); }
.booking-band:before { content:""; position:absolute; inset:7px; border:1px solid rgba(213,161,61,.7); pointer-events:none; }
.booking-band h2 { color:var(--gold); }
.booking-band .button { background:#242421; border-color:var(--gold); }
.site-footer { background:#151513; border-top:2px solid var(--gold); }
.footer-grid h3 { color:var(--gold); }
.footer-bottom { border-color:rgba(213,161,61,.37); }
.page-hero { position:relative; padding:170px 0 72px; background-color:#1c1b19; background-image:radial-gradient(ellipse at center,rgba(213,161,61,.16),transparent 65%),linear-gradient(90deg,#151513,#312a20,#151513); border-bottom:2px solid var(--gold); }
.page-hero h1 { color:var(--gold); }
.price-group,.service-listing,.contact-card,.booking-widget { background:linear-gradient(135deg,#312f2b,#211f1d); border:1px solid rgba(213,161,61,.7); box-shadow:0 7px 18px rgba(0,0,0,.35); }
.price-group { border-top:3px solid var(--gold); }
.price-row { border-color:rgba(213,161,61,.3); color:var(--muted); }
.service-listing { border:1px solid rgba(213,161,61,.7); }
.service-listing-content p { color:var(--muted); }
.service-category-nav a { border-color:rgba(213,161,61,.75); color:var(--white); background:rgba(0,0,0,.18); }
.service-category-nav a:hover { border-color:var(--gold); color:var(--gold); }
.booking-section { background:rgba(25,25,23,.62); }
.booking-copy p { color:var(--muted); }
.booking-widget { border-top:3px solid var(--gold); }
.booking-request { background:linear-gradient(135deg,#141a19,#24201b); border-top:2px solid var(--gold); }
.booking-form input,.booking-form textarea { border-color:rgba(213,161,61,.7); background:#1b1b19; }
.map-placeholder { border:1px solid var(--gold); background:linear-gradient(135deg,#1b4646,#1b1a18); }
.contact-card { border-top:3px solid var(--gold); }
.contact-card dt { color:var(--gold); }
@media (max-width:800px) {
 .site-header { background:rgba(18,18,17,.96); } .header-inner { min-height:82px; } .site-branding { left:16px; transform:none; } .site-title { font-size:1.55rem; } .site-title:before { display:none; }
 .main-navigation { top:82px; border-bottom:1px solid var(--gold); } .menu-toggle { margin-left:auto; color:var(--gold); } .language-switcher { margin-left:0; }
 .hero { min-height:640px; padding:88px 16px 20px; } .hero-media { inset:110px 16px 20px; } .hero-content { max-width:calc(100% - 16px); margin-left:8px; padding:36px 25px; } .hero-content h1 { font-size:clamp(2.7rem,12vw,4rem); }
 .intro-copy { padding:25px; } .section-heading h2,.gallery-heading h2,.services-intro h2,.service-category > h2 { gap:10px; } .service-card { min-height:290px; }
}

/* Full-bleed homepage hero while retaining the darker gold and teal direction. */
.hero { min-height:760px; min-height:92svh; padding:0; }
.hero-media { inset:0; border:0; box-shadow:none; }
.hero-media:after { background:linear-gradient(90deg,rgba(9,11,11,.84),rgba(12,14,14,.46) 49%,rgba(8,9,9,.24)),linear-gradient(0deg,rgba(6,7,7,.56),transparent 64%); }
.hero-content { align-self:end; max-width:680px; margin:0 0 76px; padding:0 0 0 30px; background:transparent; border-top:0; border-left:2px solid var(--gold); box-shadow:none; text-align:left; }
.hero-content .eyebrow { margin-left:0; }
.hero-content h1 { max-width:630px; }
.hero-content p { max-width:520px; }
.hero-note { bottom:48px; }
@media (max-width:800px) {
 .hero { min-height:650px; min-height:88svh; padding:0; } .hero-media { inset:0; }
 .hero-content { width:auto; max-width:calc(100% - 32px); margin:0 16px 48px; padding:0 0 0 20px; }
}
@media (min-width:801px) {
 .site-branding { position:static; transform:none; }
 .main-navigation { position:absolute; left:50%; transform:translateX(-50%); margin:0; }
 .language-switcher { margin-left:auto; }
}
