/* Independent destination design: cr-v1-layout-18-pink-carousel. */
:root{--coral:#34aab6;--coral-dark:#34aab6;--accent:#ff93b5;--pink:#fff8fb;--navy:#17343a;--ink:#17343a;--muted:color-mix(in srgb,#17343a 62%,transparent);--line:color-mix(in srgb,#34aab6 18%,#d8dee7);--bg:#fff8fb;--white:#ffffff;--yellow:#ff93b5;--shadow:0 18px 45px color-mix(in srgb,#34aab6 15%,transparent)}
body{background:var(--bg);color:var(--ink)}
.hero-copy{position:relative}.hero-copy .search-thumb{left:0;right:auto;top:0;width:1px;height:1px!important;opacity:.001;border:0}
.title-line .partner-name{display:flex;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 100px);margin:0 0 7px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted);font-size:12px;line-height:1.35}
.title-line .partner-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px}.title-line .page-description{color:var(--muted);margin:0}
.step h3{display:block;margin:0 0 6px;font-size:16px;line-height:1.4}.profile-summary .profile-call{display:grid;place-items:center;width:100%;min-height:48px;border-radius:inherit;background:var(--yellow);color:#111827;font-weight:900}
.top-search input,.finder input,.finder select{color:var(--ink);background:var(--white)}.fixed-call:focus-visible,.profile-call:focus-visible,.shop-card:focus-visible,.text-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:560px){.title-line .partner-name{max-width:calc(100% - 70px);font-size:11px}.title-line .partner-name strong{font-size:12px}}

.top{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.04)}.header-row{min-height:110px}.notice{display:none}.hero{margin-top:22px}.hero-panel{min-height:420px;border-radius:28px;background:linear-gradient(135deg,#fff2f4,#ffdce2);padding:52px;grid-template-columns:1fr 360px}.hero-copy h1{font-size:44px}.hero-art{width:320px;height:320px;border-radius:50%;border:12px solid #fff;background:#ffc8d1}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;border-radius:50%;filter:none}.finder{margin-top:10px;border:2px solid #ff8798;border-radius:14px}.shop-grid{grid-template-columns:repeat(4,1fr)}.shop-card{border-radius:16px;box-shadow:0 8px 24px rgba(255,80,107,.08)}.card-photo{aspect-ratio:1/1}.text-card,.feature,.panel{border-radius:18px}.footer{background:#1c2430}

.page-head{margin:28px 0;padding:52px 44px;border-radius:30px;background:linear-gradient(130deg,#fff8f5,#ffe0e7)}.title-line h1{font-size:46px;color:#b94d67}.detail-gallery{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px}.detail-gallery img{width:220px;height:220px;aspect-ratio:1;border-radius:50%;border:10px solid #fff;box-shadow:0 14px 35px rgba(185,77,103,.13)}.detail-gallery img:first-child{width:330px;height:330px}.detail-layout{grid-template-columns:minmax(0,1fr) 300px}.profile-summary{background:#b94d67;border-radius:32px}.panel{border-radius:22px;border-color:#f3ccd5}.shop-card{border-radius:50% 50% 16px 16px}
@media(max-width:700px){.detail-gallery img:not(:first-child){display:none}.detail-gallery img:first-child{display:block;width:min(100%,320px);height:320px}}@media(max-width:560px){.page-head{padding:32px 18px}.title-line h1{font-size:31px}}

/* Cross-family production mobile guard: preserve each visual family while
   preventing later family layers from overriding the base responsive header. */
.faq-item button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
@media(max-width:900px){
html,body{max-width:100%;overflow-x:clip}
.header-row{width:100%!important;min-height:auto!important;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr)!important;gap:10px!important;padding:10px!important}
.brand{min-width:0!important}.brand img{width:min(180px,100%)!important;max-height:72px!important;object-fit:contain!important;object-position:left center!important}
.top-search{width:100%!important;min-width:0!important;max-width:100%!important}.top-search input{width:100%!important;min-width:0!important}
.nav{grid-column:1/-1!important;width:100%!important;max-width:100%!important;display:flex!important;overflow-x:auto!important;justify-content:flex-start!important;gap:16px!important;padding:8px 0 10px!important;white-space:nowrap!important;overscroll-behavior-inline:contain}
.nav a{flex:0 0 auto!important}
.hero-panel,.finder,.page-head,.title-line,.detail-layout,.search-shell{max-width:100%!important;min-width:0!important}
}
@media(max-width:560px){
.header-row{grid-template-columns:minmax(100px,.78fr) minmax(0,1.22fr)!important;padding:9px 10px!important}
.brand img{max-height:56px!important}.top-search{height:40px!important}.nav{gap:14px!important;font-size:12px!important}
}
.faq-item button:focus-visible{outline-color:#005fcc!important}@media(max-width:560px){.hero-panel{grid-template-columns:minmax(0,1fr);padding:26px 18px}.hero-copy{order:2}.hero-copy h1{font-size:32px}.hero-art{order:1;width:100%;max-width:300px;height:280px;justify-self:center}}

/* Per-platform approved-pool presentation tokens. */
:root{--pool-layout-token:ebae4e099b185aa1;--platform-image-radius:8px;--platform-card-gap:14px}
.card-photo,.detail-gallery img,.hero-art img{border-radius:var(--platform-image-radius)}
.shop-grid{gap:var(--platform-card-gap)}

/* TNT mobile detail cascade guard v1 (2026-09-29): this final cascade layer deliberately follows every source-family
   override. It preserves the desktop design while preventing a two-column
   profile from compressing Korean copy into one-character vertical strips. */
@media(max-width:900px){
  .detail-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  .detail-layout>*{width:100%!important;max-width:100%!important;min-width:0!important}
  .profile-summary{position:static!important;top:auto!important}
}
@media(max-width:560px){
  .fact-list div{grid-template-columns:minmax(78px,92px) minmax(0,1fr)!important;gap:12px!important}
  .course-table{table-layout:auto!important}
  .course-table th,.course-table td{word-break:keep-all!important;overflow-wrap:normal!important}
}
