
:root{
  --green:#103C2F;--gold:#C6A15B;--sage-light:#D7E1D9;--sage:#AFC2B4;
  --ivory:#F7F4EC;--paper:#FFFDF8;--ink:#17362E;--muted:#66746E;
  --line:rgba(16,60,47,.15);--shadow:0 18px 55px rgba(16,60,47,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
h1,h2,h3,.brand,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.02em}
button,input,select,textarea{font:inherit} button{cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.topbar{background:var(--green);color:#fff;text-align:center;font-size:11px;letter-spacing:.09em;padding:8px 12px}
.nav{position:sticky;top:0;z-index:60;background:rgba(255,253,248,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-size:30px;letter-spacing:.15em;color:var(--green)} .brand .v{color:var(--gold)}
.navlinks{display:flex;align-items:center;gap:22px;font-size:14px}.navlinks>a:not(.btn){opacity:.82}.navlinks>a:hover{opacity:1}
.btn{border:0;border-radius:999px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:.18s}
.btn-primary{background:var(--green);color:white}.btn-gold{background:var(--gold);color:#153128}.btn-outline{border:1px solid var(--green);color:var(--green);background:transparent}
.btn:hover{transform:translateY(-1px)}
.hero{min-height:710px;display:grid;grid-template-columns:1.04fr .96fr}
.hero-copy{padding:88px max(18px,calc((100vw - 1180px)/2)) 70px max(18px,calc((100vw - 1180px)/2));padding-right:52px;background:linear-gradient(145deg,var(--ivory),#fff)}
.hero-media{min-height:620px;background:linear-gradient(180deg,rgba(16,60,47,.02),rgba(16,60,47,.14)),url("images/cutivo-male-stylist-hero-v7.png") 54% center/cover}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:#66766f}
.hero h1,.page-hero h1{font-size:clamp(48px,6vw,84px);line-height:.98;margin:17px 0 24px}.hero p{font-size:18px;max-width:590px;color:#586760}
.booking-bar{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:11px;display:grid;grid-template-columns:1.2fr .9fr auto;gap:9px;box-shadow:var(--shadow);max-width:680px}
.field{background:var(--ivory);border-radius:12px;padding:9px 13px}.field label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.12em;color:#64746d}.field input{border:0;background:transparent;width:100%;outline:0;color:var(--ink)}
.truststrip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:23px;max-width:680px;font-size:13px;color:#5d6b65}.trust{display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;background:var(--gold);border-radius:50%}
.section{padding:88px 0}.section.soft{background:var(--sage-light)}.section.sage{background:var(--sage)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:36px}.section-head p{max-width:500px;color:#5e6b65}
.section h2{font-size:clamp(38px,4.6vw,60px);line-height:1.05;margin:10px 0}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.big-card{min-height:500px;border-radius:24px;overflow:hidden;position:relative;color:#fff;box-shadow:var(--shadow)}
.big-card.women{background:linear-gradient(180deg,transparent 35%,rgba(10,30,24,.86)),url("https://images.pexels.com/photos/3993312/pexels-photo-3993312.jpeg?auto=compress&cs=tinysrgb&w=1200") center/cover}
.big-card.men{background:linear-gradient(180deg,transparent 35%,rgba(10,30,24,.86)),url("https://images.pexels.com/photos/3998419/pexels-photo-3998419.jpeg?auto=compress&cs=tinysrgb&w=1200") center/cover}
.card-content{position:absolute;left:0;right:0;bottom:0;padding:32px}.card-content h3{font-size:40px;margin:0 0 8px}.card-content p{color:rgba(255,255,255,.84)}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.chip{border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.10);padding:6px 10px;border-radius:999px;font-size:12px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;min-height:205px;display:flex;flex-direction:column}.tile .kicker{font-size:10px;letter-spacing:.14em;color:var(--gold);font-weight:700}.tile h3{font-size:25px;margin:18px 0 8px}.tile p{font-size:14px;color:#68746f}.tile .meta{margin-top:auto;font-size:13px;font-weight:700;color:var(--green)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{padding-top:24px;border-top:1px solid rgba(16,60,47,.28)}.step .num{font-size:11px;letter-spacing:.15em;color:var(--gold)}.step h3{font-size:29px;margin:16px 0 7px}.step p{color:#586961}
.band{background:var(--green);color:#fff;padding:72px 0}.band h2{font-size:56px;margin:8px 0 16px}
.page-hero{padding:90px 0 70px;background:linear-gradient(135deg,var(--ivory),#fff)}.page-hero p{max-width:720px;font-size:18px;color:#5d6b65}.breadcrumbs{font-size:12px;color:#75817c;margin-bottom:18px}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px}.service h3{font-size:24px;margin:0 0 7px}.service p{color:#68746f;font-size:14px}.service-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--green);font-weight:700;margin-top:18px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.info-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px}.info-box h3{font-size:27px;margin-top:0}.checklist{padding:0;list-style:none}.checklist li{padding:10px 0;border-bottom:1px solid var(--line)}.checklist li:before{content:"✓";color:var(--gold);font-weight:700;margin-right:10px}
.area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.area{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-family:Georgia,serif;font-size:21px;cursor:pointer}.faq p{color:#627069}
.form{display:grid;gap:13px}.input{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;outline:0}.input:focus{border-color:var(--green)}
.notice{border-radius:12px;padding:12px 14px;background:var(--sage-light);color:#395047;font-size:13px}.notice.warn{background:#f4ead5;color:#765d2b}.notice.err{background:#f6e5e1;color:#7d4338}.notice.ok{background:#e3efe7;color:#274e3b}
.legal{max-width:860px}.legal h2{font-size:34px;margin-top:45px}.legal h3{font-size:24px;margin-top:28px}.legal p,.legal li{color:#4f6058}
.footer{background:#0B2F25;color:rgba(255,255,255,.84);padding:58px 0 92px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:28px}.footer .brand{color:#fff}.footer h4{color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.footer a{display:block;margin:7px 0;color:rgba(255,255,255,.72);font-size:14px}.footer small{color:rgba(255,255,255,.46)}
.mobile-book{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:90}
.book-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:24px;align-items:start}.book-summary{background:var(--green);color:#fff;border-radius:22px;padding:26px;position:sticky;top:100px}.book-summary h3{font-size:30px}.summary-line{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15)}.booking-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px}.progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:25px}.progress span{height:4px;background:#d9e1db;border-radius:10px}.progress .on{background:var(--gold)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px;text-align:left}.choice:hover,.choice.selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(16,60,47,.07)}.choice:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.choice h4{font-family:Georgia,serif;font-size:21px;margin:0 0 5px}.actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.cookie-note{position:fixed;left:18px;bottom:18px;z-index:95;max-width:390px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);display:none}.cookie-note.show{display:block}.cookie-note p{font-size:13px;color:#5c6b64}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){
  .nav-inner{height:auto;min-height:74px;flex-wrap:wrap;padding:12px 0 0}.navlinks{width:100%;overflow-x:auto;padding-bottom:10px;gap:18px}.navlinks>a{min-height:44px}.navlinks>a:not(.btn){display:inline-flex;align-items:center;white-space:nowrap;padding:8px 2px}.hero{grid-template-columns:1fr}.hero-media{order:-1;min-height:420px}.hero-copy{padding:60px 22px 38px}
  .cards-2,.two-col,.book-shell{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.area-list{grid-template-columns:1fr 1fr}.book-summary{position:relative;top:0}
}
@media(max-width:620px){
  .topbar{font-size:9px}.nav-inner{min-height:64px}.brand{font-size:24px}.navlinks .btn{display:inline-flex;padding:9px 14px}.hero-media{min-height:330px}.hero h1,.page-hero h1{font-size:48px}.booking-bar{grid-template-columns:1fr}.truststrip{grid-template-columns:1fr;gap:6px}.section{padding:62px 0}.section-head{display:block}
  .cards-2,.grid-4,.service-list,.area-list,.choice-grid{grid-template-columns:1fr}.big-card{min-height:420px}.footer-grid{grid-template-columns:1fr 1fr}.mobile-book{display:flex}body{padding-bottom:72px}body.booking-page{padding-bottom:0}.band h2{font-size:42px}
}
.account-link{display:inline-flex;align-items:center;white-space:nowrap;font-weight:700;color:var(--green)}
.account-shell{width:min(980px,calc(100% - 30px));margin:42px auto 80px}.account-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.account-head h1{font-size:clamp(42px,7vw,70px);margin:4px 0}.account-nav{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px}.account-nav button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 16px;white-space:nowrap}.account-nav button.active{background:var(--green);color:#fff}.account-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.account-card{border:1px solid var(--line);border-radius:16px;padding:18px}.account-card h3{margin:5px 0}.auth-lock{max-width:620px;margin:70px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.auth-lock h1{font-size:48px;margin:8px 0 15px}.status-pill{display:inline-flex;border-radius:999px;padding:5px 9px;background:#f4ead5;color:#6c5528;font-size:12px;font-weight:700}.account-hidden{display:none!important}
@media(max-width:620px){.account-head{display:block}.account-grid{grid-template-columns:1fr}.account-panel{padding:16px}.auth-lock{margin:35px 15px}.navlinks .account-link{min-height:44px}}
.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.gallery-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-card figcaption,.gallery-card:not(figure){padding:16px}.review-list{display:grid;gap:16px;max-width:850px}.review-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.stars{color:var(--gold);font-size:22px;letter-spacing:.08em}.owner-reply{margin-top:16px;padding:15px;background:var(--sage-light);border-radius:12px}@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}}
.gallery-card-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.gallery-card-button>div{padding:16px}.gallery-card video,.work-set-media video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#111}.gallery-dialog{width:min(940px,94vw);max-height:92vh;border:0;border-radius:20px;padding:20px}.gallery-dialog::backdrop{background:#111b}.gallery-viewer{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-viewer img,.gallery-viewer video{width:100%;max-height:70vh;object-fit:contain;background:#111;border-radius:12px}.work-set-list{display:grid;gap:18px}.work-set-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.work-set-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.work-set-media{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.work-set-media-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.work-set-media-item img,.work-set-media-item video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.media-preview-list{display:grid;gap:10px}.media-preview{display:grid;grid-template-columns:70px 1fr 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}.media-preview img,.media-preview video{width:70px;height:70px;object-fit:cover;border-radius:8px}.media-meta{font-size:.88rem;color:#555}@media(max-width:700px){.gallery-viewer,.work-set-media{grid-template-columns:1fr}.media-preview{grid-template-columns:60px 1fr}.media-preview .input,.media-preview button{grid-column:2}.work-set-head{display:block}}

/* V4 launch-candidate pricing + premium polish */
.price-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.price-table{width:100%;border-collapse:collapse;min-width:620px}
.price-table th,.price-table td{padding:17px 18px;text-align:left;border-bottom:1px solid var(--line)}
.price-table th{background:var(--green);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.price-table tr:last-child td{border-bottom:0}
.price-table td:nth-child(2){color:var(--green);white-space:nowrap}
.price-table td:nth-child(3){white-space:nowrap;color:var(--muted)}
.pricing-group{margin-bottom:64px}
.booking-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.booking-type{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;text-align:left}
.booking-type.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(16,60,47,.08)}
.booking-type h4{font-family:Georgia,serif;font-size:20px;margin:0 0 5px}
.member-card{border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;background:#fff}
.member-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.total-box{background:var(--sage-light);border-radius:16px;padding:18px;margin-top:16px}
.total-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.total-grid div{background:rgba(255,255,255,.6);border-radius:12px;padding:12px}
.price-big{font-family:Georgia,serif;font-size:34px;color:var(--green)}
.discount-good{color:#28573f;font-weight:700}
.test-badge{display:inline-flex;border:1px solid var(--gold);color:var(--green);background:#fff8e8;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.date-option{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;text-align:left;min-height:74px}.date-option strong,.date-option span{display:block}.date-option span{font-size:11px;color:var(--muted);margin-top:4px}.date-option.available:hover,.date-option.selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(16,60,47,.08)}.date-option.limited{border-color:var(--gold)}.date-option:disabled{cursor:not-allowed;opacity:.48;background:#f4f2ec}.slot-grid{display:flex;flex-wrap:wrap;gap:9px}#slotArea{scroll-margin-top:110px}.slot{border:1px solid var(--green);background:#fff;color:var(--green);border-radius:999px;padding:10px 15px}.slot.selected{background:var(--green);color:#fff}.slot:disabled,.slot[aria-disabled="true"]{border-color:#c8c6c0;background:#efeee9;color:#85827b;opacity:.68;cursor:not-allowed;box-shadow:none;pointer-events:none}
@media(max-width:900px){.booking-type-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.booking-type-grid,.total-grid{grid-template-columns:1fr}.price-table{min-width:560px}.date-grid{grid-template-columns:1fr 1fr}.date-option{min-height:76px}.slot{min-height:44px}}
