.developed { word-break: keep-all; overflow-wrap: break-word; }
body.developed .preview-environment-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px 18px;
  padding: 8px 18px;
  background: #7c3516 !important;
  color: #fff9f3 !important;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}
body.developed .preview-environment-notice strong {
  flex: 0 0 auto;
  background: transparent !important;
  color: #ffe2ce !important;
  font-size: 11px;
  letter-spacing: .04em;
}
body.developed .preview-environment-notice span {
  background: transparent !important;
  color: inherit !important;
}
body.developed .preview-account-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 0;
  padding: 0 0 0 18px;
  border: 0;
  border-left: 1px solid rgba(255,255,255,.28);
  background: transparent !important;
  color: #fff9f3 !important;
  font-size: 11px;
  line-height: 1.4;
}
body.developed .preview-account-links a { background: transparent !important; color: inherit !important; font-weight: 650; text-decoration: none; }
body.developed .preview-account-links a:hover,
body.developed .preview-account-links a:focus-visible { color: #ffe2ce !important; text-decoration: underline; text-underline-offset: 3px; }
.preview-start-section {
  width: min(1180px, calc(100% - 48px));
  margin: 28px auto 90px;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid #e7cfd7;
  background: #ffffff;
}
.preview-start-heading { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 26px; }
.preview-start-heading span { color: #cc4a0c; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.preview-start-heading h2 { margin: 8px 0 0; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.05em; }
.preview-start-heading p { max-width: 430px; margin: 0; color: #6c6056; line-height: 1.65; }
.preview-start-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 12px; }
.preview-start-card { display: flex; flex-direction: column; min-height: 215px; padding: 24px; border: 1px solid #e7d8ce; background: white; color: #25202a; text-decoration: none; }
.preview-start-card:first-child { background: #f0642b; color: white; }
.preview-start-card small { color: #cc4a0c; font-weight: 800; }
.preview-start-card:first-child small { color: #f8d5df; }
.preview-start-card h3 { margin: 34px 0 8px; font-size: 22px; }
.preview-start-card p { margin: 0; color: #6c6056; line-height: 1.6; }
.preview-start-card:first-child p { color: #fff4f7; }
.preview-start-card b { margin-top: auto; padding-top: 18px; font-size: 14px; }
/* The home page's broad white-canvas rules must not paint text blocks inside cards. */
body.developed .preview-start-section :is(.preview-start-heading,.preview-start-heading div,.preview-start-heading span,.preview-start-heading h2,.preview-start-heading p,.preview-start-grid,.preview-start-card small,.preview-start-card h3,.preview-start-card p,.preview-start-card b) { background: transparent !important; }
body.developed .preview-start-section .preview-start-card:first-child :is(small,h3,p,b) { color: #fff4f7 !important; }
.preview-footer-company { display: grid; gap: 4px; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); color: #cfc4c8; font-size: 12px; line-height: 1.55; }
.preview-footer-company b { color: #f0bd77; }
.preview-legal-id { font-style: normal; white-space: nowrap; }
.preview-footer-links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; }
.preview-footer-links a { color: inherit; }
.channel-app-download.preview-app-link { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 760px) {
  body.developed .preview-environment-notice { gap: 8px 12px; padding: 8px 12px; font-size: 10px; }
  body.developed .preview-environment-notice strong { font-size: 10px; }
  body.developed .preview-environment-notice > span { display: none; }
  body.developed .preview-account-links { flex: 0 1 auto; flex-wrap: nowrap; gap: 9px; padding-left: 12px; font-size: 9px; white-space: nowrap; }
  .preview-start-section { width: calc(100% - 28px); margin: 16px auto 56px; padding: 24px 18px; border-radius: 24px; }
  .preview-start-heading { display: block; }
  .preview-start-heading p { margin-top: 10px; font-size: 14px; }
  .preview-start-grid { grid-template-columns: 1fr; }
  .preview-start-card { min-height: 170px; border-radius: 18px; }
  .preview-start-card h3 { margin-top: 25px; }
}


/* Final Preview review: preserve the approved palette and give controls readable surfaces. */
body.preview-editorial .preview-environment-notice { display:flex; align-items:center; justify-content:center; gap:10px 18px; margin:0; padding:8px 18px; background:#7c3516; color:#fff9f3; font:12px/1.45 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif; }
body.preview-editorial .preview-environment-notice strong { color:#ffe2ce; white-space:nowrap; }
body.preview-editorial .preview-account-links { display:flex; gap:12px; padding-left:18px; border-left:1px solid #ffffff47; font-size:11px; }
body.preview-editorial .preview-account-links a { color:inherit; text-decoration:none; }
body:is(.developed,.preview-editorial) .preview-account-links a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
body.developed .preview-environment-notice { flex-wrap:wrap; }
body.developed .preview-environment-notice > span { max-width:42em; }
body.developed .preview-footer-company { grid-column:1/-1; margin-top:8px; padding-top:20px; border-color:#e5d5dd; background:transparent!important; color:#66594f; font-size:12px; }
body.developed .preview-footer-company :is(b,span,div,i,a) { background:transparent!important; color:inherit!important; }
body.developed .preview-footer-company b { color:#cc4a0c!important; }
body:is(.developed,.preview-editorial) .preview-site-utility { width:calc(100% - 48px); max-width:1192px; box-sizing:border-box; margin:0 auto 24px; padding:12px 0; border:0; border-top:1px solid #e7d8ce; background:transparent!important; color:#66594f; font:13px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif; }
body:is(.developed,.preview-editorial) .preview-site-utility nav { display:flex; flex-wrap:wrap; gap:8px 20px; padding-top:8px; }
body:is(.developed,.preview-editorial) .preview-site-utility a { display:inline-flex; align-items:center; min-height:44px; color:#cc4a0c; background:transparent!important; text-decoration:underline; text-underline-offset:3px; }
body:is(.developed,.preview-editorial) .preview-site-utility { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px 32px; padding:32px 0; }
body:is(.developed,.preview-editorial) .preview-site-utility>nav { justify-content:flex-end; padding:0; }
body:is(.developed,.preview-editorial) .preview-site-utility .preview-footer-brand { text-decoration:none; }
body:is(.developed,.preview-editorial) .preview-site-utility .preview-footer-brand img { width:140px; height:auto; }
body:is(.developed,.preview-editorial) .preview-site-utility .preview-footer-legal { grid-column:1/-1; justify-content:flex-start; gap:24px; border-bottom:1px solid #e7d8ce; }
body:is(.developed,.preview-editorial) .preview-site-utility .preview-footer-company { grid-column:1/-1; margin:0; padding:4px 0 0; border:0; color:#66594f; }
body:is(.developed,.preview-editorial) .preview-site-utility .preview-footer-company b { color:#cc4a0c; }
body:is(.developed,.preview-editorial) .preview-site-utility a:focus-visible { outline:3px solid #f0642b; outline-offset:3px; }
@media(max-width:760px) {
  body:is(.developed,.preview-editorial) .preview-site-utility { grid-template-columns:1fr; gap:12px; }
  body:is(.developed,.preview-editorial) .preview-site-utility>nav { justify-content:flex-start; }
}
body.developed .unified-page-heading nav,
body.developed .unified-page-heading nav a { color:#75635e!important; }
body.developed .faq-category-index,
body.developed .faq-categories button small,
body.developed .faq-topic-heading p,
body.developed .faq-show-all { color:#66594f!important; }
body.developed .manager-photo-label,
body.developed .manager-number,
body.developed .manager-team-photo span { color:#66594f!important; }
body.developed .hero-consultation a { display:inline-flex; align-items:center; min-height:36px; padding:3px 0; color:#cc4a0c!important; background:transparent!important; font-size:13px; font-weight:600; text-decoration:none; }
body.developed>.skip { position:fixed!important; top:8px!important; left:12px; z-index:1500; transform:translateY(-180%); background:#332c27!important; color:#fff!important; }
body.developed>.skip:focus-visible { transform:none; }
body.developed main { scroll-margin-top:125px; }
body.developed .unified-contact-actions a { min-height:44px!important; height:auto!important; }
body.developed .unified-contact-consult a:hover { text-decoration:underline; text-underline-offset:3px; }
body.developed .gallery-arrow { background:#332c27e6!important; color:#fff!important; min-width:44px; min-height:44px; border-radius:50%; }
body.developed[data-page="index"] #cases .gallery-arrow,
body.developed[data-page="index"] #cases .gallery-arrow:hover { background:#332c27e6!important; text-shadow:none; }
body.developed .faq-categories button[aria-pressed] .faq-category-index { color:#526f62!important; }
body.developed .manager-group-photo figcaption span { color:#66594f!important; }
body.developed .revision-process li>span { color:#77503b!important; }
body.developed .service-carousel-controls { display:flex; justify-content:flex-end; padding-top:12px; background:transparent!important; }
body.developed .service-carousel-toggle { min-height:44px; padding:8px 14px; border:1px solid #bfa4ae; border-radius:4px; background:#fff!important; color:#cc4a0c!important; font:600 13px/1.5 inherit; cursor:pointer; }
.preview-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
body.developed .room-story h2 { margin:20px 0 24px; font-size:clamp(24px,2.5vw,32px); line-height:1.6; letter-spacing:-.04em; }
body.developed #team .manager-preview h1 { margin:0 0 22px; color:#332c27!important; font-size:27px; line-height:1.5; letter-spacing:-.045em; }
body.developed #team .manager-preview h1+h2 { margin:0 0 18px; font-size:18px!important; line-height:1.65; }
body.developed .kitchen-entry h3 { margin:0 0 16px; font-size:22px; line-height:1.5; }
body.developed .kitchen-action h4 { margin:0 0 8px; font-size:15px; line-height:1.6; }
body.developed .issue-intro h2 { font-size:28px; line-height:1.5; }
body.developed[data-page="aftercare"] #map .map-entry h3 { margin:0 0 16px; font-size:22px; line-height:1.5; }
body.developed[data-page="journal"] #columns .chapter-heading>h2 { display:block!important; position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }


@media(max-width:1100px) {
  body.developed main { scroll-margin-top:90px; }
}
@media(max-width:760px) {
  body:is(.developed,.preview-editorial) .preview-environment-notice { gap:0 10px; padding:6px 12px; }
  body:is(.developed,.preview-editorial) .preview-environment-notice>span { display:none; }
  body:is(.developed,.preview-editorial) .preview-account-links { display:flex; gap:8px; padding-left:10px; font-size:10px; }
  body.developed .preview-account-links a { display:inline-flex; align-items:center; min-height:24px; }
  body.developed main :is(.visual-service-copy>p,.service-explain-copy dd,.room-story>p,.faq-answer p,.price-summary-row p,.manager-preview>div>p) { font-size:15px!important; line-height:1.85; }
  body.developed .faq-question-title { font-size:15px; }
  body.developed .site-footer .footer-directory a { font-size:12px; min-height:44px; }
  body.developed .unified-contact .unified-contact-consult :is(a,button) { min-height:44px; }
  body.developed #team.chapter { height:auto; min-height:0; }
}

@media print {
  body:is(.developed,.preview-editorial) :is(.preview-environment-notice,.preview-account-links,.service-carousel-controls) { display:none!important; }
}
/* Isolated CMS announcements; never style the existing app or page theme. */
/* Browsing pages already expose estimate in the header and consultation in the
   four-item tab bar. JS-free pages keep their original contact link fallback. */
@media screen and (max-width:760px), screen and (max-height:500px) and (orientation:landscape) {
  body[data-mobile-app-navigation="true"] .unified-contact { display: none !important; }
}
.website-content-error { padding: 12px 20px; background: #fff3dc; color: #65471e; font-size: 14px; }
.website-banners { max-width: 1200px; margin: 24px auto; padding: 0 24px; display: grid; gap: 16px; }
.website-banners article { display: flex; gap: 24px; align-items: center; padding: 24px; border: 1px solid #ddbdc9; border-radius: 16px; background: #fbf2f5; }
body:is(.developed,.preview-editorial) .website-banners article { background: #fbf2f5 !important; }
body:is(.developed,.preview-editorial) .website-banners article :is(h2,p,a,div) { background: transparent !important; color: #653747 !important; }
.website-banners article > img { width: 180px; height: 120px; object-fit: cover; border-radius: 10px; flex-shrink: 0; }
.website-banners article > div { min-width: 0; }
.website-banners h2, .website-banners p, .website-banners a { background: transparent !important; color: #653747 !important; word-break: keep-all; overflow-wrap: anywhere; }
.website-banners h2 { margin: 0 0 8px; font-size: 22px; }
.website-banners p { margin: 0; line-height: 1.6; white-space: pre-line; }
.website-banners a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 8px; text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }
[data-website-content-id][hidden] { display: none !important; }
[data-website-content-id] { overflow-wrap: anywhere; }

/* A shared mobile application shell; desktop and transaction forms stay intact. */
.mobile-app-tabs,
.mobile-editorial-back { display: none; }
@media (max-width:760px), (max-height:500px) and (orientation:landscape) {
  body[data-mobile-information="ready"] :is(footer.site-footer, footer.preview-site-utility) { display: none!important; }
}
@media screen and (max-width: 760px) {
  body:is(.developed,.preview-editorial) {
    --mobile-brand: #f0642b;
    --mobile-text: #352b30;
    --mobile-muted: #6c6056;
    --mobile-line: #e7d8ce;
    --mobile-surface: #fff5ec;
  }
  body:is(.developed,.preview-editorial)[data-mobile-app-navigation] { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body:is(.developed,.preview-editorial) .mobile-app-tabs { position: fixed; inset: auto 0 0; z-index: 1000; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top: 1px solid var(--mobile-line); background: var(--white,#fff); color: var(--mobile-muted); }
  body:is(.developed,.preview-editorial) .mobile-app-tabs a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 52px; text-decoration: none; font-size: 11px; color: inherit!important; background: transparent!important; touch-action: manipulation; }
  body:is(.developed,.preview-editorial) .mobile-app-tabs a span { background: transparent!important; color: inherit!important; }
  body:is(.developed,.preview-editorial) .mobile-app-tabs svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
  body:is(.developed,.preview-editorial) .mobile-app-tabs a[aria-current] { color: var(--mobile-brand)!important; font-weight: 750; }
  body:is(.developed,.preview-editorial) .mobile-app-tabs a[aria-current] svg { stroke-width: 2; }
  body:is(.developed,.preview-editorial) .mobile-app-tabs a:focus-visible { outline: 3px solid var(--mobile-brand); outline-offset: -3px; border-radius: 8px; }
  body:is(.developed,.preview-editorial) .mobile-app-tabs a:active { opacity: .75; }
  body.preview-editorial .mobile-editorial-back { display: flex; align-items: center; min-height: 52px; padding: 8px 20px; background: var(--white,#fff); color: var(--mobile-brand); text-decoration: none; font-size: 14px; font-weight: 650; }
}

/* Preserve whole type names in the existing column comparison table on mobile. */
@media screen and (max-width:760px) {
  body.developed section.unified-contact { margin-block: 20px 24px!important; padding-block: 20px!important; }
  body.developed footer.site-footer { margin-top: 20px!important; }
  body.developed .faq-editorial { max-width: 560px; padding: 0 20px 28px; }
  body.developed .faq-editorial .faq-page-heading { margin: 24px 0 20px; }
  body.developed .faq-title-row { display: block; padding: 0!important; gap: 0; border: 0!important; background: transparent!important; }
  body.developed .faq-title-row .faq-eyebrow { display: none; }
  body.developed .faq-page-heading h1 { font-size: 26px!important; line-height: 1.4; }
  body.developed .faq-title-row > p { margin-top: 8px!important; font-size: 14px!important; line-height: 1.65; }
  body.developed .faq-categories { display: flex!important; gap: 8px!important; padding: 0 0 8px!important; overflow-x: auto; }
  body.developed .faq-categories button { display: inline-flex!important; align-items: center; flex: none; gap: 8px; min-height: 44px; padding: 10px 12px!important; border-radius: 24px!important; white-space: nowrap; }
  body.developed .faq-categories .faq-category-index { display: none; }
  body.developed .faq-categories button small { position: static!important; margin: 0!important; font-size: 11px; }
  body.developed[data-page="aftercare"] main > .aftercare-spaces.home-space-links { display: flex; flex-wrap: wrap; gap: 8px; }
  body.developed[data-page="aftercare"] main > .aftercare-spaces.home-space-links > a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; border: 1px solid var(--mobile-line); border-radius: 24px; font-size: 14px; text-decoration: none; }
  body.developed .aftercare-spaces.home-space-links > a[aria-current] { border-color: var(--mobile-brand); color: var(--mobile-brand)!important; font-weight: 700; }
  body.preview-editorial #contents li a { display: flex; align-items: baseline; gap: 12px; }
  body.preview-editorial #contents li a > span { flex: 0 0 2ch; min-width: 2ch; white-space: nowrap; font-variant-numeric: tabular-nums; }
  body.developed:has(.manager-preview h1) .manager-preview { display: grid!important; grid-template-columns: minmax(0,1fr)!important; gap: 20px; }
  body.developed:has(.manager-preview h1) .manager-preview > div { display: contents; }
  body.developed:has(.manager-preview h1) .manager-preview h1 { order: -1; margin: 0!important; font-size: 26px!important; line-height: 1.4!important; }
  body.developed:has(.manager-preview h1) .manager-preview > figure { order: 0; margin: 0; }
  body.developed:has(.manager-preview h1) .manager-preview > figure img { width: 100%; height: auto; border-radius: 16px; }
  body.developed:has(.manager-preview h1) .manager-preview h2 { order: 1; margin: 0!important; font-size: 20px!important; line-height: 1.5!important; }
  body.developed:has(.manager-preview h1) .manager-preview > div > p { order: 2; margin: 0!important; }
  body.developed:has(.manager-preview h1) .manager-preview .care-principles { order: 3; margin: 0; }
  body.developed[data-page="journal"] #journal-magazine-panel .chapter-heading > p { display: none; }
  body.developed[data-page="journal"] .unified-page-heading { margin-top: 24px; margin-bottom: 18px; }
  body.developed[data-page="journal"] .unified-page-heading h1 { font-size: 26px; }
  body.developed[data-page="journal"] .unified-page-heading > p { display: none; }
}
@media (max-width: 650px) {
  #col-13 .table-wrap :is(th, td):first-child {
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
  }
}
@media (max-width: 600px) {
  .website-banners { padding: 0 16px; margin: 16px auto; }
  .website-banners article { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px; }
  .website-banners article > img { width: 100%; height: 180px; }
  .website-banners h2 { font-size: 20px; }
}

/* Global destinations belong in the mobile menu/tab bar, not a second sitemap.
   Retain company disclosures, policy links and secondary notices/app guidance. */
@media screen and (max-width: 760px) {
  body.developed footer.site-footer {
    display: block;
    min-height: 0;
    padding: 16px 20px;
  }
  body.developed .site-footer :is(.footer-directory, .back-top),
  body.developed .site-footer > div:first-child,
  body:is(.developed, .preview-editorial) .preview-footer-links :is(a[href="/start"], a[href="/support"]),
  body:is(.developed, .preview-editorial) .preview-site-utility > nav :is(a[href="/start"], a[href="/support"]) {
    display: none !important;
  }
  body.developed .site-footer .footer-legal {
    margin: 0;
    padding: 0;
  }
  body.developed .site-footer .footer-policy a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  body.developed .site-footer .preview-footer-company {
    margin-top: 8px;
    padding-top: 12px;
  }
}
