@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--display-font: "Barlow Condensed", Inter, ui-sans-serif, system-ui, sans-serif;--ink: #1f2928;--ink-soft: #5e6663;--paper: #e8e2d6;--paper-strong: #faf7ee;--line: #bfb7a7;--brass: #b84d45;--red: #b84d45;--blue: #263736;--green: #2f6d4a;--radius: 8px;--radius-sm: 6px;--shadow: 0 20px 50px rgba(24, 21, 18, .12);--shadow-soft: 0 10px 28px rgba(24, 21, 18, .08);--aged-edge: inset 0 0 0 1px rgba(31, 41, 40, .08), inset 0 0 28px rgba(89, 74, 54, .1), 8px 8px 0 rgba(31, 41, 40, .08)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:linear-gradient(180deg,#faf7eee0,#e8e2d6f5),repeating-linear-gradient(0deg,rgba(31,41,40,.035) 0 1px,transparent 1px 9px),var(--paper);color:var(--ink);overflow-x:hidden;position:relative}body:before,body:after{content:"";inset:0;pointer-events:none;position:fixed;z-index:15}body:before{background:radial-gradient(circle at 0 0,rgba(69,48,33,.3),transparent 24vw),radial-gradient(circle at 100% 0,rgba(69,48,33,.26),transparent 22vw),radial-gradient(circle at 0 100%,rgba(31,41,40,.18),transparent 24vw),radial-gradient(circle at 100% 100%,rgba(31,41,40,.16),transparent 24vw),linear-gradient(90deg,rgba(45,38,30,.18),transparent 9vw,transparent calc(100% - 9vw),rgba(45,38,30,.16)),linear-gradient(180deg,rgba(45,38,30,.22),transparent 12vh,transparent calc(100% - 8vh),rgba(45,38,30,.12));mix-blend-mode:multiply;opacity:.8}body:after{background:radial-gradient(circle at 8% 3%,rgba(97,76,53,.16) 0 1px,transparent 2px),radial-gradient(circle at 92% 7%,rgba(97,76,53,.13) 0 1px,transparent 2px),radial-gradient(circle at 5% 88%,rgba(31,41,40,.1) 0 1px,transparent 2px),radial-gradient(circle at 96% 86%,rgba(31,41,40,.1) 0 1px,transparent 2px);background-size:160px 150px,180px 170px,140px 150px,190px 180px;box-shadow:inset 0 0 90px #1f292824;opacity:.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.site-header{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#222a29f0;border-bottom:4px solid var(--paper-strong);box-shadow:0 5px 0 var(--red);color:var(--paper-strong);display:flex;gap:24px;justify-content:space-between;left:0;padding:14px clamp(18px,4vw,54px);position:sticky;right:0;top:0;z-index:30}.brand-mark{align-items:center;display:flex;gap:12px;min-width:0}.brand-mark strong,.brand-mark small{display:block;line-height:1.1}.brand-mark strong{font-family:var(--display-font);font-size:1.34rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase}.brand-mark small{color:#d5cfc2;font-size:.76rem;font-weight:800;margin-top:3px}.brand-logo{border:2px solid #d4cec0;border-radius:var(--radius-sm);height:48px;object-fit:cover;width:48px}.brand-logo-mobile{background-image:url(/instagram/marcellsway-banner.jpg);background-position:42% 50%;background-size:auto 180%;display:none;flex:0 0 48px}.admin-logo{border:3px solid #d4cec0;border-radius:var(--radius);height:92px;object-fit:cover;width:92px}.nav-links{align-items:center;display:flex;gap:20px}.nav-links a{color:#eee6d8;font-size:.92rem;font-weight:800;padding:8px 2px}.icon-button.nav-toggle{display:none}.hero{background-image:linear-gradient(90deg,#161a19d6,#161a196b),url(/instagram/marcellsway-banner.jpg);background-position:center 50%;background-size:cover,cover;color:var(--paper-strong);min-height:min(78vh,720px);padding:clamp(80px,13vw,150px) clamp(20px,7vw,94px) clamp(70px,9vw,120px)}.hero-content{max-width:760px}.hero h1,.booking-copy h1,.admin-layout h1{font-family:var(--display-font);font-size:clamp(3.35rem,9.5vw,7.2rem);font-weight:700;letter-spacing:.015em;line-height:.9;margin:14px 0 20px;text-shadow:0 3px 0 rgba(0,0,0,.18);text-transform:uppercase}.hero h1{max-width:none;white-space:nowrap}.booking-copy h1,.admin-layout h1{max-width:10ch}.hero p{color:#eadfce;font-size:clamp(1.1rem,2.5vw,1.55rem);line-height:1.45;max-width:620px}.hero-actions,.contact-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.contact-strip{margin-top:18px}.button{align-items:center;border:1px solid var(--ink);border-radius:2px;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 18px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.button:hover,.icon-button:hover,.date-button:hover,.slot-button:hover{transform:translateY(-1px)}.button.primary{background:var(--brass);border-color:var(--brass);box-shadow:0 10px 22px #ad4d4938;color:var(--paper-strong)}.button.ghost{background:transparent}.button.danger{background:#fff1ef;border-color:#d88980;color:var(--red)}.button.ghost.light{border-color:#fbf7ecad;color:var(--paper-strong)}.button.small{min-height:36px;padding-inline:12px}.icon-button{align-items:center;background:transparent;border:1px solid rgba(24,21,18,.25);border-radius:2px;color:inherit;display:inline-flex;height:38px;justify-content:center;width:38px}.icon-button.danger{color:var(--red)}.eyebrow{align-items:center;color:var(--blue);display:inline-flex;font-size:.76rem;font-weight:900;gap:8px;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{color:#f4dfdc}.section{padding:clamp(48px,7vw,88px) clamp(18px,5vw,72px)}.intro-section{align-items:start;display:grid;gap:clamp(22px,4vw,42px);grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr)}.intro-section h2,.section-heading h2,.booking-heading h2,.admin-panel h2{font-family:var(--display-font);font-size:clamp(2rem,4.2vw,3.45rem);font-weight:700;letter-spacing:.015em;line-height:.98;margin:10px 0 14px;text-transform:uppercase}.intro-section h2:after,.section-heading h2:after,.booking-heading h2:after,.admin-panel h2:after{background:linear-gradient(90deg,var(--ink) 0 52%,transparent 52% 58%,var(--red) 58% 100%);content:"";display:block;height:4px;margin-top:12px;width:132px}.intro-section h2.storefront-subtitle{color:var(--red);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.05}.intro-section p,.section-heading p,.booking-heading p,.booking-copy p{color:var(--ink-soft);font-size:1.05rem;line-height:1.6;max-width:660px}.contact-strip a{align-items:center;background:#fffaf29e;border:1px solid var(--line);border-radius:2px;color:var(--ink);display:inline-flex;gap:8px;padding:9px 12px}.hours-list{background:var(--ink);border-top:4px solid var(--red);border-radius:2px;box-shadow:var(--aged-edge);color:var(--paper-strong);padding:22px;position:relative}.hours-list div{align-items:center;border-bottom:1px solid rgba(245,239,230,.16);display:flex;gap:18px;justify-content:space-between;padding:10px 0}.hours-list div:last-child{border-bottom:0}.hours-list span{color:#cfc3b1}.location-stack{display:grid;gap:16px;grid-template-columns:minmax(250px,.82fr) minmax(280px,1.18fr)}.mobile-location-footer{display:none}.map-embed{background:var(--ink);border:1px solid var(--line);border-radius:2px;box-shadow:var(--aged-edge);overflow:hidden;min-height:100%;position:relative}.map-embed iframe{border:0;height:100%;width:100%}.booking-band{background:linear-gradient(180deg,#fffdf6f5,#e8e2d7f0),var(--paper-strong);padding:clamp(42px,6vw,72px) clamp(18px,5vw,72px)}.booking-shell{background:var(--paper-strong);border:1px solid var(--line);border-top:6px solid var(--ink);border-radius:2px;box-shadow:var(--aged-edge);margin-inline:auto;max-width:980px;padding:clamp(18px,4vw,36px);position:relative}.booking-shell.compact{box-shadow:var(--aged-edge)}.booking-shell>*{position:relative;z-index:2}.booking-grid{display:grid;gap:22px}fieldset{border:0;margin:0;padding:0}legend{font-weight:900;margin-bottom:12px}.service-list{display:grid;gap:10px}.service-option{align-items:center;background:#fffdf8;border:1px solid var(--line);border-radius:2px;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:14px}.service-option input{accent-color:var(--brass)}.service-option small{color:var(--ink-soft);display:block}.service-option.is-selected,.date-button.is-selected,.slot-button.is-selected{background:#fff4ef;border-color:var(--brass);box-shadow:inset 0 0 0 2px #ad4d496b}.date-row,.slot-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.date-button,.slot-button{background:#fff;border:1px solid var(--line);border-radius:2px;color:var(--ink);min-height:58px;padding:8px}.date-button span,.date-button small{color:var(--ink-soft);display:block;font-size:.78rem}.date-button:disabled{background:#ece2d4;color:#8f8373;cursor:not-allowed}.contact-fields{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}label{color:var(--ink-soft);display:grid;font-size:.86rem;font-weight:800;gap:7px}input,textarea,select{background:#fff;border:1px solid var(--line);border-radius:2px;box-sizing:border-box;color:var(--ink);min-height:42px;min-width:0;padding:10px 11px;width:100%}input[type=checkbox],input[type=radio]{min-height:auto;padding:0;width:auto}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(173,77,73,.3);outline-offset:2px}textarea{resize:vertical}.contact-fields label:last-child{grid-column:1 / -1}.booking-honeytrap{height:1px;left:-10000px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:1px}.turnstile-field{align-items:start;display:grid;gap:8px;justify-items:start;max-width:100%;overflow:hidden}.turnstile-field span{color:var(--ink-soft);font-size:.86rem;font-weight:800}.form-message,.status-panel.error{background:#fff1ef;border:1px solid #e0a19a;border-radius:2px;color:#7a221e;padding:12px 14px}.success-message{background:#eef8f1;border:1px solid #acd7bb;border-radius:2px;color:var(--green);padding:12px 14px}.pending-message{background:#fff8e8;border:1px solid #dfc27a;border-radius:2px;color:#6b4a12;font-weight:800;margin:14px 0;padding:12px 14px}.status-panel{margin:20px auto;max-width:980px;padding:18px}.confirmation{align-items:start;display:grid;gap:10px;justify-items:start}.confirmation svg{color:var(--green)}.booking-cache-note{border-top:1px solid var(--line);font-size:.9rem;margin-top:4px;padding-top:10px}.muted{color:var(--ink-soft)}.gallery-carousel-section{background:var(--paper);overflow:hidden;padding:clamp(28px,5vw,62px) 0}.gallery-carousel{margin-inline:auto;max-width:1380px;overflow:hidden;padding:0 clamp(34px,5vw,62px) 34px;position:relative}.gallery-stage{height:clamp(330px,48vw,610px);position:relative}.gallery-stage:before,.gallery-stage:after{content:"";height:100%;pointer-events:none;position:absolute;top:0;width:18%;z-index:4}.gallery-stage:before{background:linear-gradient(90deg,var(--paper),transparent);left:0}.gallery-stage:after{background:linear-gradient(270deg,var(--paper),transparent);right:0}.gallery-card{aspect-ratio:1;background:var(--ink);border:4px solid var(--paper-strong);border-radius:2px;box-shadow:0 18px 46px #1815123d;color:var(--paper);display:block;left:50%;overflow:hidden;position:absolute;top:50%;transition:opacity .7s ease,transform .7s ease,filter .7s ease;width:clamp(290px,43vw,560px)}.gallery-card.is-active{filter:none;opacity:1;transform:translate(-50%,-50%) scale(1.04);z-index:3}.gallery-card.is-prev{filter:saturate(.78) brightness(.72);opacity:.42;transform:translate(-106%,-50%) scale(.78);z-index:1}.gallery-card.is-next{filter:saturate(.78) brightness(.72);opacity:.42;transform:translate(6%,-50%) scale(.78);z-index:1}.gallery-card img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.gallery-arrow{align-items:center;background:var(--ink);border:1px solid rgba(245,239,230,.28);border-radius:2px;color:var(--paper-strong);display:flex;height:46px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:46px;z-index:8}.gallery-arrow-left{left:6px}.gallery-arrow-right{right:6px}.gallery-dots{bottom:0;display:flex;gap:9px;justify-content:center;left:0;position:absolute;right:0}.gallery-dots button{background:#18151247;border:0;border-radius:999px;height:10px;padding:0;width:10px}.gallery-dots button.is-active{background:var(--ink);width:24px}.reviews-band{background:var(--ink);border-top:5px solid var(--red);color:var(--paper-strong)}.reviews-band .eyebrow,.reviews-band .section-heading p{color:#e4c4bf}.review-carousel{margin-top:24px;overflow:hidden;position:relative}.review-carousel:before,.review-carousel:after{content:"";height:100%;pointer-events:none;position:absolute;top:0;width:clamp(34px,10vw,140px);z-index:2}.review-carousel:before{background:linear-gradient(90deg,var(--ink),transparent);left:0}.review-carousel:after{background:linear-gradient(270deg,var(--ink),transparent);right:0}.review-track{animation:review-scroll 38s linear infinite;display:flex;gap:16px;width:max-content}.review-carousel:hover .review-track{animation-play-state:paused}@keyframes review-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 8px))}}.review-card{background:#2a3332;border:1px solid rgba(245,239,230,.14);border-radius:2px;flex:0 0 clamp(280px,31vw,390px);padding:22px;position:relative}.review-card>*{position:relative;z-index:2}.review-card p{color:#f4eadb;line-height:1.55}.review-card footer{display:grid;gap:8px}.review-card a{align-items:center;color:#e4c4bf;display:inline-flex;gap:5px;width:fit-content}.stars{color:var(--brass)}.booking-page{min-height:100vh}.booking-only-layout{align-items:start;display:grid;gap:clamp(24px,5vw,56px);grid-template-columns:minmax(280px,420px) minmax(0,1fr);padding:clamp(26px,6vw,76px)}.booking-copy h1{font-size:clamp(2.4rem,6vw,5.2rem);max-width:12ch}.booking-copy .hours-list{margin-top:24px}.admin-login{align-items:center;display:grid;min-height:100vh;padding:20px}.admin-login-form{background:var(--paper-strong);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow);display:grid;gap:16px;margin-inline:auto;max-width:430px;padding:28px;width:100%}.admin-login h1{font-family:var(--display-font);font-size:2.7rem;font-weight:700;letter-spacing:.015em;margin:0;text-transform:uppercase}.admin-layout{margin-inline:auto;max-width:1180px;padding:clamp(22px,5vw,56px)}.admin-topbar,.panel-heading{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-layout h1{font-size:clamp(2rem,5vw,4rem);margin-bottom:0}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.admin-tabs button{background:var(--paper-strong);border:1px solid var(--line);border-radius:2px;color:var(--ink-soft);font-weight:900;min-height:42px;padding:0 14px}.admin-tabs button.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper-strong)}.admin-panel{background:var(--paper-strong);border:1px solid var(--line);border-top:5px solid var(--ink);border-radius:2px;box-shadow:var(--aged-edge);margin-top:22px;padding:clamp(16px,3vw,26px);position:relative}.admin-panel>*{position:relative;z-index:2}.admin-panel h2{font-size:clamp(1.3rem,2.5vw,2rem);margin-top:0}.admin-grid{display:grid;gap:14px}.admin-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1 / -1}.admin-list,.editable-card-grid,.hours-editor,.booking-table{display:grid;gap:12px}.admin-row,.hours-row,.booking-table-row{align-items:end;background:#fffdf8;border:1px solid var(--line);border-radius:2px;display:grid;gap:12px;padding:12px}.service-row{grid-template-columns:minmax(160px,1fr) 110px 110px auto auto}.toggle{align-items:center;display:flex;gap:8px;min-height:42px;min-width:0}.toggle input{accent-color:var(--brass);flex:0 0 auto;height:16px;min-height:auto;padding:0;width:16px}.hours-row{grid-template-columns:1fr auto 140px 140px}.unavailable-row{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) 110px 110px minmax(80px,auto) 42px}.editable-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editable-card{border:1px solid var(--line);border-radius:2px;background:#fffdf8;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.editable-card>:not(.toggle):not(.icon-button){grid-column:1 / -1}.editable-card>.toggle{grid-column:1;min-width:0}.editable-card .icon-button{align-self:center;grid-column:2;justify-self:end}.gallery-admin-preview{align-items:center;aspect-ratio:1.35;background:#ece2d4;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft);display:flex;font-weight:900;justify-content:center;overflow:hidden}.gallery-admin-preview img{height:100%;object-fit:cover;width:100%}.calendar-window{color:var(--ink-soft);font-size:.86rem;font-weight:900}.admin-helper-text{font-size:.88rem;margin:-4px 0 0}.booking-reference{font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.04em}.booking-search{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(220px,1fr) auto auto;margin:16px 0 18px}.booking-search .button{min-height:42px}.booking-view-tabs{background:#f3eadc;border:1px solid var(--line);border-radius:2px;display:grid;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;padding:4px}.booking-view-tabs button{background:transparent;border:0;border-radius:2px;color:var(--ink-soft);font-size:.86rem;font-weight:900;min-height:40px;padding:8px 10px}.booking-view-tabs button.is-active{background:var(--ink);color:var(--paper-strong)}.booking-day-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.booking-day-card{background:#fffaf2;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:2px;box-shadow:var(--aged-edge);display:grid;gap:12px;padding:14px;position:relative}.booking-day-card>*{position:relative;z-index:2}.booking-day-card header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:10px}.booking-day-card header span{font-size:1.05rem;font-weight:900}.booking-day-card header strong{background:#f3eadc;border-radius:2px;color:var(--ink-soft);font-size:.78rem;padding:7px 9px;text-transform:uppercase}.booking-card-list{display:grid;gap:9px;max-height:520px;overflow:auto;padding-right:3px}.booking-card{align-items:center;background:#f5efe6;border:1px solid #e1d3c2;border-radius:2px;display:grid;gap:10px;grid-template-columns:56px 1fr auto;padding:10px}.booking-card-actions{display:flex;gap:6px}.booking-card time{background:var(--ink);border-radius:2px;color:var(--paper-strong);font-size:.82rem;font-weight:900;padding:8px 6px;text-align:center}.booking-card small{color:var(--ink-soft);display:block;margin-top:2px}.booking-status{display:inline-block;font-weight:900;text-transform:capitalize}.log-controls{align-items:end;display:grid;gap:10px;grid-template-columns:150px minmax(190px,1fr) minmax(170px,.8fr) minmax(170px,.8fr) auto auto;margin:16px 0}.log-summary{align-items:center;background:#f3eadc;border:1px solid var(--line);color:var(--ink-soft);display:inline-flex;font-size:.9rem;gap:8px;margin-bottom:14px;padding:8px 10px}.log-summary strong{color:var(--ink);font-size:1rem}.log-list{display:grid;gap:10px;max-height:680px;overflow:auto;padding-right:4px}.log-card{background:#fffdf8;border:1px solid var(--line);border-left:5px solid var(--ink);border-radius:2px;display:grid;gap:10px;padding:12px}.log-card.is-error{border-left-color:var(--red)}.log-card.is-warn{border-left-color:#b9812e}.log-card header{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.log-card header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-card time{color:var(--ink-soft);font-size:.82rem;font-weight:800;white-space:nowrap}.log-level{background:var(--ink);border-radius:2px;color:var(--paper-strong);font-size:.72rem;font-weight:900;padding:5px 7px;text-transform:uppercase}.log-card.is-error .log-level{background:var(--red)}.log-card.is-warn .log-level{background:#b9812e}.log-card dl{display:grid;gap:7px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:0}.log-card dl div{background:#f5efe6;border:1px solid #e1d3c2;border-radius:2px;min-width:0;padding:7px 8px}.log-card dt{color:var(--ink-soft);font-size:.72rem;font-weight:900;text-transform:uppercase}.log-card dd{font-family:Consolas,Liberation Mono,monospace;font-size:.82rem;margin:3px 0 0;overflow-wrap:anywhere}.log-card details{border-top:1px solid var(--line);padding-top:8px}.log-card summary{color:var(--ink-soft);cursor:pointer;font-size:.8rem;font-weight:900}.log-card pre{background:#1f2928;color:#f5efe6;font-size:.76rem;margin:8px 0 0;max-height:240px;overflow:auto;padding:10px;white-space:pre-wrap}.booking-status.is-cancelled{color:var(--red)}.booking-status.is-completed{color:var(--green)}.modal-backdrop{align-items:center;background:#18151285;display:grid;inset:0;padding:18px;position:fixed;z-index:80}.admin-modal{background:var(--paper-strong);border:1px solid var(--line);border-top:5px solid var(--red);border-radius:2px;box-shadow:0 24px 70px #18151247;display:grid;gap:16px;margin-inline:auto;max-height:calc(100vh - 36px);max-width:560px;overflow:auto;padding:20px;width:min(100%,560px)}.admin-modal header,.modal-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.admin-modal h2{font-family:var(--display-font);font-size:1.8rem;letter-spacing:.015em;margin:0;text-transform:uppercase}.admin-modal p{margin:0}.reschedule-form,.reschedule-summary{display:grid;gap:12px}.reschedule-summary{background:#fffaf2;border:1px solid var(--line);border-radius:2px;color:var(--ink-soft);padding:12px}.reschedule-summary strong{color:var(--ink)}.conflict-list{display:grid;gap:9px;max-height:320px;overflow:auto;padding-right:4px}.conflict-item{background:#fffaf2;border:1px solid var(--line);border-radius:2px;display:grid;gap:3px;padding:10px}.conflict-item span,.conflict-item small{color:var(--ink-soft)}.field-label{color:var(--ink-soft);display:block;font-size:.86rem;font-weight:800;margin-bottom:7px}.reschedule-time-panel{background:#fffdf8;border:1px solid var(--line);border-radius:2px;padding:12px}.reschedule-slots{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));max-height:260px;overflow:auto;padding-right:4px}.reschedule-slots .slot-button{min-height:44px}@media(max-width:860px){.intro-section,.booking-only-layout,.location-stack{grid-template-columns:1fr}.map-embed{aspect-ratio:4 / 3;min-height:0}.editable-card-grid,.contact-fields,.admin-grid.two{grid-template-columns:1fr}.service-row,.hours-row,.unavailable-row,.booking-table-row{align-items:stretch;grid-template-columns:1fr}}@media(min-width:561px)and (max-width:1024px){.hero{background-position:center,center 45%;background-size:cover,180% auto}}@media(max-width:560px){body{background:radial-gradient(circle at 0 16%,rgba(69,48,33,.18),transparent 42vw),radial-gradient(circle at 100% 18%,rgba(69,48,33,.16),transparent 40vw),radial-gradient(circle at 0 92%,rgba(31,41,40,.1),transparent 42vw),radial-gradient(circle at 100% 92%,rgba(31,41,40,.1),transparent 42vw),linear-gradient(90deg,rgba(45,38,30,.1),transparent 14vw,transparent calc(100% - 14vw),rgba(45,38,30,.1)),linear-gradient(180deg,#faf7eee6,#e8e2d6f5),repeating-linear-gradient(0deg,rgba(31,41,40,.035) 0 1px,transparent 1px 9px),var(--paper)}body:before,body:after{display:none}.icon-button.nav-toggle{border-color:#f5efe652;display:inline-flex}.nav-links{background:var(--ink);border-top:1px solid rgba(245,239,230,.16);display:none;left:0;padding:16px 20px;position:absolute;right:0;top:70px}.nav-links.is-open{display:grid}.site-header{padding-inline:14px}.brand-mark strong{font-size:.95rem}.brand-mark small{font-size:.72rem}.brand-logo-default{display:none}.brand-logo-mobile{display:block}.hero{background-image:linear-gradient(90deg,#161a19d6,#161a196b),url(/brand/marcellsway-logo.jpg);background-position:center,center 34%;background-size:cover,cover;min-height:540px}.hero h1,.booking-copy h1{font-size:3rem}.hero h1{white-space:normal}.intro-section{display:flex;flex-direction:column}.intro-section>div:first-child{order:1}.intro-section .booking-shell{order:2}.intro-section .location-stack{display:none}.mobile-location-footer{display:block;padding-top:28px}.booking-page .site-header{position:static}.booking-only-layout{display:flex;flex-direction:column;min-height:calc(100vh - 80px);padding:0}.booking-copy{display:none}.booking-only-layout .booking-shell{background:linear-gradient(180deg,#faf7eefa,#e8e2d6fa),var(--paper);border:0;border-radius:0;box-shadow:none;margin:0;max-width:none;min-height:calc(100vh - 80px);order:1;padding:18px 16px 104px}.booking-heading{margin-bottom:18px}.booking-heading h2{font-size:2.25rem;line-height:.95;margin:8px 0 6px}.booking-heading p{font-size:.95rem;line-height:1.35}.booking-grid{gap:18px}legend{font-size:.92rem;margin-bottom:9px}.service-option{grid-template-columns:1fr auto;min-height:64px;padding:12px 13px}.service-option input{display:none}.date-button,.slot-button{min-height:52px}.date-row,.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-fields{grid-template-columns:1fr}.booking-only-layout .booking-grid>.button.primary{border-radius:0;bottom:0;box-shadow:0 -10px 24px #1f292824;left:0;min-height:62px;position:fixed;right:0;width:100%;z-index:40}.confirmation{min-height:calc(100vh - 184px);place-content:center}.admin-layout{min-height:calc(100vh - 75px);padding:0}.admin-layout form{min-height:0}.admin-topbar{align-items:flex-start;background:var(--paper);border-bottom:1px solid var(--line);display:grid;gap:12px;padding:16px;position:sticky;top:0;z-index:25}.admin-layout h1{font-size:2.25rem;margin:6px 0 0;max-width:none}.admin-topbar .button{min-height:42px;width:100%}.admin-tabs{background:var(--paper);border-bottom:1px solid var(--line);display:flex;flex-wrap:nowrap;gap:8px;margin:0;overflow-x:auto;padding:10px 16px;position:sticky;scrollbar-width:none;top:116px;z-index:24}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{flex:0 0 auto;min-height:38px;padding:0 12px;white-space:nowrap}.admin-panel{border-left:0;border-radius:0;border-right:0;box-shadow:none;margin-top:0;min-height:calc(100vh - 176px);padding:18px 16px 96px}.admin-panel h2{font-size:1.8rem}.panel-heading{align-items:flex-start;display:grid;gap:10px}.panel-heading .button{width:100%}.admin-grid,.admin-list,.editable-card-grid,.hours-editor,.booking-table,.booking-day-grid{gap:10px}.admin-row,.hours-row,.booking-table-row,.editable-card,.booking-day-card{padding:11px}.service-row,.hours-row,.unavailable-row,.booking-table-row{align-items:stretch;grid-template-columns:1fr}.hours-row{gap:10px}.toggle{justify-content:space-between}.gallery-admin-preview{aspect-ratio:16 / 10}.booking-day-grid{grid-template-columns:1fr}.booking-day-card{box-shadow:none}.booking-day-card header{align-items:flex-start;display:grid;gap:8px}.booking-card-list{max-height:min(42vh,360px);overflow:auto;padding-right:3px;-webkit-overflow-scrolling:touch}.booking-card{align-items:start;grid-template-columns:52px 1fr auto}.booking-card time{font-size:.78rem}.booking-card-actions{display:grid}.admin-modal{max-height:calc(100vh - 24px);padding:16px}.reschedule-time-panel{padding:10px}.reschedule-slots{grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(36vh,230px)}.admin-modal header,.modal-actions{align-items:stretch;display:grid}.booking-search,.log-controls{grid-template-columns:1fr;margin:14px 0}.log-controls .button,.log-controls>.button.primary{border-radius:2px;bottom:auto;box-shadow:none;left:auto;min-height:44px;position:static;right:auto;width:100%;z-index:auto}.booking-view-tabs{grid-template-columns:1fr}.log-list{max-height:min(58vh,560px)}.log-card header{align-items:start;grid-template-columns:auto minmax(0,1fr)}.log-card time{grid-column:1 / -1}.booking-search .button,.booking-search>.button.primary{border-radius:2px;bottom:auto;box-shadow:none;left:auto;min-height:44px;position:static;right:auto;width:100%;z-index:auto}.success-message,.form-message{margin:12px 16px}.admin-layout form:not(.booking-search)>.button.primary{border-radius:0;bottom:0;box-shadow:0 -10px 24px #1f292824;left:0;min-height:58px;position:fixed;right:0;width:100%;z-index:45}.gallery-carousel{padding-inline:34px}.gallery-stage{height:330px}.gallery-card{width:min(70vw,280px)}.gallery-card.is-prev{transform:translate(-112%,-50%) scale(.72)}.gallery-card.is-next{transform:translate(12%,-50%) scale(.72)}.gallery-arrow{height:38px;width:38px}}
