/* Salon Nina — visual layer. Direction: Soft UI Evolution (ui-ux-pro-max: Beauty/Spa/Wellness),
   brand palette (powder rose, plum, logo gold), editorial serif headings + Rubik body (RU/HE). */

/* ---------- Tokens ---------- */
:root{
 color-scheme:light;
 --paper:#fbf7f4;--card:#fff;--blush:#f6e9ec;--rose:#efdbe0;--rose-deep:#e3c4cc;
 --ink:#3a2530;--muted:#725763;--line:#e7d6db;--line-strong:#d6bec5;
 --accent:#8b455e;--accent-hover:#74384e;--on-accent:#fffafc;
 --gold:#b08a4e;--gold-ink:#855d2b;--plum:#2e1b25;--on-plum:#f7eef1;--photo:#ead9da;
 --heading:'Cormorant Garamond',Georgia,serif;--body:'Rubik',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
 --r-sm:8px;--r:12px;--r-lg:20px;--r-pill:999px;
 --shadow-1:0 1px 2px rgb(58 37 48/.05),0 2px 6px rgb(58 37 48/.05);
 --shadow-2:0 2px 4px rgb(58 37 48/.04),0 12px 32px -10px rgb(58 37 48/.18);
 --shadow-3:0 4px 8px rgb(58 37 48/.05),0 24px 56px -16px rgb(58 37 48/.26);
 --ease:cubic-bezier(.22,.61,.36,1);--t-fast:200ms;--t:280ms;
 --gutter:clamp(20px,5vw,72px);--maxw:1320px;--header-h:96px;
 font-family:var(--body);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-padding-top:calc(var(--header-h) + 12px)
}
html[lang=he]{--heading:'Frank Ruhl Libre',Georgia,serif}
@media(max-width:640px){:root{--header-h:132px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);overflow-x:clip}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,summary,[data-zoom]{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-family:var(--heading);font-weight:400;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(46px,6.4vw,92px);line-height:1.02;letter-spacing:-.02em}
h2{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.01em}
h3{font-size:clamp(24px,2.2vw,30px);line-height:1.2}
html[lang=he] h1{line-height:1.12;letter-spacing:0}html[lang=he] h2{line-height:1.18;letter-spacing:0}
p{max-width:65ch;text-wrap:pretty}
small,.muted{color:var(--muted)}small{font-size:13px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:18px}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);flex:none}
html[lang=he] .eyebrow{letter-spacing:.06em}
.lead{font-size:clamp(16px,1.25vw,18px);line-height:1.8;color:#5c4450;margin-top:24px;max-width:56ch}
.skip-link{position:fixed;top:-100px;inset-inline-start:16px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-sm);z-index:50}
.skip-link:focus{top:12px}
.preview-banner{text-align:center;background:var(--plum);color:var(--on-plum);padding:8px 20px;font-size:12px;letter-spacing:.04em}

/* ---------- Buttons & links ---------- */
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border-radius:var(--r-pill);font-size:15px;font-weight:500;line-height:1.3;text-decoration:none;border:1px solid transparent;transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease),color var(--t-fast) var(--ease)}
.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 20px -10px rgb(139 69 94/.7)}
.primary:hover{background:var(--accent-hover);box-shadow:0 12px 26px -10px rgb(139 69 94/.8)}
.secondary{background:var(--card);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-1)}
.secondary:hover{border-color:var(--accent);color:var(--accent)}
.primary span,.secondary span,.text-link span,.social-link span,.extra-links span{display:inline-block;transition:transform var(--t) var(--ease)}
.text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 0;background:none;border:0;font-size:14px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);transition:color var(--t-fast),text-decoration-color var(--t-fast)}
.text-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
@media(hover:hover){
 .primary:hover,.secondary:hover{transform:translateY(-2px)}
 .primary:hover span,.secondary:hover span,.text-link:hover span,.social-link:hover span,.extra-links a:hover span{transform:translate(2px,-2px)}
 [dir=rtl] .primary:hover span,[dir=rtl] .secondary:hover span,[dir=rtl] .text-link:hover span,[dir=rtl] .social-link:hover span,[dir=rtl] .extra-links a:hover span{transform:translate(-2px,-2px)}
}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:12px var(--gutter);background:rgb(251 247 244/.82);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--t),box-shadow var(--t),background-color var(--t)}
.header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 24px -18px rgb(58 37 48/.35);background:rgb(251 247 244/.92)}
.brand{text-decoration:none;direction:ltr}
.brand-logo{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.brand-logo>img{display:block;width:186px;height:72px;max-width:100%;object-fit:contain}
.header nav{display:flex;gap:6px;flex:1;justify-content:center}
.header nav a{position:relative;text-decoration:none;font-size:15px;padding:10px 14px;border-radius:var(--r-pill);transition:background-color var(--t-fast),color var(--t-fast)}
.header nav a:hover{background:var(--blush)}
.header nav a[aria-current]{color:var(--accent)}
.header nav a[aria-current]::after{content:'';position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--gold);transform:translateX(-50%)}
.language{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:14px;text-decoration:none;background:var(--card);transition:border-color var(--t-fast),color var(--t-fast)}
.language:hover{border-color:var(--accent);color:var(--accent)}

