:root{--navy:#071a2f;--navy2:#0d2948;--ink:#13202e;--paper:#f7f3e9;--ivory:#fffdf8;--red:#c72734;--blue:#1c63be;--gold:#b89b64;--sage:#dfe6dd;--muted:#6c706e;--line:#ded7c8;--shadow:0 24px 70px rgba(7,26,47,.12);--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}.shell{width:min(1240px,calc(100% - 40px));margin:auto}.kicker{margin:0 0 14px;font-size:.73rem;font-weight:900;letter-spacing:.19em;text-transform:uppercase;color:var(--red)}.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:690px;color:#384453}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:13px clamp(18px,4vw,58px);background:rgba(255,253,248,.94);border-bottom:1px solid rgba(7,26,47,.09);backdrop-filter:blur(16px)}.identity{display:flex;align-items:center;text-decoration:none}.identity img{width:106px;height:74px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:26px;font-size:.88rem;font-weight:800}.site-nav a{text-decoration:none;position:relative}.site-nav a:not(.book-link):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--navy);transition:.25s}.site-nav a:hover:after{right:0}.book-link{padding:10px 15px;border:1px solid var(--navy);border-radius:999px}.brand-strip{height:7px;background:linear-gradient(90deg,var(--red) 0 33.3%,#fff 33.3% 66.6%,var(--blue) 66.6%)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:600;line-height:.99;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(4.2rem,8.9vw,9rem);margin:.05em 0 .2em}h2{font-size:clamp(2.7rem,5.7vw,5.6rem);margin:.08em 0 .25em}h3{font-size:1.55rem;margin:.15em 0 .45em}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:900;border:0;border-radius:999px;padding:13px 19px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--navy);color:#fff;box-shadow:0 10px 30px rgba(7,26,47,.16)}.button.outline{background:transparent;border:1px solid var(--navy);color:var(--navy)}.button.light{background:#fff;color:var(--navy)}.button.wide{width:100%}.text-link{font-weight:800;text-decoration:none}.hero-editorial{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:760px;background:var(--ivory)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(58px,8vw,116px) clamp(28px,6vw,92px)}.hero-copy .intro{font-size:clamp(1.08rem,1.35vw,1.28rem);max-width:620px;color:#3b4652}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.hero-photo{position:relative;min-height:620px;overflow:hidden;background:#d7d1c4}.hero-photo picture,.hero-photo img{width:100%;height:100%}.hero-photo img{object-fit:cover;object-position:center 42%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,26,47,.3))}.hero-caption{position:absolute;z-index:2;left:28px;bottom:28px;right:28px;display:flex;justify-content:space-between;gap:16px;color:#fff;font-size:.85rem;font-weight:800}.trust-band{background:var(--navy);color:#fff}.trust-grid{width:min(1240px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:26px 24px;border-right:1px solid rgba(255,255,255,.15)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-family:Georgia,serif;font-size:1.25rem}.trust-item span{font-size:.84rem;color:#cad2dc}.section{padding:clamp(76px,9vw,130px) 0}.section-heading{max-width:860px}.section-heading.compact h2{font-size:clamp(2.5rem,4.5vw,4.6rem)}.editorial-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,6vw,90px);align-items:start}.editorial-copy{position:sticky;top:120px}.editorial-copy p{font-size:1.08rem;color:#48525d}.service-list{display:grid;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;padding:25px 4px;border-bottom:1px solid var(--line);text-decoration:none}.service-row .number{font-family:Georgia,serif;font-size:1.3rem;color:var(--red)}.service-row strong{font-family:Georgia,serif;font-size:1.7rem;color:var(--navy)}.service-row span:last-child{font-weight:900}.story-section{background:var(--navy);color:#fff}.story-section h2,.story-section h3{color:#fff}.story-grid{width:min(1240px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,88px);align-items:center}.story-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.story-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}.story-copy p{font-size:1.08rem;color:#d9e1e8}.care-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.care-point{padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.05);font-weight:800}.gallery-band{background:#ebe4d7}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.gallery-card{position:relative;overflow:hidden;border-radius:22px;background:#ccc}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-card.large{min-height:630px}.gallery-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}.gallery-card.small{min-height:305px}.quote-card{display:flex;flex-direction:column;justify-content:center;padding:36px;background:var(--ivory)}.quote-card blockquote{font-family:Georgia,serif;font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.08;color:var(--navy);margin:0 0 20px}.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.feature-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--ivory)}.feature-card p{color:#59636d}.facebook-section{background:#f2ede3}.facebook-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;align-items:start}.fb-shell{background:#fff;border-radius:22px;padding:14px;box-shadow:var(--shadow);min-height:520px}.fb-shell iframe{border:0;width:100%;min-height:500px}.visit-section{background:var(--ivory)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.facts{display:grid;gap:12px}.fact{padding:20px 0;border-bottom:1px solid var(--line)}.fact span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:900;margin-bottom:4px}.fact strong,.fact a{font-size:1.15rem;font-weight:850}.map-card{min-height:430px;border-radius:22px;background:linear-gradient(135deg,#d7dacd,#eff0e9);display:flex;align-items:flex-end;padding:30px;position:relative;overflow:hidden}.map-card:before{content:"14";position:absolute;font-family:Georgia,serif;font-size:15rem;line-height:1;color:rgba(7,26,47,.06);right:16px;top:-10px}.map-card-inner{position:relative;background:rgba(255,255,255,.9);padding:24px;border-radius:18px;max-width:360px}.site-footer{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:38px clamp(20px,5vw,70px);background:#061321;color:#fff}.site-footer div{display:flex;flex-direction:column}.site-footer a{color:#fff}.site-footer span{color:#b9c4ce;font-size:.88rem}.subhero{display:grid;grid-template-columns:1fr .72fr;background:var(--ivory);min-height:520px}.subhero-copy{padding:clamp(60px,8vw,110px) clamp(26px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.subhero h1{font-size:clamp(3.8rem,7vw,7rem)}.subhero-media{background-size:cover;background-position:center}.content-prose{max-width:820px}.content-prose p{font-size:1.08rem}.content-prose h2{font-size:clamp(2.4rem,4vw,4.2rem);margin-top:1.15em}.callout{padding:30px;border-radius:20px;background:var(--sage);margin:34px 0}.mini-nav{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.mini-nav a{text-decoration:none;font-weight:900;border-bottom:1px solid currentColor}.booking-test-page{background:#efe8dc}.compact-header{position:relative}.header-actions{display:flex;gap:14px}.booking-hero{display:grid;grid-template-columns:1.05fr .95fr;background:var(--ivory);min-height:520px}.booking-hero-copy{padding:clamp(58px,8vw,108px) clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.booking-hero-copy h1{font-size:clamp(3.8rem,7.2vw,7rem)}.booking-hero-photo{background:url('/andyandmarvins/assets/theo-haircut-salon-1080.webp') center 38%/cover no-repeat;min-height:500px}.booking-section{padding:70px 0 110px}.booking-layout{width:min(1180px,calc(100% - 36px));margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}.booking-form-card,.booking-aside{background:var(--ivory);border-radius:26px;padding:clamp(24px,4vw,46px);box-shadow:var(--shadow)}.field-grid{display:grid;gap:14px}.field-grid.two{grid-template-columns:1fr 1fr}.booking-form label{display:block;margin:18px 0;font-weight:800;color:var(--navy)}.booking-form label span{display:block;margin-bottom:7px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:14px 15px;border:1px solid #cfc7b8;border-radius:12px;background:#fff;color:var(--ink);outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(28,99,190,.12)}.check-row{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important}.check-row input{width:auto;margin-top:5px}.form-message{padding:16px 18px;border-radius:13px;margin:18px 0;font-weight:800}.form-message.success{background:#e7f4e9;color:#195b2b}.form-message.error{background:#fde8e8;color:#852026}.aside-logo{width:min(300px,80%);margin:0 auto 28px}.aside-block{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.steps{padding-left:22px}.steps li{margin:12px 0}.sensory-note{background:#eef3ed;padding:20px;border-radius:16px;border:0}.login-page{min-height:100vh;background:linear-gradient(135deg,#071a2f 0 58%,#9f2732 58% 78%,#1c63be 78%)}.login-wrap{width:min(1220px,calc(100% - 32px));margin:auto;padding:42px 0 70px}.login-head{color:#fff;margin-bottom:24px}.login-head h1{color:#fff;font-size:clamp(2.8rem,7vw,5.6rem)}.login-head a{color:#fff}.login-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px}.login-card{background:#fff;padding:28px;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.16)}.login-card label{display:block;font-weight:800;margin:14px 0}.login-card input,.login-card textarea,.login-card select{width:100%;padding:12px;border:1px solid #bbb;border-radius:9px;font:inherit;margin-top:5px}.login-card textarea{min-height:105px}.login-card button{border:0;background:var(--navy);color:#fff;font:inherit;font-weight:800;padding:12px 18px;border-radius:999px;cursor:pointer}.portal-note{padding:12px 14px;background:#f5efe7;border-left:4px solid var(--red);margin-bottom:16px;border-radius:8px}.portal-error{background:#fee;border-left-color:#b00}.portal-ok{background:#eef8ee;border-left-color:#287b36}.portal-calendar-card{margin-top:18px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.14)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.calendar-toolbar h2{font-size:2rem;margin:0}.calendar-toolbar a{text-decoration:none;font-weight:900}.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #ddd;border-top:1px solid #ddd}.calendar-dow,.calendar-day{min-height:110px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:9px}.calendar-dow{min-height:auto;background:#f2efe8;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.calendar-day.muted{background:#f7f7f7;color:#aaa}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--blue)}.day-number{display:block;font-weight:900;margin-bottom:7px}.calendar-booking{display:block;padding:6px 7px;margin:5px 0;border-radius:8px;background:#fff0c8;border-left:3px solid #c58c19;font-size:.73rem;line-height:1.2}.calendar-booking.confirmed{background:#daf0df;border-color:#2e8b47}.calendar-booking.declined,.calendar-booking.cancelled{background:#eee;color:#888;border-color:#aaa}.booking-inbox{margin-top:18px}.booking-row{display:grid;grid-template-columns:120px 1.3fr 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #ddd}.booking-row time{font-weight:900}.booking-row small{display:block;color:#666}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#fff0c8;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.status-pill.confirmed{background:#daf0df;color:#206333}.status-pill.declined,.status-pill.cancelled{background:#eee;color:#666}.booking-actions{display:flex;gap:6px;flex-wrap:wrap}.booking-actions form{display:inline}.booking-actions button{padding:7px 10px;border-radius:999px;border:1px solid #bbb;background:#fff;color:#222;font-size:.75rem;font-weight:900;cursor:pointer}@media(max-width:980px){.hero-editorial,.story-grid,.gallery-grid,.facebook-layout,.visit-grid,.subhero,.booking-hero,.booking-layout,.login-grid{grid-template-columns:1fr}.hero-photo{min-height:620px}.editorial-grid{grid-template-columns:1fr}.editorial-copy{position:static}.trust-grid{grid-template-columns:1fr 1fr}.gallery-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.booking-hero-photo{min-height:430px}.booking-row{grid-template-columns:100px 1fr}.booking-actions{grid-column:1/-1}.booking-calendar{font-size:.9rem}.calendar-day{min-height:95px}}@media(max-width:720px){.site-header{padding:10px 16px}.identity img{width:82px;height:58px}.site-nav{gap:12px}.site-nav a:not(.book-link){display:none}.hero-editorial{min-height:auto}.hero-copy{padding:55px 22px}.hero-photo{min-height:520px}.hero-caption{font-size:.72rem}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.story-grid{width:min(100% - 28px,1240px)}.care-points,.feature-cards,.field-grid.two{grid-template-columns:1fr}.gallery-stack{grid-template-columns:1fr}.gallery-card.large,.gallery-card.small{min-height:420px}.facebook-layout{gap:24px}.site-footer{display:block}.site-footer>div+div{margin-top:18px}.booking-calendar{grid-template-columns:repeat(7,minmax(62px,1fr));overflow-x:auto}.portal-calendar-card{overflow-x:auto}.calendar-day{min-height:90px;padding:6px}.calendar-booking{font-size:.66rem}.booking-row{grid-template-columns:1fr}.booking-actions{grid-column:auto}}