/* Studio RAY — styles responsive */
:root{--page-bg:#171715;--surface-bg:#20201d;--surface-raised:#25241f;--surface-hover:#302e28;--text-primary:#f1efe9;--text-secondary:#d0cdc5;--text-muted:#aaa79e;--text-soft:#8e8a80;--accent-color:#c7a96b;--accent-strong:#e0c27f;--border-color:rgba(255,255,255,.17);--border-subtle:rgba(255,255,255,.12);--button-text:#171715;--button-alt-bg:#f1efe9;--button-alt-text:#171715;--hero-text:#f1efe9;--nav-text:#e5e1d9;--nav-panel-bg:#171715;--control-bg:rgba(18,18,16,.72);--control-text:#f4efe5;--control-option-bg:#25241f;--booking-bg:#25241f;--footer-bg:#11110f;--footer-text:#c3bfb5;--contact-band-bg:#a88953;--contact-band-text:#151513;--contact-band-em:#f2eee4;--image-border:rgba(255,255,255,.14);--control-border:rgba(255,255,255,.4);--accent-soft:rgba(199,169,107,.08);--accent-line:rgba(199,169,107,.18);--booking-border:rgba(199,169,107,.35);--wash-strong:rgba(229,192,117,.34);--wash-soft:rgba(199,169,107,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--page-bg);color:var(--text-primary);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--accent-color);outline-offset:4px}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:8px;background:var(--text-primary);color:var(--page-bg);padding:10px 14px;z-index:20}.skip-link:focus{left:12px}.site-header{height:82px;position:absolute;inset:0 0 auto;z-index:5;border-bottom:1px solid var(--image-border)}.nav-wrap,.primary-nav,.brand{display:flex;align-items:center}.nav-wrap{height:100%;justify-content:space-between}.brand{gap:10px}.brand-mark{font:600 38px/.9 var(--serif);letter-spacing:-5px}.brand-mark span{color:var(--accent-color)}.brand-name{font-size:11px;letter-spacing:2.1px}.brand-name b{font-weight:700}.primary-nav{gap:37px;font-size:12px;letter-spacing:.7px}.primary-nav>a:not(.button){color:var(--hero-text)}.primary-nav>a:hover,.text-link:hover,.site-footer a:hover{color:var(--accent-color)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:0 23px;border:1px solid var(--accent-color);background:var(--accent-color);color:var(--button-text);font-size:12px;font-weight:700;letter-spacing:.45px;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--text-primary)}.hero .button:hover{color:var(--hero-text)}.button-small{min-height:42px;padding:0 17px;font-size:11px}.menu-toggle{display:none;min-width:44px;min-height:44px;border-color:var(--header-border);color:var(--hero-text)}.hero{height:min(780px,100svh);min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{animation:hero-image-drift 22s ease-in-out infinite alternate;background-image:url('https://images.unsplash.com/photo-1622286342621-4bd786c2447c?auto=format&fit=crop&w=2000&q=85');background-position:center 43%;background-size:cover;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(15,15,14,.91) 0%,rgba(15,15,14,.77) 37%,rgba(15,15,14,.22) 77%,rgba(15,15,14,.2)),linear-gradient(0deg,rgba(15,15,14,.44),transparent 48%)}.hero-content{position:relative;padding-top:75px}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 23px;color:var(--accent-color);font-size:10px;font-weight:700;letter-spacing:2.4px}.eyebrow-line{width:28px;height:1px;background:var(--accent-color)}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.4px}h1{font-size:clamp(56px,7vw,92px);line-height:1.03;margin:0 0 24px}h1 em,h2 em,.contact-band em{color:var(--accent-color);font-weight:500}.hero-intro{color:var(--text-secondary);font-size:16px;line-height:1.75;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:27px}.text-link{font-size:12px;font-weight:600;letter-spacing:.25px}.text-link span{color:var(--accent-color);padding-left:8px}.sample-note{font-size:10px;color:var(--text-secondary);margin:38px 0 0;letter-spacing:.3px}.hero-index{position:absolute;right:max(32px,calc((100vw - 1180px)/2));bottom:43px;font-size:10px;letter-spacing:2px;color:var(--hero-text)}.hero-index span{display:inline-block;width:58px;height:1px;background:var(--accent-color);vertical-align:middle;margin:0 12px}.section-pad{padding:116px 0}.intro{background:var(--surface-bg);color:var(--text-primary)}.intro-grid{display:grid;grid-template-columns:1fr 2fr .65fr;gap:40px;align-items:start}.dark-eyebrow{color:var(--accent-color)}.intro h2,.section-heading h2,.visit h2,.gallery-heading h2{font-size:clamp(38px,5vw,58px);line-height:1.12;margin:0 0 20px}.intro h2 em,.gallery-heading h2 em{color:var(--accent-strong)}.body-copy{max-width:550px;color:var(--text-secondary);font-size:14px;line-height:1.9;margin:0}.intro-side{align-self:end;border-left:1px solid var(--border-color);padding-left:25px;color:var(--text-secondary);font-size:12px;line-height:1.7}.sun-mark{font-size:28px;color:var(--accent-strong)}.intro-side p{margin:8px 0 0}.services{background:var(--page-bg);color:var(--text-primary)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading h2{margin-bottom:0}.section-lead{max-width:250px;color:var(--text-secondary);font-size:13px;line-height:1.8;margin:0 0 6px}.service-row{display:grid;grid-template-columns:60px 1fr 100px 90px;align-items:center;min-height:110px;border-top:1px solid var(--border-color);gap:18px}.service-row:last-child{border-bottom:1px solid var(--border-color)}.service-number{font-size:11px;color:var(--accent-color);letter-spacing:1px}.service-row h3{font:500 22px var(--serif);margin:0 0 4px}.service-row p{color:var(--text-secondary);font-size:12px;margin:0}.service-time{font-size:11px;color:var(--text-muted)}.service-price{text-align:right;font:500 22px var(--serif);color:var(--accent-color)}.service-price small{font:400 11px var(--sans)}.fine-print{font-size:10px;color:var(--text-secondary);margin:17px 0 0}.gallery{padding:112px 0 120px;background:var(--surface-raised);color:var(--text-primary)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.gallery-heading h2{margin:0}.gallery-caption{font-size:12px;color:var(--text-secondary);line-height:1.8;text-align:right;margin:0 0 5px}.gallery-caption span{font-size:10px}.gallery-grid{width:min(1320px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:14px}.gallery-item{position:relative;height:340px;margin:0;overflow:hidden;background:var(--surface-raised)}.gallery-large{height:435px}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72);transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58))}.gallery-item figcaption{position:absolute;z-index:1;bottom:19px;left:21px;color:#fff;font-size:10px;letter-spacing:1.3px}.visit{background:var(--page-bg);color:var(--text-primary)}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}.visit h2{margin:0 0 20px}.visit-intro{color:var(--text-secondary);font-size:13px;margin-bottom:25px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:34px 55px;padding-top:8px}.detail-block h3{color:var(--accent-color);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 13px}.detail-block p{font-size:12px;color:var(--text-secondary);line-height:2;margin:0}.detail-block p span{float:right;color:var(--text-secondary)}.detail-block a:hover{color:var(--accent-color)}.detail-block .fine-print{line-height:1.5;margin-top:6px}.contact-band{background:var(--contact-band-bg);color:var(--contact-band-text);padding:47px 0}.contact-band-inner{display:flex;align-items:center;justify-content:space-between}.contact-band .contact-title{font:500 clamp(26px,3.7vw,42px)/1.1 var(--serif);margin:0}.contact-band em{color:var(--contact-band-em)}.button-light{background:var(--button-alt-bg);border-color:var(--button-alt-bg);color:var(--button-alt-text)}.button-light:hover{background:transparent;color:var(--text-primary)}.contact-band .button-light:hover{color:var(--contact-band-text)}.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:31px 0 20px}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-contact{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.footer-contact a{font-size:10px;color:var(--footer-text)}.footer-inner p,.footer-inner>a:last-child{font-size:10px;color:var(--text-secondary);margin:0}.footer-note{padding-top:18px;margin-top:22px;border-top:1px solid var(--border-color);font-size:10px;color:var(--footer-text)}.no-js{}@media(max-width:800px){.container{width:calc(100% - 44px)}.footer-inner{flex-wrap:wrap;gap:18px}.footer-inner p{order:3;width:100%}.footer-contact{order:4;flex-basis:100%;gap:10px 18px}.primary-nav{gap:20px}.primary-nav>a:not(.button){font-size:11px}.hero{min-height:650px}.hero-image{background-position:58% center}.intro-grid{grid-template-columns:.6fr 2fr;gap:25px}.intro-side{grid-column:2;border-left:0;padding:0;display:flex;align-items:center;gap:12px}.intro-side p{margin:0}.visit-grid{gap:55px}.visit-details{gap:30px}.gallery-grid{width:calc(100% - 44px);gap:10px}.gallery-item{height:280px}.gallery-large{height:360px}}@media(max-width:720px){html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.site-header{height:70px}.brand-mark{font-size:34px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--header-border);background:transparent}.menu-toggle span{display:block;width:14px;height:1px;flex:none;align-self:center;margin:0;background:var(--hero-text)}.primary-nav{display:none;position:absolute;top:69px;left:0;right:0;padding:22px 20px 25px;background:var(--nav-panel-bg);color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:stretch;flex-direction:column;gap:19px}.primary-nav.is-open{display:flex}.primary-nav>a:not(.button){font-size:13px;display:flex;align-items:center;min-height:44px;color:var(--text-primary)}.primary-nav .button{align-self:flex-start}.hero{min-height:670px;height:94svh;max-height:780px}.hero-shade{background:linear-gradient(90deg,rgba(15,15,14,.84),rgba(15,15,14,.45)),linear-gradient(0deg,rgba(15,15,14,.54),transparent)}.hero-image{background-position:60% center}.hero-content{padding-top:65px}.eyebrow{font-size:9px}.hero-intro{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.sample-note{margin-top:27px}.hero-index{right:20px;bottom:23px}.section-pad{padding:78px 0}.intro-grid{grid-template-columns:1fr;gap:20px}.intro-grid>.eyebrow{margin:0}.intro h2,.section-heading h2,.visit h2,.gallery-heading h2{font-size:43px}.intro-side{grid-column:auto;margin-top:4px}.section-heading{display:block;margin-bottom:34px}.section-lead{margin-top:19px}.service-row{grid-template-columns:32px 1fr auto;min-height:100px;gap:11px}.service-row h3{font-size:19px}.service-row p{font-size:10px}.service-time{display:none}.service-price{font-size:19px}.gallery{padding:78px 0}.gallery-heading{display:block;margin-bottom:25px}.gallery-caption{text-align:left;margin-top:15px}.gallery-grid{width:calc(100% - 40px);grid-template-columns:1fr 1fr;gap:9px}.gallery-item,.gallery-large{height:220px}.gallery-large{grid-column:span 2;height:280px}.gallery-item figcaption{left:13px;bottom:13px;font-size:9px}.visit-grid{grid-template-columns:1fr;gap:38px}.visit-details{grid-template-columns:1fr 1fr;gap:27px 18px}.detail-block:last-child{grid-column:span 2}.contact-band{padding:37px 0}.contact-band-inner{align-items:flex-start;flex-direction:column;gap:24px}.contact-band .contact-title{font-size:34px}.footer-note{line-height:1.7}.button{min-height:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Small reveal effects. Motion is disabled when the visitor requests reduced motion. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-picker{display:flex;align-items:center}
.language-picker select{appearance:none;background:var(--control-bg);border:1px solid var(--control-border);border-radius:0;color:var(--control-text);font:600 10px var(--sans);letter-spacing:1px;padding:8px 10px;cursor:pointer}
.language-picker select option{background:var(--control-option-bg);color:var(--text-primary)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.hero-content{animation:hero-enter .85s cubic-bezier(.2,.7,.2,1) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.primary-nav{gap:13px}.primary-nav>a:not(.button){font-size:10px}.primary-nav .button-small{padding-inline:11px;gap:7px}.language-picker select{padding:7px 6px}}

@media(prefers-reduced-motion:reduce){.reveal,.hero-content{opacity:1;transform:none;animation:none;transition:none}}
/* Homepage price and direct-contact feature */
.quick-booking{position:relative;overflow:hidden;background:var(--surface-raised);color:var(--text-primary);padding:43px 0}
.quick-booking-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .8fr .8fr 1.05fr;align-items:center;gap:26px}
.quick-heading .eyebrow{margin:0 0 9px;color:var(--accent-color)}
.quick-heading h2{font:500 clamp(25px,3vw,34px)/1.1 var(--serif);letter-spacing:-.7px;margin:0}
.quick-heading h2 em{color:var(--accent-strong)}
.quick-price{position:relative;min-height:88px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:11px 35px 11px 19px;border-left:1px solid var(--border-color);transition:background .25s,transform .25s}
.quick-price:hover{background:var(--surface-hover);color:var(--text-primary);transform:translateY(-3px)}
.quick-price>span:first-child{font-size:11px;color:var(--text-secondary)}
.quick-price strong{font:500 30px/1.2 var(--serif);color:var(--accent-strong)}
.quick-price strong small{font:500 16px var(--sans)}
.quick-arrow{position:absolute;right:14px;top:14px;color:var(--accent-strong);transition:transform .25s}
.quick-price:hover .quick-arrow{transform:translate(3px,-3px)}
.quick-contact{border-left:1px solid var(--border-color);padding-left:24px}
.quick-contact p{font-size:11px;color:var(--text-secondary);margin:0 0 10px}
.quick-contact .button{min-height:43px;padding:0 15px;gap:12px;font-size:10px;white-space:nowrap}
.quick-orbit{position:absolute;width:170px;height:170px;border:1px solid var(--accent-line);border-radius:50%;right:3%;top:-85px;animation:orbit-drift 16s linear infinite}
.quick-orbit:before,.quick-orbit:after{content:"";position:absolute;border:1px solid var(--accent-line);border-radius:50%;inset:15px}
.quick-orbit:after{inset:30px}
.service-booking{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 30px;margin-top:30px;background:var(--booking-bg);border:1px solid var(--booking-border);position:relative;overflow:hidden}
.service-booking:after{content:"";position:absolute;width:200px;height:200px;border:1px solid var(--accent-line);border-radius:50%;right:20%;top:-130px;pointer-events:none}
.service-booking .eyebrow{font-size:9px;margin:0 0 7px}
.service-booking h3{font:500 25px/1.2 var(--serif);margin:0 0 5px}
.service-booking div>p:last-child{color:var(--text-secondary);font-size:11px;margin:0}
.service-booking .button{position:relative;z-index:1;white-space:nowrap}
@keyframes orbit-drift{to{transform:rotate(360deg)}}
@keyframes hero-image-drift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-.5%,-.35%,0)}}
@media(max-width:900px){.quick-booking-inner{grid-template-columns:1fr 1fr;gap:20px}.quick-heading{grid-row:span 1}.quick-contact{padding:16px 0 0;border-left:0;border-top:1px solid var(--border-color)}.quick-price{min-height:78px}}
@media(max-width:720px){.quick-booking{padding:30px 0}.quick-booking-inner{grid-template-columns:1fr 1fr;gap:8px 13px}.quick-heading{grid-column:span 2;padding-bottom:12px}.quick-heading h2{font-size:30px}.quick-price{padding-left:12px;padding-right:24px;min-height:72px}.quick-price strong{font-size:26px}.quick-price>span:first-child{font-size:10px}.quick-contact{grid-column:span 2;padding-top:15px;margin-top:5px}.service-booking{align-items:flex-start;flex-direction:column;padding:23px 19px}.service-booking h3{font-size:23px}.service-booking .button{min-height:46px}}
@media(prefers-reduced-motion:reduce){.quick-orbit,.hero-image{animation:none}.quick-price,.quick-arrow{transition:none}}
/* One semantic palette controls both themes. Dark is the charcoal default. */
:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="light"]{
  color-scheme:light;
  --page-bg:#f7f5ef;
  --surface-bg:#eeece5;
  --surface-raised:#fffdfa;
  --surface-hover:#e7e3da;
  --text-primary:#1b1a18;
  --text-secondary:#4e4b45;
  --text-muted:#615e57;
  --text-soft:#716d65;
  --accent-color:#82601f;
  --accent-strong:#755317;
  --border-color:rgba(25,23,19,.17);
  --border-subtle:rgba(25,23,19,.12);
  --button-text:#171715;
  --button-alt-bg:#1b1a18;
  --button-alt-text:#f7f5ef;
  --nav-text:#f1efe9;
  --nav-panel-bg:#fffdfa;
  --control-option-bg:#fffdfa;
  --booking-bg:#e7e3da;
  --footer-bg:#e9e6de;
  --footer-text:#4e4b45;
  --image-border:rgba(255,255,255,.14);
  --control-border:rgba(255,255,255,.4);
  --accent-soft:rgba(130,96,31,.08);
  --accent-line:rgba(130,96,31,.18);
  --booking-border:rgba(130,96,31,.28);
}
.theme-toggle{position:relative;z-index:6;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--control-border);border-radius:999px;background:var(--control-bg);color:var(--control-text);font:600 10px var(--sans);letter-spacing:.35px;white-space:nowrap;cursor:pointer;backdrop-filter:blur(8px);transition:background .25s,border-color .25s,color .25s,transform .25s}
.theme-toggle:hover{background:var(--accent-soft);border-color:var(--accent-color);transform:translateY(-1px)}
.theme-toggle:active{transform:scale(.96)}
.theme-toggle-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:16px;color:var(--accent-strong);transition:transform .55s cubic-bezier(.2,.8,.2,1),background .35s}
.theme-toggle.is-switching .theme-toggle-icon{transform:rotate(180deg) scale(1.22);background:var(--accent-soft)}
.theme-animating body,.theme-animating .intro,.theme-animating .services,.theme-animating .quick-booking,.theme-animating .visit,.theme-animating .gallery,.theme-animating .site-footer,.theme-animating .service-row,.theme-animating .quick-price,.theme-animating .service-booking,.theme-animating .contact-band,.theme-animating .primary-nav,.theme-animating .button,.theme-animating .theme-toggle{transition:background-color .45s ease,color .45s ease,border-color .45s ease}
.theme-wash{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0;clip-path:circle(0 at var(--wash-x) var(--wash-y));background:radial-gradient(circle at var(--wash-x) var(--wash-y),var(--wash-strong),var(--wash-soft) 18rem,transparent 46rem);animation:theme-wash-open .72s cubic-bezier(.2,.75,.2,1) forwards}
@keyframes theme-wash-open{18%{opacity:1}68%{opacity:.8;clip-path:circle(150vmax at var(--wash-x) var(--wash-y))}100%{opacity:0;clip-path:circle(150vmax at var(--wash-x) var(--wash-y))}}
@media(max-width:800px){.theme-toggle{min-height:36px;padding:0 10px;font-size:9px}}
@media(max-width:720px){.theme-toggle-label{display:none}.theme-toggle{width:44px;height:44px;min-height:44px;flex:0 0 44px;justify-content:center;padding:0}.theme-toggle-icon{font-size:17px}.language-picker{flex:0 0 44px;height:44px;justify-content:center;align-items:center}.language-picker select{display:block;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;text-align:center;text-align-last:center}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-icon{transition:none}.theme-wash{display:none}}