/* ---------- Layout ---------- */
main{max-width:var(--maxw);margin:auto}
.section{padding:clamp(56px,8vw,112px) var(--gutter);position:relative}
.section+.section::before{content:'';position:absolute;top:0;inset-inline:var(--gutter);height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.section-heading .muted,.section-heading>small{font-size:14px;max-width:340px}

/* ---------- Hero ---------- */
.hero{padding:clamp(40px,6vw,88px) var(--gutter) clamp(48px,6vw,96px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(32px,6vw,96px);position:relative;overflow-x:clip;overflow-y:visible}
.hero::before{content:'';position:absolute;inset-inline-end:2%;top:6%;width:min(46vw,620px);aspect-ratio:1;background:radial-gradient(closest-side,var(--rose) 0%,rgb(239 219 224/.45) 55%,transparent 100%);z-index:-1;border-radius:50%}
.hero-copy{padding:8px 0}
.hero h1{margin-top:4px}
.hero-visual{min-width:0;position:relative;justify-self:center;width:min(100%,460px)}
.hero-visual{--frame-gap:12px;--arch:140px}
.hero-visual::before{content:'';position:absolute;inset:calc(-1 * var(--frame-gap));border:1px solid var(--gold);border-radius:calc(var(--arch) + var(--frame-gap)) calc(var(--arch) + var(--frame-gap)) calc(var(--r-lg) + var(--frame-gap)) calc(var(--r-lg) + var(--frame-gap));opacity:.75;pointer-events:none}
.hero-image{display:block;width:100%;height:auto;max-height:600px;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:var(--arch,140px) var(--arch,140px) var(--r-lg) var(--r-lg);box-shadow:var(--shadow-3);background:var(--photo)}
.photo-placeholder{background:linear-gradient(160deg,var(--photo),var(--blush));padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--r-lg);aspect-ratio:4/5}
.photo-placeholder.hero-image{border-radius:var(--arch,140px) var(--arch,140px) var(--r-lg) var(--r-lg)}
.photo-label,.photo-caption{font-size:12px;letter-spacing:.08em;color:var(--muted)}
.photo-caption{padding-top:14px;border-top:1px solid var(--line-strong);letter-spacing:0}
.monogram{font-family:var(--heading);font-size:clamp(90px,10vw,140px);line-height:1;align-self:center;color:#947380}
.monogram,.empty-mark{direction:ltr;unicode-bidi:isolate}

/* ---------- Signature marquee ---------- */
.signature-strip{border-block:1px solid var(--line);background:var(--card);overflow:hidden;padding:18px 0}
.marquee{display:flex;width:max-content;gap:0}
.marquee span{display:inline-flex;align-items:center;gap:40px;padding-inline-end:40px;font-family:var(--heading);font-size:clamp(20px,2vw,28px);white-space:nowrap;color:var(--ink)}
.marquee span::after{content:'✦';font-family:var(--body);font-size:12px;color:var(--gold)}
@media(prefers-reduced-motion:no-preference){.marquee{animation:marquee 38s linear infinite}.signature-strip:hover .marquee{animation-play-state:paused}[dir=rtl] .marquee{animation-name:marquee-rtl}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes marquee-rtl{to{transform:translateX(50%)}}
@media(prefers-reduced-motion:reduce){.marquee{flex-wrap:wrap;justify-content:center;width:auto;padding-inline:var(--gutter)}.marquee [aria-hidden=true]{display:none}}

/* ---------- Prices ---------- */
.price-list{display:grid;gap:12px}
.price-row{display:grid;grid-template-columns:minmax(0,1.6fr) .6fr .7fr auto;align-items:center;gap:20px;padding:20px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);transition:box-shadow var(--t) var(--ease),border-color var(--t) var(--ease),transform var(--t) var(--ease)}
@media(hover:hover){.price-row:hover{box-shadow:var(--shadow-2);border-color:var(--rose-deep);transform:translateY(-2px)}}
.service-title{font-family:var(--heading);font-size:clamp(22px,1.9vw,26px);line-height:1.2;text-decoration:none}
.service-title:hover{color:var(--accent)}
.duration{font-size:14px;color:var(--muted);max-width:140px}
.price{font-size:20px;font-weight:500;white-space:nowrap;color:var(--ink)}
.from{font-size:13px;font-weight:400;color:var(--muted)}
.price-pending{font-size:14px;font-weight:400;white-space:normal;max-width:160px;color:var(--muted)}
.approximate{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.row-actions{display:flex;gap:16px;align-items:center;justify-content:flex-end}
.row-actions .primary{min-height:44px;padding:10px 18px;font-size:14px}
.price-note{font-size:13px;color:var(--muted);margin-top:20px;max-width:760px}

/* ---------- Colour story (statement band) ---------- */
.color-story{background:var(--plum);color:var(--on-plum);border-radius:var(--r-lg);margin:clamp(24px,4vw,56px) var(--gutter);padding:clamp(48px,7vw,104px) clamp(24px,7vw,112px);display:grid;grid-template-columns:1.1fr 1fr;gap:20px clamp(32px,6vw,96px);overflow:hidden;isolation:isolate}
.color-story::after{content:'';position:absolute;inset-inline-end:-120px;top:-120px;width:360px;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgb(176 138 78/.35),transparent);z-index:-1}
.section+.color-story::before,.color-story+.section::before{display:none}
.color-story h2{color:#fff;grid-row:span 2;font-size:clamp(32px,3.6vw,50px)}
.color-story p{font-size:16px;line-height:1.8;color:#e9dbe0}
.color-story p:last-child{color:#fff;padding-top:20px;border-top:1px solid rgb(255 255 255/.18)}

/* ---------- Portfolio ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.filters button{border:1px solid var(--line-strong);background:var(--card);padding:10px 18px;font-size:14px;min-height:44px;border-radius:var(--r-pill);transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.filters button:hover{border-color:var(--accent);color:var(--accent)}
.filters button[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}
.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.work-grid figure{min-width:0}
.work-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.work-grid figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.work-zoom{display:block;position:relative;overflow:hidden;border-radius:var(--r);box-shadow:var(--shadow-1);background:var(--photo);cursor:zoom-in}
.work-zoom::after{content:'+';position:absolute;inset-inline-end:12px;bottom:12px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgb(255 255 255/.92);color:var(--ink);font-size:22px;line-height:1;box-shadow:var(--shadow-1);opacity:0;transform:scale(.85);transition:opacity var(--t),transform var(--t) var(--ease)}
.work-zoom:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(hover:hover){.work-zoom:hover::after,.work-zoom:focus-visible::after{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.work-zoom img{transition:transform .5s var(--ease)}@media(hover:hover){.work-zoom:hover img{transform:scale(1.04)}}}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.before-after span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.empty-portfolio{background:linear-gradient(135deg,var(--blush),var(--card));border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:14px}
.empty-mark{font-family:var(--heading);font-size:72px;line-height:1;color:#9d7b88}
.empty-portfolio p{font-size:15px;color:var(--muted);max-width:440px}

/* Lightbox */
.lightbox{padding:0;border:0;background:transparent;color:#fffafd;max-width:94vw;max-height:94vh;overflow:hidden}
.lightbox:modal{overscroll-behavior:contain}
.lightbox::backdrop{background:rgb(32 18 25/.9);overflow:hidden;overscroll-behavior:contain;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lightbox-img{display:block;width:auto;height:auto;max-width:94vw;max-height:calc(94vh - 48px);object-fit:contain;margin-inline:auto;border-radius:var(--r);touch-action:pan-y}
.lightbox-caption{font-size:14px;text-align:center;padding:12px 8px 0;min-height:36px}
.lightbox button{position:absolute;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:rgb(255 250 252/.92);color:var(--ink);font-size:26px;line-height:1;box-shadow:var(--shadow-2);transition:background-color var(--t-fast),transform var(--t) var(--ease)}
.lightbox button:hover{background:#fff;transform:scale(1.06)}
.lightbox button:focus-visible{outline:3px solid #fffafd;outline-offset:2px}
.lightbox-close{top:12px;inset-inline-end:12px}
.lightbox-nav{top:calc(50% - 46px)}
.lightbox-nav.prev{inset-inline-start:12px}
.lightbox-nav.next{inset-inline-end:12px}
[dir=rtl] .lightbox-nav{transform:scaleX(-1)}
[dir=rtl] .lightbox-nav:hover{transform:scaleX(-1) scale(1.06)}
.lightbox-nav[hidden]{display:none}

/* ---------- Team ---------- */
.team-pending{margin-top:24px;max-width:620px;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}
.team-pending p{margin-top:10px;color:var(--muted);font-size:15px}
.team-grid,.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}
.team-grid img{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:18px;border-radius:var(--r-lg);box-shadow:var(--shadow-2)}
.team-grid p{font-size:15px;margin-top:12px;color:#5c4450}
.team-solo{grid-template-columns:1fr}
.team-solo article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(32px,6vw,96px);align-items:center}
.team-solo article>img{order:2;margin-bottom:0;border-radius:140px 140px var(--r-lg) var(--r-lg);box-shadow:var(--shadow-3)}
.team-solo .team-text{padding:clamp(24px,3vw,40px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}
.team-solo h3{font-size:clamp(34px,3.4vw,48px)}
.team-solo h3::after{content:'';display:block;width:48px;height:1px;background:var(--gold);margin-top:16px}
.team-solo p{font-size:16px;line-height:1.85;white-space:pre-line;max-width:560px;margin-top:20px}

/* ---------- Reviews ---------- */
blockquote{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-1);position:relative}
blockquote::before{content:'“';position:absolute;top:6px;inset-inline-start:20px;font-family:var(--heading);font-size:64px;line-height:1;color:var(--rose-deep)}
blockquote p{position:relative;font-size:15px;line-height:1.75;padding-top:20px}
blockquote footer{font-size:13px;color:var(--muted);margin-top:18px}

/* ---------- Beauty & care ---------- */
.extra{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.extra p{margin-top:16px;font-size:15px;color:#5c4450}
.extra-image{display:block;width:min(100%,520px);height:auto;aspect-ratio:4/3;object-fit:cover;margin-top:32px;border-radius:var(--r-lg);box-shadow:var(--shadow-2)}
.extra-links{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px 24px;box-shadow:var(--shadow-1)}
.extra-links a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:16px;transition:color var(--t-fast),padding var(--t) var(--ease)}
.extra-links a:last-child{border-bottom:0}
.extra-links a:hover{color:var(--accent)}
.extra-links span{color:var(--gold-ink)}

/* ---------- FAQ ---------- */
details{border-bottom:1px solid var(--line);padding:0;margin:0}
details:first-of-type{border-top:1px solid var(--line);margin-top:32px}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:18px 0;font-size:clamp(17px,1.4vw,20px);font-weight:500;transition:color var(--t-fast)}
summary::-webkit-details-marker{display:none}
summary::after{content:'';flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:linear-gradient(var(--ink),var(--ink)) center/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 12px no-repeat;transition:transform var(--t) var(--ease),background-color var(--t-fast),border-color var(--t-fast)}
summary:hover{color:var(--accent)}
details[open] summary::after{transform:rotate(45deg);background-color:var(--blush);border-color:var(--accent)}
details p{padding:0 0 22px;font-size:15px;color:#5c4450;line-height:1.8}

/* ---------- Contacts ---------- */
.contact-section{margin:clamp(24px,4vw,56px) var(--gutter) clamp(32px,5vw,72px);padding:clamp(36px,5vw,72px);background:linear-gradient(140deg,var(--blush),var(--rose));border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.contact-section .section-heading{align-items:center}
.contact-section .section-heading p{margin-top:10px;color:var(--muted)}
.contact-section .brand-logo>img{width:200px;height:78px}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:20px}
.contact-grid>div{background:rgb(255 255 255/.72);border:1px solid rgb(255 255 255/.9);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-1)}
.contact-grid h3{font-size:24px;margin:0 0 10px}
.contact-grid h3:not(:first-child){margin-top:24px}
.contact-grid p{font-size:15px;white-space:pre-line}
.contact-grid small{display:block;margin-top:6px}
.contact-grid .actions{margin-top:20px}
.phone{font-size:20px;font-weight:500;text-decoration:none}
.late{margin-top:16px;font-size:14px;color:var(--muted)}
.socials{display:flex;flex-wrap:wrap;gap:8px}
.social-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;font-size:14px;text-decoration:none;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--card);transition:border-color var(--t-fast),color var(--t-fast)}
.social-link:hover{border-color:var(--accent);color:var(--accent)}
.social-link span{font-size:11px}

/* ---------- Footer ---------- */
.footer{max-width:var(--maxw);margin:0 auto;padding:22px var(--gutter) 26px;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo . social" "text text legal";align-items:center;gap:12px 24px;border-top:1px solid var(--line)}
.footer .brand-logo{grid-area:logo}
.footer .brand-logo>img{width:132px;height:52px}
.footer .socials{grid-area:social;justify-content:flex-end}
.footer p{grid-area:text;font-size:13px;color:var(--muted);max-width:none}
.footer-legal{grid-area:legal;justify-self:end;display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap}
.footer-legal a,.consent-link{font-size:13px;color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:5px}
.consent-link{background:none;border:0;padding:10px 0;min-height:44px}
.footer-legal a:hover,.consent-link:hover{color:var(--accent)}
.footer .social-link{min-height:40px;padding:8px 14px}

/* ---------- Inner pages ---------- */
.page-heading{padding:clamp(48px,7vw,104px) var(--gutter) clamp(24px,3vw,40px)}
.page-heading .lead{margin-top:20px}
.service-hero{padding:clamp(28px,4vw,48px) var(--gutter) clamp(48px,6vw,88px)}
.breadcrumb{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:40px}
.breadcrumb a{text-decoration:none;padding:6px 0}.breadcrumb a:hover{color:var(--accent)}
.service-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,7vw,112px);align-items:center}
.service-layout h1{font-size:clamp(44px,5vw,72px)}
.service-meta{display:flex;align-items:baseline;gap:24px;margin:28px 0 6px;flex-wrap:wrap}
.service-meta .price{font-size:34px}
.service-meta .price-pending{font-size:18px;max-width:none;white-space:normal}
.service-meta>span:last-child{font-size:15px;color:var(--muted)}
.service-notes{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-2)}
.service-notes h2{font-size:clamp(28px,2.6vw,36px)}
.service-notes ol{list-style:none;padding:0;counter-reset:steps;margin:20px 0}
.service-notes li{counter-increment:steps;border-top:1px solid var(--line);padding:14px 0;display:flex;gap:18px;font-size:15px}
.service-notes li::before{content:'0' counter(steps);font-size:13px;font-weight:500;color:var(--gold-ink);min-width:22px}
.visit{display:grid;grid-template-columns:1fr 1.5fr;gap:24px 48px}
.visit p{font-size:16px;line-height:1.8}
.visit .muted{grid-column:2;font-size:14px}

/* ---------- Mobile bar & booking dialog ---------- */
.mobile-bar{display:none}
.booking-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:36px;max-width:480px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;border-radius:var(--r-lg);box-shadow:var(--shadow-3)}
.booking-dialog::backdrop{background:rgb(46 27 37/.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.booking-dialog h2{margin-bottom:12px;font-size:clamp(32px,4vw,40px)}
.booking-dialog p{font-size:15px;color:#5c4450}
.booking-dialog label{display:block;margin-top:24px;font-size:14px;font-weight:500}
.booking-dialog select{width:100%;min-height:48px;padding:12px 14px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:16px;margin:8px 0 18px}
.close{position:absolute;inset-inline-end:12px;top:12px;border:none;background:var(--blush);border-radius:50%;font-size:24px;width:44px;height:44px;display:grid;place-items:center;transition:background-color var(--t-fast)}
.close:hover{background:var(--rose)}
.booking-actions{display:flex;flex-direction:column;gap:10px}
.booking-status{margin-top:12px;color:var(--muted)}

/* ---------- Motion ---------- */
@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:var(--d,0ms)}
 .js .reveal.is-visible{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
 .header{gap:16px}.header nav a{padding:10px 10px;font-size:14px}
 .price-row{grid-template-columns:minmax(0,1.5fr) .6fr .7fr}
 .row-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}
 .contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:last-child{grid-column:1/-1}
 .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .color-story{grid-template-columns:1fr}.color-story h2{grid-row:auto}
}
@media(max-width:820px){
 .hero{grid-template-columns:1fr}
 .hero-visual{width:min(100%,420px)}
 .team-solo article{grid-template-columns:1fr;gap:28px}.team-solo article>img{order:0;max-width:440px;justify-self:center;width:100%}
 .extra{grid-template-columns:1fr}
 .service-layout{grid-template-columns:1fr}
 .team-grid,.review-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 body{padding-bottom:84px}
 .header{padding:10px 20px 6px;gap:10px 12px;flex-wrap:wrap}
 .brand-logo>img{width:144px;height:56px}
 .header>.primary{display:none}
 .header nav{order:3;flex-basis:100%;justify-content:space-between;gap:4px;margin-inline:-10px}
 .header nav a{font-size:14px;padding:10px}
 .header nav a[aria-current]::after{bottom:2px}
 .language{margin-inline-start:auto}
 .hero{padding:24px 20px 40px;gap:36px}
 .hero::before{width:120vw;inset-inline-end:-30vw;top:40%}
 .hero-visual{width:calc(100% - 28px);--arch:110px;--frame-gap:10px}
 .lead{line-height:1.75;margin-top:18px}
 .actions{margin-top:24px;gap:10px}
 .actions .primary,.actions .secondary{flex:1 1 140px;padding:12px 14px;font-size:14px}
 .signature-strip{padding:14px 0}
 .section{padding:56px 20px}
 .section+.section::before{inset-inline:20px}
 .section-heading{display:block;margin-bottom:28px}
 .section-heading>small,.section-heading>.muted{display:block;margin-top:12px}
 .price-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:18px}
 .service-title{font-size:22px}
 .duration{grid-row:2;grid-column:1;max-width:none}
 .price{grid-row:1;grid-column:2;font-size:18px}
 .price-pending{max-width:120px;text-align:end}.price .approximate{text-align:end}
 .row-actions{justify-content:space-between;gap:8px}
 .row-actions .primary{padding:10px 16px}
 .color-story{margin:16px 12px;padding:44px 24px;border-radius:var(--r-lg)}
 .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding:2px 20px 6px;scroll-snap-type:x proximity}
 .filters::-webkit-scrollbar{display:none}
 .filters button{flex:none;font-size:13px;padding:10px 16px;scroll-snap-align:start}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .work-zoom::after{opacity:1;transform:none;width:32px;height:32px;font-size:18px;inset-inline-end:8px;bottom:8px}
 .team-grid,.review-grid{grid-template-columns:1fr;gap:20px}
 .extra-links{padding:4px 18px}
 .contact-section{margin:16px 12px 32px;padding:32px 20px}
 .contact-section .section-heading .brand-logo{display:none}
 .contact-grid{grid-template-columns:1fr;gap:12px}.contact-grid>div:last-child{grid-column:auto}
 .footer{padding:20px 20px 24px;grid-template-columns:auto 1fr;grid-template-areas:"logo legal" "social social" "text text";gap:14px}
 .footer .socials{justify-content:flex-start}
 .mobile-bar{display:flex;position:fixed;bottom:0;inset-inline:0;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:rgb(251 247 244/.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid var(--line);gap:10px;z-index:15}
 .mobile-bar>*{flex:1}
 .service-hero{padding:24px 20px 40px}
 .breadcrumb{margin-bottom:28px}
 .service-notes{padding:24px}
 .visit{grid-template-columns:1fr;gap:16px}.visit .muted{grid-column:auto}
 .page-heading{padding:40px 20px 16px}
 .booking-dialog{padding:32px 22px}
 .preview-banner{font-size:11px;padding:7px 14px}
}
@media(max-width:400px){.header nav a{padding:10px 6px;font-size:13.5px;white-space:nowrap}}

/* ---------- Cookie consent (Google Consent Mode v2) ---------- */
.consent{position:fixed;z-index:40;inset-inline:16px;bottom:16px;max-width:760px;margin-inline:auto;display:flex;align-items:center;gap:16px 28px;padding:20px 24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3)}
.consent h2{font-size:22px;margin-bottom:4px}
.consent p{font-size:14px;line-height:1.6;color:#5c4450}
.consent p a{color:var(--accent)}
.consent-actions{display:flex;gap:10px;flex:none}
.consent-actions button{min-width:120px}
@media(prefers-reduced-motion:no-preference){.consent:not([hidden]){animation:consent-in .35s var(--ease)}}
@keyframes consent-in{from{opacity:0;transform:translateY(12px)}}
@media(max-width:640px){
 .consent{flex-direction:column;align-items:stretch;inset-inline:12px;bottom:calc(76px + env(safe-area-inset-bottom));padding:18px}
 .consent-actions button{flex:1;min-width:0}
 .footer-legal{justify-self:end;gap:0 14px}
}
