:root{--cream:#f6f1e8;--paper:#fffdf9;--ink:#24231f;--muted:#6f6c63;--terracotta:#bf633f;--sage:#71806b;--line:#d9d2c6;--display:"Playfair Display",Georgia,serif;--body:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px}.skip-link{position:absolute;left:-999px;top:10px}.skip-link:focus{left:10px;z-index:99;background:#fff;padding:12px}.announcement{height:38px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:35px;font-size:12px;letter-spacing:.05em}.announcement a{color:#fff;text-decoration:none}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,253,249,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(36,35,31,.08);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-family:var(--display);font-size:24px;text-decoration:none;line-height:.8}.brand small{display:block;font:600 8px/1 var(--body);letter-spacing:.22em;margin-top:8px}.brand-mark{width:40px;height:40px;border:1px solid var(--ink);border-radius:50% 50% 48% 52%;display:grid;place-items:center;font-size:21px;font-style:italic}.site-header nav{display:flex;gap:34px}.site-header nav a,footer a{font-size:13px;color:var(--ink);text-decoration:none}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-actions{display:flex;align-items:center;gap:10px}.language,.menu-toggle{border:0;background:transparent;font-weight:600;cursor:pointer}.language{padding:12px}.btn{border:0;border-radius:0;padding:15px 23px;font:600 13px var(--body);letter-spacing:.02em;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--terracotta)}.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}.menu-toggle{display:none}.hero{min-height:680px;display:grid;grid-template-columns:45% 55%;background:var(--cream)}.hero-copy{padding:90px 5vw 70px 8vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.19em;margin:0 0 22px;color:var(--terracotta)}h1,h2{font-family:var(--display);font-weight:500;line-height:1.03;margin:0}h1{font-size:clamp(52px,5vw,78px);letter-spacing:-.045em}h1 em,h2 em{font-weight:500;color:var(--terracotta)}.hero-intro{max-width:520px;color:var(--muted);font-size:18px;line-height:1.65;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:27px}.text-link{color:var(--ink);text-decoration:none;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:4px}.trust-row{border-top:1px solid var(--line);display:flex;gap:38px;margin-top:58px;padding-top:25px}.trust-row span{font-size:12px}.trust-row small{display:block;color:var(--muted);margin-top:6px}.hero-image{background:url("assets/river-nails-hero.png") center/cover no-repeat;position:relative;min-height:580px}.image-note{position:absolute;right:25px;bottom:25px;background:rgba(255,253,249,.9);padding:13px 16px;font-family:var(--display);font-style:italic;font-size:14px}.section{padding:110px 8vw}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.section-heading h2,.about h2,.visit h2{font-size:clamp(42px,4vw,62px);letter-spacing:-.035em}.section-heading>p{max-width:390px;color:var(--muted);line-height:1.7}.service-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:10px}.service-tabs button{background:none;border:0;padding:12px 2px;font:500 13px var(--body);color:var(--muted);cursor:pointer}.service-tabs button.active{color:var(--ink);border-bottom:2px solid var(--terracotta)}.service-grid{display:grid;grid-template-columns:1fr 1fr}.service-card{min-height:135px;display:grid;grid-template-columns:50px 1fr auto 38px;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:20px 22px 20px 5px}.service-card:nth-child(odd){border-right:1px solid var(--line);padding-right:35px}.service-card:nth-child(even){padding-left:35px}.service-card.hidden{display:none}.service-number{color:#aaa398;font-size:11px}.service-card h3{font:500 22px var(--display);margin:0 0 7px}.service-card p{color:var(--muted);font-size:13px;margin:0}.service-card strong{font-size:13px}.service-card button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer}.service-card:hover button{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}.price-note{font-size:11px;color:var(--muted);margin-top:22px}.about{background:var(--sage);color:#fff;display:grid;grid-template-columns:45% 55%;gap:8vw}.about-art{display:flex;align-items:flex-end;gap:25px}.arch{width:min(340px,100%);aspect-ratio:.82;border:1px solid rgba(255,255,255,.5);border-radius:50% 50% 0 0;display:grid;place-items:center;background:radial-gradient(circle,#c9b094 0 5%,transparent 5.5%),linear-gradient(135deg,#56634f,#82907b)}.arch span{font:italic 110px var(--display);opacity:.7}.about-art>p{font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.about .eyebrow{color:#f0c3ac}.about h2 em{color:#f4d0bd}.about-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:rgba(255,255,255,.82);max-width:550px}.about ul{list-style:none;padding:0;margin:30px 0}.about li{border-top:1px solid rgba(255,255,255,.25);padding:14px 0}.about li:before{content:"✓";margin-right:12px;color:#f0c3ac}.about .btn-outline{border-color:#fff;color:#fff}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr .9fr;gap:14px}.nail-art{height:400px;position:relative;overflow:hidden;background-color:#ddd;background-size:cover}.nail-art span{position:absolute;bottom:16px;left:16px;background:var(--paper);padding:8px 11px;font:italic 13px var(--display)}.art-one{background:radial-gradient(ellipse at 65% 35%,#e5c2b0 0 10%,transparent 10.5%),radial-gradient(ellipse at 49% 51%,#efd8ce 0 10%,transparent 10.5%),linear-gradient(145deg,#b88a73,#eee0d4)}.art-two{margin-top:45px;background:repeating-linear-gradient(120deg,transparent 0 42px,rgba(255,255,255,.5) 43px 45px),linear-gradient(140deg,#d1b3a1,#8e594c)}.art-three{background:radial-gradient(circle at 50%,#f6c35b 0 12%,#d6674e 12.5% 26%,#60755c 26.5% 42%,#ecd8b6 42.5%)}.art-four{margin-top:45px;background:linear-gradient(35deg,transparent 48%,#f7eee5 49% 51%,transparent 52%),linear-gradient(145deg,#755b52,#d5b8a7)}.testimonial{text-align:center;background:var(--paper)}.testimonial blockquote{font:500 clamp(30px,3.4vw,51px)/1.3 var(--display);max-width:900px;margin:25px auto}.testimonial>p:last-child{font-size:13px;color:var(--muted)}.visit{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:#e6d1bd}.visit-details{display:flex;gap:70px;margin-top:50px}.visit-details small{font-size:9px;letter-spacing:.18em}.visit-details p{line-height:1.7}.visit-details a{color:var(--ink);font-size:13px}.map-card{min-height:430px;background:#eee7dc;position:relative;overflow:hidden}.map-lines{position:absolute;inset:-30%;background:repeating-linear-gradient(68deg,transparent 0 65px,#d5cec2 66px 68px),repeating-linear-gradient(-22deg,transparent 0 91px,#dbd3c8 92px 94px);transform:rotate(-4deg)}.map-pin{position:absolute;left:51%;top:43%;text-align:center}.map-pin span{display:grid;place-items:center;width:52px;height:52px;background:var(--terracotta);color:#fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);font:500 24px var(--display);box-shadow:0 8px 20px #9e8b7b}.map-pin span::first-letter{transform:rotate(45deg)}.map-pin p{font-size:10px;font-weight:600;letter-spacing:.13em;background:#fff;padding:6px;transform:translate(-20px,8px);width:100px}footer{padding:60px 8vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end}footer .brand,footer a{color:#fff}.footer-brand{grid-row:span 2}footer>p{font-family:var(--display);font-style:italic;text-align:right}footer>div{text-align:right}footer>div a{margin-left:25px}footer>small{color:#aaa;text-align:right}.mobile-book{display:none}dialog{border:0;padding:0;width:min(600px,calc(100% - 30px));background:var(--paper);box-shadow:0 20px 80px #0004}dialog::backdrop{background:rgba(25,24,21,.64);backdrop-filter:blur(4px)}.booking-shell{padding:48px;position:relative}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}.booking-shell h2{font-size:41px}.booking-progress{display:flex;gap:6px;margin:30px 0}.booking-progress span{height:3px;background:var(--line);flex:1}.booking-progress span.active{background:var(--terracotta)}.booking-step{display:none}.booking-step.active{display:grid;gap:19px}.booking-step label{display:grid;gap:8px;font-size:12px;font-weight:600}.booking-step input,.booking-step select{width:100%;border:1px solid var(--line);background:#fff;padding:15px;font:15px var(--body)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{font-size:12px;color:var(--muted);line-height:1.5}.booking-success{display:none;text-align:center;padding:20px}.booking-success.show{display:block}.booking-success>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sage);color:#fff;margin:auto;font-size:25px}.booking-success h3{font:500 31px var(--display)}.booking-success p{color:var(--muted);line-height:1.6}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.site-header{height:72px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:30px;flex-direction:column}.site-header nav.open{display:flex}.desktop-book{display:none}.menu-toggle{display:grid;gap:5px}.menu-toggle span{width:24px;height:1px;background:var(--ink)}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw 55px}.hero-image{min-height:460px;grid-row:1}.section{padding:80px 7vw}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card:nth-child(n){border-right:0;padding:18px 5px}.about{grid-template-columns:1fr}.about-art{display:none}.gallery-grid{grid-template-columns:1fr 1fr}.visit{grid-template-columns:1fr}.mobile-book{display:flex;position:fixed;left:15px;right:15px;bottom:15px;z-index:15;box-shadow:0 8px 25px #0003}footer{padding-bottom:100px}}@media(max-width:560px){.announcement{justify-content:space-between;padding:0 15px;gap:8px;font-size:10px}.announcement span{max-width:190px}.hero-copy{padding-top:55px}.hero-image{min-height:330px}.image-note{display:none}h1{font-size:49px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{text-align:center;border:0}.trust-row{margin-top:38px;justify-content:space-between}.service-card{grid-template-columns:33px 1fr auto}.service-card button{display:none}.service-card h3{font-size:19px}.gallery-grid{grid-template-columns:1fr 1fr}.nail-art{height:250px}.visit-details{display:block}.visit-details>div{margin-top:30px}footer{grid-template-columns:1fr}footer>p,footer>div,footer>small{text-align:left}footer>div a{margin:0 18px 0 0}.booking-shell{padding:38px 22px}.booking-shell h2{font-size:33px}.field-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.service-tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.service-tabs button{flex:0 0 auto}.catalog-loading,.catalog-error{grid-column:1/-1;color:var(--muted);padding:35px 0}.catalog-error{color:var(--terracotta)}
.brand-logo{display:block;width:118px;height:64px;background:var(--logo-header,#34332f);-webkit-mask:url("assets/river-nails-logo.svg") center/contain no-repeat;mask:url("assets/river-nails-logo.svg") center/contain no-repeat}.site-header .brand{height:68px}.footer-brand .brand-logo{width:134px;height:100px;background:var(--logo-footer,#fff)}
.gallery-grid{grid-template-columns:repeat(3,1fr);align-items:start}.gallery-photo{margin:0;position:relative;height:390px;overflow:hidden;background:#ded8cf}.gallery-photo.gallery-tall{height:470px}.gallery-photo.gallery-offset{margin-top:55px}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,253,249,.93);padding:9px 12px;font:italic 14px var(--display)}
@media(max-width:560px){.brand-logo{width:86px;height:58px}.site-header .brand{height:58px}}
@media(max-width:700px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-photo,.gallery-photo.gallery-tall{height:270px}.gallery-photo.gallery-offset{margin-top:20px}}
.menu-overlay{display:none}
@media(max-width:900px){body.menu-open{overflow:hidden}.site-header nav{z-index:23;box-shadow:0 18px 35px rgba(36,35,31,.12)}.menu-overlay{display:block;position:fixed;inset:0;background:rgba(25,24,21,.48);backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;z-index:19}.menu-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.menu-toggle span{transition:transform .25s ease,opacity .2s ease}.menu-toggle.open span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-3px) rotate(-45deg)}}
.booking-shell.booking-complete>.eyebrow,.booking-shell.booking-complete>#bookingTitle,.booking-shell.booking-complete>.booking-progress{display:none!important}.booking-shell.booking-complete{padding-top:58px;padding-bottom:58px}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-error{min-height:18px;margin:0;color:#a23f2b;font-size:12px;line-height:1.45}.booking-step .btn:disabled{opacity:.6;cursor:wait}.booking-step textarea{width:100%;min-height:92px;resize:vertical;border:1px solid var(--line);background:#fff;padding:15px;font:15px/1.45 var(--body)}