/* Use smaller hero assets on narrower screens; the crop and visual remain unchanged. */
@media(max-width:1100px){.hero-image{background-image:url('https://images.unsplash.com/photo-1622286342621-4bd786c2447c?auto=format&fit=crop&w=1400&q=80')}}
@media(max-width:720px){.hero-image{background-image:url('https://images.unsplash.com/photo-1622286342621-4bd786c2447c?auto=format&fit=crop&w=1000&q=76')}}

/* Scroll controlled shears: a quiet gold watermark that stays clear of controls. */
.scissor-art{position:fixed;z-index:4;top:50%;left:50%;width:clamp(250px,48vw,610px);height:auto;overflow:visible;transform:translate(-50%,-50%);opacity:var(--scissor-opacity,.035);color:var(--accent-color);pointer-events:none;mix-blend-mode:screen}
.scissor-blade,.scissor-shaft,.scissor-loop{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.scissor-blade{fill:var(--accent-soft);stroke-width:3}
.scissor-shaft{stroke-width:5}
.scissor-loop{stroke-width:4}
.scissor-pivot{fill:var(--accent-color);stroke:var(--page-bg);stroke-width:2}
html[data-theme="light"] .scissor-art{mix-blend-mode:multiply}


/* Contrast fixes for fixed imagery and semantic controls in both themes. */
:root{--hero-text:#f1efe9;--hero-muted:#d0cdc5;--header-border:rgba(255,255,255,.18);--control-bg:rgba(18,18,16,.76);--control-text:#f4efe5;--control-border:rgba(255,255,255,.48);--intro-divider:rgba(255,255,255,.2);--contact-band-bg:#a88953;--contact-band-text:#151513;--contact-band-em:#f2eee4;--contact-button-bg:#f1efe9;--contact-button-text:#171715}
:root[data-theme="light"]{--hero-text:#f1efe9;--hero-muted:#e0ddd5;--header-border:rgba(255,255,255,.2);--control-bg:rgba(18,18,16,.82);--control-text:#fff;--control-border:rgba(255,255,255,.55);--intro-divider:rgba(25,23,19,.22);--contact-band-bg:#a88953;--contact-band-text:#151513;--contact-band-em:#f7f3e9;--contact-button-bg:#1b1a18;--contact-button-text:#f7f5ef}
.site-header{border-color:var(--header-border)}
.brand-name,.brand{color:var(--hero-text)}
.hero,.hero h1,.hero .hero-intro,.hero .sample-note,.hero .text-link,.hero .hero-index{color:var(--hero-text)}
.hero .hero-intro,.hero .sample-note{color:var(--hero-muted)}
.intro-side{border-color:var(--intro-divider)}
.contact-band{background:var(--contact-band-bg);color:var(--contact-band-text)}
.contact-band em{color:var(--contact-band-em)}
.contact-band .button-light{background:var(--contact-button-bg);border-color:var(--contact-button-bg);color:var(--contact-button-text)}
.contact-band .button-light:hover{background:transparent;color:var(--contact-band-text)}
.service-booking{color:var(--text-primary)}
.service-booking .button-light{background:var(--button-alt-bg);border-color:var(--button-alt-bg);color:var(--button-alt-text)}
.service-booking .button-light:hover{background:transparent;color:var(--text-primary)}
.quick-price:focus-visible{outline-color:var(--accent-color);outline-offset:4px}
.button:focus-visible,.theme-toggle:focus-visible,.language-picker select:focus-visible,.menu-toggle:focus-visible{outline-color:var(--accent-strong)}


