:root{--navy:#233d5d;--red:#a62f3a;--muted:#64748b;--line:#dfe5ec;--soft:#f3f5f8}*{box-sizing:border-box}body{margin:0;color:var(--navy);font-family:system-ui,-apple-system,sans-serif;line-height:1.85}a{color:inherit}header{display:flex;align-items:center;gap:28px;padding:12px max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fff}header img{display:block;object-fit:contain}nav{display:flex;gap:18px;flex:1;flex-wrap:wrap}nav a{text-decoration:none;font-size:13px;white-space:nowrap}h1{font-size:clamp(30px,4.5vw,52px);line-height:1.4;letter-spacing:.02em}h2{line-height:1.5;font-size:25px;margin-top:30px}h3{font-size:19px}p{max-width:760px}.lead{font-size:19px;color:var(--muted)}.wrap{max-width:1160px;margin:auto;padding:55px 24px}.narrow{max-width:900px}.preview{font-size:11px;letter-spacing:.08em;padding:7px 24px;background:var(--soft);text-align:center}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--red);font-weight:700}.button{display:inline-block;background:var(--red);color:#fff;padding:11px 18px;border-radius:4px;text-decoration:none;font-weight:650;font-size:13px;white-space:nowrap}button{font:inherit;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tile{display:block;padding:26px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fff}.tile p{color:var(--muted);font-size:14px}.soft{background:var(--soft)}footer{padding:45px max(24px,calc((100vw - 1112px)/2));background:var(--navy);color:#fff;display:flex;gap:50px;flex-wrap:wrap}footer a{display:inline-block;margin:0 16px 10px 0;font-size:13px}footer small{width:100%;color:#c6d1dd}details{border-bottom:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-weight:650}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 8px;overflow-wrap:anywhere}th{background:var(--soft)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar>div,.calendar>strong{padding:10px 3px;text-align:center;font-size:12px;min-width:0}.calendar>div{background:#f1f5f8;min-height:64px;border-radius:5px}.calendar .closed{background:#fae9e9;color:#8e3038}.calendar .uncertain{background:#fff5dc;color:#735720}.calendar small{display:block;font-size:10px}.month-nav{display:flex;justify-content:space-between;align-items:center}.month-nav button{background:#fff;border:1px solid var(--line);padding:6px 15px;border-radius:5px}.month-nav h2{margin:18px 0}.empty{padding:22px;background:var(--soft);color:var(--muted)}.content-photo{max-width:100%;max-height:330px;object-fit:contain}.product-hero{background:#233d5d;color:#fff;overflow:hidden}.slide-track{display:flex;transition:transform .4s}.product-slide{min-width:100%;padding:58px 0}.slide-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;max-width:1160px;margin:auto;padding:0 24px}.product-slide h1{margin:10px 0}.product-slide p{color:#d8e3ef}.product-visual{height:370px;background:#f3f5f8;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--navy)}.product-visual img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.sheet span{font-size:85px;font-weight:900;background:#fff;padding:20px 40px;box-shadow:10px 12px #cad4df;transform:rotate(-6deg)}.sheet small{margin-top:25px}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;padding:12px 20px;text-decoration:none;border:1px solid #b8c7d8;border-radius:4px;font-size:13px}.btn.red{background:var(--red);border-color:var(--red)}.slider-controls{display:flex;gap:20px;align-items:center;justify-content:center;padding-bottom:24px}.slider-controls button{border:1px solid #a0b4cb;border-radius:50%;color:#fff;background:transparent;width:36px;height:36px}.slider-dots{display:flex;gap:9px}.slider-dots button{width:9px;height:9px;padding:0;background:#7d91aa}.slider-dots [aria-current=true]{background:#fff}:focus-visible{outline:3px solid #b75b69;outline-offset:3px}.social a{display:inline-block;margin-right:18px}#productDetail{scroll-margin-top:20px}.detail-swatches{display:flex;flex-wrap:wrap;gap:7px}.detail-swatches span{font-size:11px;border:1px solid var(--line);padding:3px 7px}@media(max-width:760px){header{padding:12px 18px;gap:12px;flex-wrap:wrap}header img{width:95px;height:46px}header nav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;gap:20px}header>.button{margin-left:auto}.cards{grid-template-columns:1fr}.wrap{padding:35px 18px}.slide-inner{grid-template-columns:1fr;gap:24px}.product-slide{padding:32px 0}.product-visual{height:240px}.calendar>div{min-height:56px;padding:6px 2px}.calendar small{font-size:9px}.calendar{gap:3px}td,th{padding:8px 5px;font-size:12px}}@media(prefers-reduced-motion:reduce){.slide-track{transition:none}}

.calendar small{overflow-wrap:anywhere}
/* Fixed-height compact hero, including the five-slide controls. */
.product-slide{padding:24px 0}.product-visual{height:260px}.slide-inner{gap:28px}.product-slide h1{font-size:36px}.product-slide p{font-size:14px}.product-hero .eyebrow{font-size:10px}.product-hero .btn{padding:8px 12px;min-height:44px;display:inline-flex;align-items:center}.latest{padding-block:26px}.latest article{padding:10px 0;border-bottom:1px solid var(--line)}.latest article h3{font-size:16px;margin:3px 0}.latest article time,.news-kind{font-size:11px;color:var(--muted)}.latest article p{margin:4px 0;font-size:13px}.top-calendar{max-width:760px;padding-block:24px}.top-calendar>p{font-size:13px}.calendar>button{border:0;border-radius:5px;padding:8px 2px;color:var(--navy);font-size:12px;background:#f1f5f8;min-width:0;min-height:52px}.calendar>button.closed{background:#fae9e9;color:#8e3038}.calendar>button.uncertain{background:#fff5dc;color:#735720}.calendar button small{display:block;font-size:10px;overflow-wrap:anywhere}#calendarSelection{padding:12px 0;font-size:13px}#visitForm{display:grid;gap:16px;max-width:650px}#visitForm label{display:grid;gap:5px;font-size:14px}#visitForm input,#visitForm textarea,#visitForm select{max-width:100%;width:100%;padding:11px;border:1px solid var(--line);border-radius:4px;font:inherit;min-width:0}#visitForm .check{display:flex;align-items:center;flex-wrap:wrap}#visitForm input[type=checkbox]{width:auto}#visitSubmit,#newsMore{padding:10px 16px;background:var(--red);border:0;border-radius:4px;color:#fff}#visitSubmit:disabled{background:#7f8790}header nav{gap:13px}header{gap:18px}@media(max-width:760px){header{padding:8px 14px;gap:8px}header nav{gap:14px;font-size:12px}.product-slide{height:326px;padding:14px 0}.product-hero .slide-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;padding:0 16px;height:296px}.product-slide h1{font-size:24px;line-height:1.4;overflow-wrap:anywhere}.product-slide p{font-size:12px;line-height:1.65}.product-visual{height:210px;padding:8px}.actions{gap:7px}.product-hero .btn{font-size:11px;padding:6px 8px}.product-hero .eyebrow{letter-spacing:0;font-size:9px}.slider-controls{height:48px;padding:0 0 10px}.sheet span{font-size:30px;padding:12px}.sheet small{font-size:9px;text-align:center}.top-calendar{padding-inline:16px}.latest{padding-top:18px}}

#visitForm[hidden]{display:none}

.requested-item{border:1px solid var(--line);padding:14px;border-radius:5px;margin:12px 0;display:grid;gap:10px}.requested-item p{font-size:13px}.requested-item button,#addRequestedItem{min-height:44px}#servicePreparation{min-width:0;border:1px solid var(--line)}#visitTerms p{white-space:pre-line}.offer-line{border-bottom:1px solid var(--line);padding:10px 0}.offer-total{font-weight:700;font-size:22px}.purchase-consent label{display:flex;gap:10px;align-items:flex-start}.purchase-consent input{width:22px;height:22px;flex-shrink:0}.purchase-consent button{min-height:44px}#visitForm fieldset[hidden]{display:none}

.terms-copy{white-space:pre-line;overflow-wrap:anywhere}
.reservation-menu,.reservation-month{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}.reservation-menu button{flex:1}.reservation-menu [aria-pressed=true],.reservation-times [aria-pressed=true]{background:#172b45;color:#fff;border:2px solid #172b45}.reservation-month h2{margin:0;font-size:21px}.reservation-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0}.reservation-days>span{text-align:center}.reservation-days button{padding:10px 2px;min-height:55px;font-size:14px}.reservation-days [aria-pressed=true]{outline:2px solid #172b45}.reservation-days button:disabled{background:#f1f3f6;color:#6a7480}.reservation-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}#reservationCalendar button{min-height:48px;border-radius:7px;border:1px solid #b5c0cb;cursor:pointer}#reservationPrices{padding:20px 0;border-bottom:1px solid #dce2e9}#customerInformation{scroll-margin-top:20px}@media(max-width:600px){.reservation-days{gap:3px}.reservation-days button{font-size:12px}.reservation-times{grid-template-columns:repeat(2,minmax(0,1fr))}}

#reservationPrices .price-formula{font-size:15px;color:#536273;margin:8px 0 18px}.price-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-highlight{padding:18px 16px;background:#f1f4f8;border-radius:10px;line-height:1.5}.price-highlight span{display:block;font-size:15px;font-weight:600}.price-highlight strong{font-size:30px;letter-spacing:-.02em;white-space:nowrap}.price-highlight small{font-size:15px;white-space:nowrap}.price-highlight:last-child{grid-column:1/-1;padding:12px 16px;display:flex;align-items:baseline;gap:8px}.price-highlight:last-child strong{font-size:23px}.price-tax,.price-shop{font-size:14px;color:#526172}.price-tax{margin:12px 0 24px}#reservationPrices table{width:100%;font-size:16px;border-collapse:collapse}#reservationPrices th,#reservationPrices td{padding:12px 8px;text-align:right;border-bottom:1px solid #dce2e9}#reservationPrices th:first-child,#reservationPrices td:first-child{text-align:left}.price-example{border-left:4px solid #862c38;background:#faf2f3;padding:16px;font-size:18px;line-height:1.8;font-weight:700;margin:20px 0 12px}.price-conditions{margin-top:20px;font-size:14px;line-height:1.8}.price-conditions summary{font-size:15px;font-weight:600;padding:12px 0;cursor:pointer}@media(max-width:360px){.price-highlight{padding:14px 10px}.price-highlight strong{font-size:26px}.price-highlight small{font-size:14px}.price-example{font-size:16px}}

.price-shop-card{grid-column:1/-1;padding:16px;background:#eaf1f7;border-radius:10px;line-height:1.7}.price-shop-card strong{display:block;font-size:18px}.price-shop-card small{display:block;font-size:13px;color:#526172}.price-highlight:last-child span,.price-highlight:last-child small{font-size:13px}.price-highlight:last-child strong{font-size:20px}.price-supplement{font-size:14px;color:#536273;margin-top:-8px}

.price-breakdown{border:1px solid #d8e0e8;border-radius:16px;background:#fff;padding:22px}.price-breakdown>.price-formula{margin-top:0}.price-part{padding:20px 0}.price-part+.price-part{border-top:1px solid #e1e6ec}.price-part:last-child{padding-bottom:0}.price-part h3{display:flex;align-items:center;gap:10px;font-size:20px;color:#172b45;margin:0 0 16px}.price-part h3 svg{flex:0 0 22px}.price-breakdown .price-highlights .price-highlight:last-child{grid-column:auto;display:block;padding:18px 16px}.price-breakdown .price-highlights .price-highlight:last-child strong{font-size:30px}.price-breakdown .price-highlights .price-highlight:last-child span,.price-breakdown .price-highlights .price-highlight:last-child small{font-size:15px}.price-breakdown .price-shop-card{margin-bottom:12px}.price-breakdown .bring-price{display:flex;align-items:baseline;gap:8px;padding:10px 14px;background:#f5f7f9}.price-breakdown .bring-price strong{font-size:20px}.price-breakdown .price-tax{margin:12px 0 0}.price-breakdown~.price-example{margin-top:16px}.price-part [data-selfprint-base]{font-size:13px;color:#526172}@media(max-width:600px){.price-breakdown{padding:16px}.price-part{padding:18px 0}.price-part h3{font-size:18px}.price-breakdown .price-highlights{gap:8px}.price-breakdown .price-highlights .price-highlight{padding:14px 10px}.price-breakdown .price-highlights .price-highlight:last-child{padding:14px 10px}}@media(max-width:360px){.price-breakdown .price-highlights .price-highlight:last-child strong{font-size:26px}.price-breakdown .price-highlights .price-highlight:last-child small{font-size:14px}}

.retry-note{font-size:14px;line-height:1.8;color:#526172;margin:12px 0}.retry-note summary{cursor:pointer;padding:8px 0;font-weight:500}.retry-note summary small{font-size:13px;margin-left:8px}.retry-note p{font-size:14px}@media(max-width:600px){.retry-note summary small{display:block;margin-left:18px}}

#reservationPrices .dtf-help-link{display:inline-block;border:0;background:none;padding:6px 0;min-height:44px;color:#305578;text-decoration:underline;text-underline-offset:3px;font-size:14px;cursor:pointer;margin:-10px 0 6px}.dtf-help-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;margin:auto;border:1px solid #d8e0e8;border-radius:16px;padding:24px;color:#172b45;background:#fff}.dtf-help-dialog::backdrop{background:rgb(15 31 50 / .45)}.dtf-help-dialog h2{font-size:20px;margin:0 0 14px}.dtf-help-dialog p{font-size:15px;line-height:1.85;margin:0 0 16px}.dtf-help-dialog button{min-height:44px;padding:8px 20px;border:1px solid #b5c0cb;border-radius:7px;background:#f1f4f8;color:#172b45;cursor:pointer}.dtf-help-dialog a{color:#305578}.dtf-help-link:focus-visible,.dtf-help-dialog :focus-visible{outline:3px solid #477baa;outline-offset:3px}

.dtf-message{padding:22px;border:1px solid #d8e0e8;border-radius:14px;background:#f2f5f8;margin:24px 0}.dtf-message h2{font-size:clamp(21px,4vw,27px);line-height:1.6;margin:0 0 14px}.dtf-message p{font-size:16px;line-height:1.9}.dtf-message small{display:block;font-size:13px;line-height:1.8;color:#526172}

/* Reservation preparation and PPS-style completion dialog. */
.product-choice{display:grid;gap:10px;margin:12px 0}#visitForm .product-choice label{display:flex;align-items:center;gap:10px;min-height:48px;font-size:16px;padding:12px;border:1px solid #ccd2d9;border-radius:10px;background:#f6f8fa}#visitForm .product-choice label:has(input:checked){border-color:#182b48;background:#eef2f7}#visitForm .product-choice input{width:auto;min-height:auto;margin:0}.service-row [hidden],#servicePreparation [hidden]{display:none!important}.item-extra{grid-column:1/-1}.item-extra summary{padding:8px 0;cursor:pointer}.visit-success-dialog{width:min(560px,92vw);max-height:90dvh;overflow:auto;border:0;border-radius:16px;padding:32px;color:#182b48;box-shadow:0 20px 70px #0004}.visit-success-dialog::backdrop{background:#0007}.visit-success-dialog h2{font-size:26px;line-height:1.4;margin:0 0 24px}.visit-success-dialog .success-number{background:#f2f5f8;padding:16px;border-radius:10px}.visit-success-dialog .success-number strong{display:block;font-size:28px;letter-spacing:.06em;overflow-wrap:anywhere}.visit-success-dialog dl{display:grid;grid-template-columns:6em 1fr;gap:10px}.visit-success-dialog dd{margin:0}.visit-success-dialog .success-state{display:inline-block;padding:5px 12px;border-radius:30px;background:#fff0ce;color:#674b00;font-weight:700}.visit-success-dialog button{min-width:150px;min-height:44px}.visit-success-dialog p{line-height:1.7}.reservation-days button[data-day-state="closed"]{background:#fff0f0;border-color:#e7b7b7;color:#8f3131;opacity:1}.reservation-days button[data-day-state="stopped"]{background:#eef1f4;border-color:#ccd2d9;color:#606a74;opacity:1}
@media(max-width:420px){.visit-success-dialog{padding:22px}.visit-success-dialog h2{font-size:23px}#visitForm .product-choice label{font-size:16px}}
/* Shared-source consent reading without leaving the reservation draft. */
.visit-consent-dialog{width:min(680px,94vw);max-height:92dvh;border:0;border-radius:14px;padding:24px;color:var(--navy);box-shadow:0 20px 70px #0004}.visit-consent-dialog::backdrop{background:#0007}.visit-consent-dialog .consent-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.visit-consent-dialog h2{font-size:22px;margin:0}.visit-consent-dialog .consent-body{max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;padding:4px 10px 4px 0;line-height:1.8;overflow-wrap:anywhere}.visit-consent-dialog .consent-body h2{font-size:19px;margin:24px 0 12px}.visit-consent-dialog .consent-body p{white-space:pre-line}.visit-consent-dialog button{min-height:44px;flex-shrink:0}.visit-consent-dialog>p{font-size:14px}#servicePreparation .sheet-preparation{padding:12px;background:#f4f6f8;border-radius:8px;font-size:14px;line-height:1.8}#servicePreparation textarea{min-height:100px}
@media(max-width:420px){.visit-consent-dialog{padding:18px}.visit-consent-dialog h2{font-size:20px}#visitForm label:has([name=productRequest]){font-size:16px}}
/* Shared navigation: brand/order first, five visible destinations second on phones. */
.site-header{position:relative;z-index:10;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:10px max(24px,calc((100vw - 1160px)/2));isolation:isolate}
.site-header .site-nav{display:flex;justify-content:center;align-items:stretch;gap:6px;min-width:0;overflow:visible;padding:0;flex-wrap:nowrap}
.site-nav>a,.site-more>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:5px 10px;border-radius:6px;font-size:13px;text-decoration:none;font-weight:600;cursor:pointer;white-space:nowrap}
.site-nav>a:hover,.site-more>summary:hover,.site-more[open]>summary{background:var(--soft);color:var(--red)}
.site-more{border:0;padding:0;margin:0}.site-more>summary{list-style:none}.site-more>summary::-webkit-details-marker{display:none}.site-more-links{position:absolute;right:max(24px,calc((100vw - 1160px)/2));top:100%;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:300px;padding:14px;background:white;border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 12px 24px #233d5d22}.site-more-links>a{padding:10px;font-size:14px;white-space:normal}
.site-header .site-brand img{width:106px;height:50px}.site-header .site-order{margin:0}.site-home>section{border-bottom:1px solid var(--line)}.site-home>section:not(.product-hero){position:relative}.site-home>section:not(.product-hero)::before{content:'';display:block;width:32px;height:3px;background:var(--red);margin-bottom:20px}.site-home>section.soft::before{position:absolute;left:max(24px,calc((100vw - 1112px)/2));top:28px}.site-home>.wrap{padding-top:36px;padding-bottom:36px}.site-home>.top-calendar{max-width:1160px;background:#f3f5f8}.site-home>.top-calendar .calendar{max-width:760px}.site-home>.top-calendar .month-nav{max-width:760px}
.site-home>.preview{padding-block:2px}.product-slide{padding:10px 0}.product-visual{height:200px}.product-hero{touch-action:pan-y pinch-zoom}.product-hero img{-webkit-user-drag:none;user-select:none}.slider-controls{height:44px;padding:0;gap:10px}.slider-controls button{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;border:0;font-size:20px}.slider-controls>button::before{content:'';position:absolute;inset:9px;border:1px solid #a0b4cb;border-radius:50%}.slider-dots{gap:2px}.slider-dots button{min-width:24px;width:24px;border-radius:0;background:radial-gradient(circle,#7d91aa 3px,transparent 4px)}.slider-dots [aria-current=true]{background:radial-gradient(circle,#fff 3px,transparent 4px)}
@media(max-width:900px){.site-header{gap:12px;padding-inline:18px}.site-nav>a,.site-more>summary{padding-inline:6px;gap:4px}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto;gap:6px 12px;padding:8px 14px 0}.site-header .site-brand img{width:92px;height:43px}.site-header .site-order{grid-column:2;grid-row:1;font-size:12px;padding:8px 12px}.site-header .site-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;border-top:1px solid var(--line);width:100%;order:initial;flex-basis:auto}.site-nav>a,.site-more>summary{flex-direction:column;gap:2px;min-height:57px;padding:6px 0;font-size:11px;line-height:1.4}.site-more-links{right:10px;left:10px;min-width:0}.product-slide{height:212px;padding:4px 0}.product-hero .slide-inner{height:204px;gap:10px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.product-slide h1{font-size:20px;line-height:1.25;margin:4px 0}.product-visual{height:154px}.product-hero .eyebrow{font-size:8px;line-height:1.2}.product-slide p{font-size:11px;line-height:1.5;margin:4px 0}.product-hero .actions{gap:4px}.product-hero .btn{min-height:44px;display:inline-flex;align-items:center;padding:4px 7px}.slider-controls{height:44px;padding:0}.site-home>.wrap{padding-top:28px;padding-bottom:28px}.site-home>section.soft::before{left:18px;top:20px}.site-home>section.soft>.wrap{padding-top:42px}}
/* Payment-confirmation-based guide, social destinations and studio content. */
.dispatch-notice{max-width:1112px;margin:18px auto;padding:18px 24px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:8px;display:grid;grid-template-columns:1fr 1.6fr;gap:8px 24px;background:#fff}.dispatch-heading h2{margin:0;font-size:19px}.dispatch-today{display:block;width:fit-content;max-width:100%;box-sizing:border-box;background:var(--red);color:#fff;font-size:23px;font-weight:800;line-height:1.3;letter-spacing:.025em;padding:10px 18px;border-radius:7px;margin:0 0 12px}.dispatch-heading .eyebrow{margin:0 0 4px}.dispatch-heading p{font-size:13px;margin:6px 0}.dispatch-heading strong{color:var(--red)}.dispatch-estimates{min-width:0}.dispatch-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dispatch-plan{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:8px 6px;border-radius:7px;text-align:center;line-height:1.35}.dispatch-two_day{background:#fce7e7}.dispatch-three_four{background:#fff0dc}.dispatch-five_six{background:#fff7d6}.dispatch-service,.dispatch-date-label{display:block;font-size:11px}.dispatch-days{display:block;font-size:24px;line-height:1.2;white-space:nowrap}.dispatch-days small{display:block;font-size:11px;font-weight:500}.dispatch-date-label{margin-top:5px;color:#526172}.dispatch-dates{font-weight:700;font-size:16px;line-height:1.35;margin-top:5px}.dispatch-rush-fee{display:block;box-sizing:border-box;width:100%;margin-top:7px;padding:6px 2px;border-radius:5px;background:#fff;font-size:13px;line-height:1.3;color:#253750;white-space:nowrap}.dispatch-dates time{display:block;white-space:nowrap}.dispatch-standard{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:96px;min-width:0;box-sizing:border-box;margin:0 0 8px;padding:15px 18px;border-radius:7px;background:#f1f3f6;color:#243449;line-height:1.5}.dispatch-standard-title{font-size:17px;font-weight:700}.dispatch-standard-dates{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.dispatch-standard-dates time{white-space:nowrap}.dispatch-standard-suffix{margin-left:5px;font-size:12px;font-weight:400;color:#526172}@media(max-width:760px){.dispatch-standard{min-height:96px;padding:12px 14px;gap:7px}.dispatch-standard-title{font-size:16px}.dispatch-standard-dates{font-size:16px}.dispatch-plan{padding:7px 3px}.dispatch-days{font-size:22px}.dispatch-dates{font-size:14px}.dispatch-rush-fee{font-size:11px;padding:6px 1px}}.dispatch-estimates>small{display:block;font-size:10px;color:var(--muted);line-height:1.7}.dispatch-conditions{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted);line-height:1.7}.dispatch-pickup{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin:2px 0;font-size:13px;line-height:1.6}.dispatch-pickup svg{flex-shrink:0}.dispatch-pickup small{display:block;font-size:11px;color:var(--muted)}
/* Calendar cells share a single 1px grid without widening the seven columns. */
.calendar{gap:1px;padding:1px;background:#d5dce4;border-radius:0;overflow:hidden}.calendar>*{min-width:0;margin:0;border:0;border-radius:0;background:#fff}.calendar>strong{padding:7px 2px}.calendar>button{border-radius:0;min-height:54px;background:#fff;font-size:14px}.calendar>span{background:#f8fafc}.calendar>button.closed{background:#fae9e9;color:#8e3038}.calendar>button.uncertain{background:#fff5dc;color:#735720}.calendar>button[aria-current=date]{box-shadow:inset 0 0 0 2px var(--navy);font-weight:800}.calendar>button[aria-current=date] small::before{content:'今日・'}
.social.social-links{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.social.social-links>a{display:flex;align-items:center;gap:12px;min-height:64px;margin:0;padding:12px 16px;border:1px solid currentColor;border-radius:8px;text-decoration:none;font-size:14px;line-height:1.5;background:white;color:var(--navy)}.social-link img{width:40px;height:40px;object-fit:contain;flex-shrink:0}.social.social-links>.social-line{border-color:#06c755}.social-embeds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.social-embed-card{border:1px solid var(--line);padding:18px;border-radius:10px;min-width:0;overflow:hidden}.social-embed-card h3{margin-top:0}.social-embed-card button{padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--navy)}.embed-note{font-size:13px;line-height:1.8;color:var(--muted)}.embed-content{max-width:100%;overflow:auto}.embed-content blockquote{margin:16px 0}.embed-content iframe{max-width:100%!important}.method-figure{margin:28px 0;padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:12px}.method-figure img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain}.method-figure figcaption{font-size:13px;color:var(--muted);margin-top:12px}.method-card img{width:100%;height:auto;max-height:180px;object-fit:contain}.studio-access{padding:22px;background:var(--soft);border-radius:10px}.studio-access h2{margin-top:0}.store-information{display:grid;grid-template-columns:6em minmax(0,1fr);gap:12px;font-size:15px}.store-information dt{font-weight:700}.store-information dd{margin:0;overflow-wrap:anywhere}.studio-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.studio-photo-card{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:20px;background:#fff}.studio-photo-card h3{margin:12px 0 8px}.studio-photo-card p,.studio-photo-card figcaption{font-size:14px;color:var(--muted)}.studio-photo-card img{width:100%;height:220px;object-fit:cover;display:block}.photo-status{display:inline-block;padding:4px 9px;border-radius:4px;background:var(--soft);color:var(--muted);font-size:12px}
@media(max-width:760px){.dispatch-notice{margin:14px 12px;padding:12px;grid-template-columns:1fr;gap:8px}.dispatch-heading h2{font-size:17px}.dispatch-today{font-size:21px;padding:9px 14px;margin-bottom:10px}.dispatch-heading p{font-size:12px;margin:4px 0}.dispatch-cards{gap:5px}.dispatch-plan{padding:7px 3px}.dispatch-days{font-size:22px}.dispatch-dates{font-size:14px;letter-spacing:-.025em}.dispatch-service,.dispatch-days small,.dispatch-date-label{font-size:10px}.dispatch-conditions{font-size:11px}.calendar>button{padding:6px 1px}.calendar button small{font-size:9px}.social-embeds{grid-template-columns:1fr}.social.social-links{gap:10px}.social.social-links>a{padding:12px;flex:1 1 160px}.studio-access{padding:18px}.studio-photo-grid{grid-template-columns:1fr}.store-information{grid-template-columns:1fr;gap:5px}.store-information dd{margin-bottom:12px}.method-figure{padding:12px}}
.dispatch-details{grid-column:1/-1;border:0;padding:0;font-size:12px}.dispatch-details summary{min-height:44px;padding:5px 0;color:var(--muted)}.dispatch-details p{margin:0;max-width:none;color:var(--muted)}

/* Preview refinement: center the primary 7–9-day delivery card.
   Keep the standard plan visually dominant without excessive side whitespace. */
.dispatch-standard{
  align-items:center;
  text-align:center;
  justify-content:center;
  gap:3px;
  padding:7px 10px;
}
.dispatch-standard-title{font-size:15px}
.dispatch-standard-dates{
  justify-content:center;
  text-align:center;
  font-size:23px;
  line-height:1.3;
}
/* Reduce the actual hero's vertical footprint and remove empty top/bottom bands.
   Control tap targets stay >=44px high for accessibility. */
.product-hero .product-slide{
  height:auto;
  padding-block:3px;
}
.product-hero .slide-inner{
  height:auto;
  min-height:184px;
  gap:18px;
}
.product-hero .product-visual{height:180px}
.product-hero .slider-controls{
  height:44px;
  padding:0;
  margin:0;
  gap:8px;
}
@media(max-width:760px){
  .dispatch-standard{padding:7px 9px;gap:3px}
  .dispatch-standard-title{font-size:14px}
  .dispatch-standard-dates{font-size:19px}
  .product-hero .product-slide{
    height:auto;
    padding-block:3px;
  }
  .product-hero .slide-inner{
    height:auto;
    min-height:172px;
    gap:8px;
  }
  .product-hero .product-visual{height:134px}
  .product-hero .slider-controls{height:44px;padding:0;margin:0}
}

/* Balance the shorter two-day card against the date-range cards. */
.dispatch-two_day{justify-content:flex-start}
.dispatch-two_day .dispatch-rush-fee{margin-top:auto}

/* A clear short-turnaround divider below the standard delivery tile. */
.dispatch-rush-heading{display:block;box-sizing:border-box;width:100%;margin:0 0 8px;padding:8px 12px;border-radius:6px;background:var(--red);color:#fff;font-size:15px;font-weight:700;line-height:1.45;text-align:center}
@media(max-width:760px){.dispatch-rush-heading{font-size:14px;padding:7px 8px;margin-bottom:6px}}

/* Delivery estimates: heading always spans the full width ABOVE the normal
   gray plan, on desktop as well as mobile. Never place it in a side column. */
.dispatch-notice{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.dispatch-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;gap:4px}
.dispatch-heading .dispatch-today{margin:0 0 3px}
.dispatch-heading h2{margin:0}
.dispatch-heading p{margin:0}
.dispatch-estimates{width:100%;min-width:0}
.dispatch-conditions,.dispatch-pickup,.dispatch-details{width:100%;box-sizing:border-box}
@media(max-width:760px){
 .dispatch-notice{gap:8px}
 .dispatch-heading{gap:4px}
 .dispatch-heading .dispatch-today{margin:0 0 3px}
}

/* Temporary storefront photo and accessible Google Maps embed */
.studio-front-photo{margin:22px 0 16px}.studio-front-photo img{display:block;width:100%;height:auto;max-height:470px;object-fit:cover;border-radius:10px;background:#eef1f5}.studio-front-photo figcaption{margin-top:6px;color:var(--muted);font-size:12px}.studio-map{margin:18px 0 24px}.studio-map iframe{display:block;width:100%;height:340px;max-width:100%;border:0;border-radius:10px;background:#f3f5f8}.studio-map p{margin:8px 0 0;font-size:13px}@media(max-width:760px){.studio-map iframe{height:280px}.studio-front-photo img{max-height:330px}}

/* DTF sheet preparation guidance on reservation form. */
#servicePreparation .sheet-preparation{margin-top:18px;padding:16px;border:1px solid #dce2e9;border-radius:10px;background:#f4f6f8;font-size:14px;line-height:1.7}
.sheet-preparation-title{margin:0 0 5px;font-size:16px}
.sheet-choice{display:grid;gap:8px;margin:12px 0}
#visitForm .sheet-choice label{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid #ccd2d9;border-radius:8px;background:#fff;cursor:pointer}
#visitForm .sheet-choice input[type=radio]{width:auto;min-width:auto;margin:0;accent-color:var(--navy)}
#visitForm .sheet-choice label:has(input:checked){border-color:var(--navy);background:#edf2f8}
.sheet-preparation-notice{margin:10px 0;padding:12px;border-left:3px solid var(--red);border-radius:5px;background:#fff;color:#334155}
#sheetPreparationReady{padding:10px 0;color:#334155}
#sheetPreparationGuide [hidden]{display:none!important}

/* Compact, optional booking price/time estimator */
.booking-estimate{margin:16px 0 22px;padding:0;border:1px solid #d6dfe8;border-radius:12px;background:#f7f9fb;overflow:hidden}
.booking-estimate>summary{padding:16px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:16px;color:var(--navy);cursor:pointer;list-style:revert}
.booking-estimate .estimate-summary-note{font-size:12px;font-weight:400;color:#64748b}
.booking-estimate-body{padding:4px 18px 18px}
.booking-estimate-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking-estimate-controls label{display:grid;gap:5px;font-size:13px;font-weight:600}
.booking-estimate-controls select,.booking-estimate-controls input{width:100%;min-width:0;border:1px solid #cdd6df;background:#fff;border-radius:8px;padding:10px 12px;font:inherit;color:#233d5d}
.booking-estimate-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.booking-estimate-result>div{display:flex;flex-direction:column;gap:4px;border-radius:9px;background:#fff;border:1px solid #e0e6ed;padding:12px}
.booking-estimate-result span{font-size:12px;color:#64748b}
.booking-estimate-result strong{font-size:19px;line-height:1.4;overflow-wrap:anywhere}
.booking-estimate-result small{font-size:11px;color:#64748b;line-height:1.6}
.booking-estimate-caveat{font-size:12px;color:#526172;line-height:1.7;margin:0}
@media(max-width:520px){.booking-estimate-body{padding:4px 12px 14px}.booking-estimate>summary{padding:14px 12px}.booking-estimate-controls{gap:9px}.booking-estimate-result{grid-template-columns:1fr;gap:8px}.booking-estimate-result>div{padding:10px 12px}}

/* Per-item price is the primary takeaway; keep total and duration secondary. */
.booking-estimate-per-item{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:16px;border:1px solid #c4d5e6;background:#edf3fa;border-radius:10px}
.booking-estimate-per-item>span{font-size:13px;font-weight:600;color:#44546a}
.booking-estimate-per-item strong{font-size:clamp(26px,5vw,34px);line-height:1.35;color:#233d5d;font-variant-numeric:tabular-nums}
.booking-estimate-per-item small{font-size:12px;line-height:1.6;color:#536273}

/* Always-visible touch steppers for iOS Safari (number spinners may be hidden). */
.estimate-number-field{display:grid;gap:5px;min-width:0;font-size:13px;font-weight:600}
.estimate-number-field>small{font-size:11px;font-weight:400;line-height:1.6;color:#64748b}
.estimate-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;min-width:0;align-items:stretch;border:1px solid #cdd6df;border-radius:9px;overflow:hidden;background:#fff}
.booking-estimate-controls .estimate-stepper input{width:100%;min-width:0;text-align:center;border:0;border-radius:0;background:#fff;padding:8px 2px;font-size:16px;font-weight:700;-moz-appearance:textfield;appearance:textfield}
.booking-estimate-controls .estimate-stepper input::-webkit-outer-spin-button,.booking-estimate-controls .estimate-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.estimate-stepper button{min-height:46px;min-width:44px;padding:0;border:0;background:#e8eef5;color:#233d5d;font-weight:700;font-size:23px;touch-action:manipulation}
.estimate-stepper button:first-child{border-right:1px solid #cdd6df}.estimate-stepper button:last-child{border-left:1px solid #cdd6df}
.estimate-stepper button:focus-visible,.estimate-stepper input:focus-visible{outline:3px solid #a62f3a;outline-offset:-3px}

/* Short studio introduction immediately before the product carousel. */
.site-home>.push-intro{background:#fff;border-bottom:1px solid var(--line)}
.site-home>.push-intro::before{display:none!important}
.push-intro .push-intro-inner{padding-top:22px;padding-bottom:22px}
.push-intro .eyebrow{margin:0 0 5px}
.push-intro h1{font-size:clamp(20px,2.6vw,30px);line-height:1.5;margin:0 0 9px;letter-spacing:0}
.push-intro p{font-size:14px;line-height:1.8;margin:6px 0}
.push-intro .push-intro-last{font-weight:700}
.push-intro a{font-size:13px;font-weight:600;white-space:normal;text-underline-offset:3px;margin-left:6px}
.dtf-primary-notice{background:#f3f7fb;border:1px solid #d7e2ed;border-radius:9px;padding:12px 15px;font-size:14px;line-height:1.7;margin:12px 0 18px}
.dtf-primary-notice a{font-weight:650;text-underline-offset:3px}
@media(max-width:600px){.push-intro .push-intro-inner{padding:14px 16px 16px}.push-intro h1{font-size:20px;line-height:1.45;margin-bottom:6px}.push-intro p{font-size:12px;line-height:1.65;margin:5px 0}.push-intro a{font-size:12px;margin-left:0}.dtf-primary-notice{font-size:13px;padding:11px 12px}}

/* Separate compact iPhone introduction from full desktop studio introduction. */
.push-intro-mobile{display:none}
@media(max-width:600px){
 .push-intro-desktop{display:none}
 .push-intro-mobile{display:block}
 .site-home>.push-intro .push-intro-inner{padding:12px 16px 14px}
 .push-intro-mobile .eyebrow{font-size:10px;line-height:1.4;margin:0 0 4px}
 .push-intro-mobile h2{font-size:16px;line-height:1.45;margin:0 0 4px;font-weight:700;letter-spacing:0}
 .push-intro-mobile .push-intro-mobile-lead{font-size:14px;line-height:1.55;margin:0 0 4px}
 .push-intro-mobile p{font-size:12px;line-height:1.55;margin:3px 0;max-width:none}
 .push-intro-mobile strong{font-weight:700}
 .push-intro-mobile .push-intro-more{padding:4px 0 0;border:0;margin:0}
 .push-intro-mobile .push-intro-more summary{font-size:12px;color:#295375;font-weight:650;line-height:1.6}
 .push-intro-mobile .push-intro-more p{margin:6px 0}
 .push-intro-mobile .push-intro-more a{display:inline-block;font-size:12px;margin:4px 12px 0 0}
}

/* Parking information immediately under the studio map. */
.studio-parking-note{max-width:760px;margin:12px 0 18px;padding:12px 14px;border-left:3px solid var(--red);background:#f5f7f9;border-radius:5px;font-size:14px;line-height:1.65}
@media(max-width:600px){.studio-parking-note{font-size:13px;padding:10px 12px}}

/* Studio parking and public-transport directions */
.studio-access-guide{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 22px;align-items:start}
.studio-access-guide>div{min-width:0;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f7f9fb}
.studio-access-guide h3{margin:0 0 10px;font-size:17px}
.studio-access-guide p{font-size:14px;line-height:1.75;margin:6px 0;overflow-wrap:anywhere}
.studio-access-guide .studio-parking-note{border-left:3px solid var(--red);margin:0}
.studio-parking-disclaimer{font-size:12px!important;color:var(--muted)}
@media(max-width:700px){.studio-access-guide{grid-template-columns:1fr;gap:10px}.studio-access-guide>div{padding:12px}.studio-access-guide h3{font-size:15px}}

/* Single reservation action on studio page. */
.studio-booking-help{margin:8px 0 20px;font-size:13px;line-height:1.6;color:var(--muted)}
