/* ── Brand ─────────────────────────────────────────────────────────────── */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.story-text p{font-size:15px;color:var(--text-mid);line-height:1.9;margin-bottom:14px;}
.story-text p:first-of-type{font-weight:700;color:var(--text);font-size:17px;}
.story-img{aspect-ratio:4/5;border-radius:var(--r-xl);overflow:hidden;}
.story-img img{width:100%;height:100%;object-fit:cover;}
.mission-wrap{background:var(--bg);}
.mission-box{background:var(--blue);padding:56px 48px;border-radius:var(--r-xl);text-align:center;margin:48px 0 72px;}
.mission-box h3{font-weight:700;font-size:clamp(18px,2.5vw,28px);line-height:1.5;max-width:680px;margin:10px auto 0;}
.mission-box h3 em{color:var(--red);font-style:normal;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.value-card{padding:40px 32px;background:#fff;border-radius:var(--r-lg);border:1px solid var(--border-soft);transition:all .3s var(--ease);}
.value-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:var(--sh);}
.value-icon{font-size:40px;margin-bottom:18px;}
.value-card h4{font-weight:700;font-size:20px;margin-bottom:10px;}
.value-card p{font-size:14px;color:var(--text-mid);line-height:1.7;}

/* ── Timeline ────────────────────────────────────────────────────────────── */
.timeline-wrap{background:#fff;}
.timeline{position:relative;max-width:900px;margin:64px auto 0;}
.timeline::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border);transform:translateX(-50%);}
.tl-item{position:relative;width:50%;padding:28px 56px;}
.tl-item:nth-child(odd){margin-left:0;text-align:right;}
.tl-item:nth-child(even){margin-left:50%;text-align:left;}
.tl-item::before{content:"";position:absolute;top:36px;width:14px;height:14px;background:var(--red);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--red);z-index:1;}
.tl-item:nth-child(odd)::before{right:-7px;}
.tl-item:nth-child(even)::before{left:-7px;}
/* Timeline typography per spec */
.tl-year{font-weight:700;font-size:30px;color:var(--red);margin-bottom:4px;letter-spacing:-.02em;line-height:1;}
.tl-subtitle{font-weight:700;font-size:16px;color:var(--text);margin-bottom:6px;line-height:1.3;}
.tl-content{font-weight:400;font-size:12px;color:var(--text-mid);line-height:1.7;}
.tl-content li{margin-bottom:3px;}
.tl-content li::before{content:"— ";color:var(--text-soft);}

/* ── Product page ────────────────────────────────────────────────────────── */
.prod-tabs{display:flex;justify-content:center;gap:8px;margin:28px 0 24px;}
.prod-tab{padding:12px 28px;font-weight:700;font-size:14px;color:var(--text-mid);border-radius:var(--r-pill);border:1.5px solid var(--border);background:transparent;cursor:pointer;transition:all .25s var(--ease);}
.prod-tab:hover{border-color:var(--text);color:var(--text);}
.prod-tab.active{background:var(--text);border-color:var(--text);color:#fff;}
.prod-intro{text-align:center;max-width:600px;margin:0 auto 52px;font-size:15px;color:var(--text-mid);line-height:1.8;}
.product-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.collabo-ed-wrap{padding:100px 0;background:linear-gradient(135deg,#FDEEF3 0%,#FFE4EC 100%);}
.collabo-ed-head{text-align:center;margin-bottom:52px;}
.collabo-title-en{font-family:var(--serif);font-style:italic;font-weight:500;font-size:44pt;line-height:1.1;letter-spacing:-.01em;margin:16px 0;}
.collabo-title-en em{color:var(--red);}
.collabo-ed-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:48px;}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px;}
.photo-strip-item{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;}
.photo-strip-item img{width:100%;height:100%;object-fit:cover;}

/* ── Media page ─────────────────────────────────────────────────────────── */
.media-tabs-bar{display:flex;justify-content:center;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:72px;z-index:10;}
.media-tab{padding:22px 32px;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--text-mid);position:relative;cursor:pointer;transition:color .2s;border:none;background:none;font-family:var(--sans);}
.media-tab:hover{color:var(--text);}
.media-tab.active{color:var(--text);}
.media-tab.active::after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--red);border-radius:2px;}
.media-panel{display:none;}
.media-panel.active{display:block;}
.press-section-inner{padding:72px 0;background:#fff;}
.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.press-card{display:flex;gap:20px;padding:22px;border:1px solid var(--border-soft);border-radius:var(--r-lg);transition:all .25s var(--ease);cursor:pointer;}
.press-card:hover{border-color:var(--red);box-shadow:var(--sh);transform:translateY(-2px);}
.press-thumb{width:117px;aspect-ratio:1;background:linear-gradient(135deg,var(--pink),var(--blue));border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;overflow:hidden;}
.press-thumb img{width:100%;height:100%;object-fit:cover;}
.press-card-body{flex:1;}
.press-tag{font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--red);margin-bottom:7px;display:block;}
.press-card-title{font-weight:700;font-size:14px;line-height:1.5;margin-bottom:10px;}
.press-meta{font-size:12px;color:var(--text-soft);}
/* YouTube video grid */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:72px 0;}
.video-item{border-radius:var(--r-lg);overflow:hidden;background:var(--bg);}
.video-item iframe{width:100%;aspect-ratio:16/9;border:0;display:block;}
.video-label{padding:16px;font-weight:700;font-size:14px;color:var(--text);}
/* Media contact */
.media-contact{padding:72px 0;background:var(--bg);}
.media-contact-box{max-width:680px;margin:0 auto;background:var(--blue);padding:48px;border-radius:var(--r-xl);text-align:center;}
.media-contact-box h3{font-weight:700;font-size:28px;margin-bottom:12px;}
.media-contact-box p{font-size:14px;color:var(--text-mid);margin-bottom:24px;max-width:460px;margin-left:auto;margin-right:auto;}
.email-mailto-btn{display:inline-flex;align-items:center;gap:12px;background:#fff;padding:14px 24px;border-radius:var(--r-pill);font-weight:700;font-size:14px;color:var(--text);transition:all .25s var(--ease);}
.email-mailto-btn:hover{box-shadow:var(--sh);transform:translateY(-1px);}

/* ── Partners page ───────────────────────────────────────────────────────── */
.stat-badges{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px;}
.stat-badge{background:#fff;border:1px solid var(--border);padding:12px 22px;border-radius:var(--r-pill);font-weight:700;font-size:13px;box-shadow:var(--sh-sm);}
.stat-badge strong{color:var(--red);margin-right:6px;}
.sanrio-card{background:linear-gradient(135deg,var(--pink) 0%,#FFD6E0 100%);border-radius:var(--r-xl);padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.sanrio-badge{display:inline-block;background:#fff;color:var(--red);font-weight:700;font-size:11px;letter-spacing:.15em;padding:6px 14px;border-radius:var(--r-pill);margin-bottom:18px;}
.sanrio-title-en{font-family:var(--serif);font-style:italic;font-weight:500;line-height:1.05;letter-spacing:-.01em;margin-bottom:18px;}
.sanrio-title-en .line2{color:var(--red);}
.sanrio-info p{font-size:15px;color:var(--text);line-height:1.8;margin-bottom:16px;}
.sanrio-meta div{font-size:13px;margin-bottom:6px;}
.sanrio-meta strong{color:var(--red);}
.sanrio-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1;}
.sanrio-img img{width:100%;height:100%;object-fit:cover;}
.channels-wrap{background:var(--bg);}
.channels-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px;}
.channel-card{background:#fff;border-radius:var(--r-xl);padding:44px 36px;transition:all .3s var(--ease);}
.channel-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}
.channel-logo{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--text);margin-bottom:8px;}
.channel-card h4{font-weight:700;font-size:22px;margin-bottom:12px;}
.channel-card .channel-line1{font-weight:700;font-size:15px;color:var(--text);margin-bottom:8px;}
.channel-card .channel-line2{font-size:14px;color:var(--text-mid);line-height:1.7;margin-bottom:22px;}
.global-wrap{background:#fff;}
.global-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;}
.partner-card{background:var(--bg);padding:32px 20px;border-radius:var(--r-lg);text-align:center;transition:all .25s var(--ease);}
.partner-card:hover{background:#fff;box-shadow:var(--sh);}
.partner-name{font-weight:700;font-size:16px;margin-bottom:6px;}
.partner-country{font-size:12px;color:var(--text-soft);letter-spacing:.08em;}

/* ── Contact page ────────────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:stretch;}
.contact-card{background:var(--bg);border-radius:var(--r-xl);padding:44px 36px;min-height:420px;display:flex;flex-direction:column;justify-content:center;}
.contact-card h3{font-weight:700;font-size:26px;margin-bottom:28px;}
.contact-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--border-soft);}
.contact-row:last-child{border-bottom:0;}
.contact-icon{font-size:18px;width:28px;flex-shrink:0;margin-top:2px;}
.contact-label{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin-bottom:4px;}
.contact-val{font-size:14px;color:var(--text);line-height:1.6;}
/* Google Maps iframe */
.map-container{border-radius:var(--r-xl);overflow:hidden;min-height:420px;}
.map-container iframe{width:100%;height:100%;min-height:420px;border:0;display:block;}
/* Inquiry cards */
.inquiry-wrap{background:var(--bg);}
.inquiry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;}
.inquiry-card{background:#fff;padding:32px 24px;border-radius:var(--r-lg);transition:all .3s var(--ease);}
.inquiry-card:hover{transform:translateY(-4px);box-shadow:var(--sh);}
.inquiry-icon{font-size:32px;margin-bottom:14px;}
.inquiry-card h4{font-weight:700;font-size:16px;margin-bottom:8px;}
.inquiry-card p{font-size:13px;color:var(--text-mid);line-height:1.6;}
/* FAQ */
.faq-list{max-width:780px;margin:48px auto 0;}
.faq-item{border-bottom:1px solid var(--border-soft);}
.faq-q{width:100%;text-align:left;padding:22px 0;font-weight:700;font-size:16px;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--sans);}
.faq-q::after{content:"+";font-size:22px;font-weight:400;color:var(--red);flex-shrink:0;transition:transform .25s var(--ease);}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;font-size:14px;color:var(--text-mid);line-height:1.8;transition:max-height .35s var(--ease),padding .35s var(--ease);}
.faq-item.open .faq-a{max-height:300px;padding-bottom:22px;}
/* CS box */
.cs-wrap{background:var(--bg);}
.cs-box{max-width:680px;margin:0 auto;background:var(--blue);padding:48px;border-radius:var(--r-xl);text-align:center;}
.cs-box .cs-icon{font-size:40px;margin-bottom:18px;}
.cs-box h3{font-weight:700;font-size:26px;margin-bottom:12px;}
.cs-box p{font-size:14px;color:var(--text-mid);margin-bottom:28px;}

/* ── Responsive pages ────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .story-grid,.contact-grid{grid-template-columns:1fr;gap:36px;}
  .values-grid{grid-template-columns:1fr;}
  .sanrio-card{grid-template-columns:1fr;padding:48px 36px;}
  .channels-grid{grid-template-columns:1fr;}
  .global-grid{grid-template-columns:repeat(2,1fr);}
  .inquiry-grid{grid-template-columns:repeat(2,1fr);}
  .press-grid,.video-grid{grid-template-columns:1fr 1fr;}
  .product-grid-3{grid-template-columns:repeat(2,1fr);}
  .photo-strip{grid-template-columns:repeat(3,1fr);}
  .map-container{min-height:300px;}
  .map-container iframe{min-height:300px;}
  .contact-card{min-height:auto;}
}
@media(max-width:768px){
  .tl-item{width:100%;padding:20px 0 20px 44px;text-align:left!important;margin-left:0!important;}
  .tl-item::before{left:6px!important;right:auto!important;}
  .timeline::before{left:12px;}
  .sanrio-card{padding:32px 24px;}
  .global-grid{grid-template-columns:1fr 1fr;}
  .inquiry-grid{grid-template-columns:1fr 1fr;}
  .product-grid-3{grid-template-columns:1fr 1fr;}
  .photo-strip{grid-template-columns:1fr 1fr;}
  .media-contact-box,.cs-box{padding:32px 24px;}
  .press-grid,.video-grid{grid-template-columns:1fr;}
  .mission-box{padding:36px 24px;}
  .contact-card{padding:32px 24px;}
}
@media(max-width:480px){
  .inquiry-grid{grid-template-columns:1fr;}
  .product-grid-3{grid-template-columns:1fr;}
}

/* ── Timeline: remove dash from li, keep center line ────────────────────── */
.tl-content li::before { content: ""; }
.tl-subtitle2 {
  font-family: var(--sans);
  font-weight: 400;
  font-size: 12pt;
  color: #EF426F;
  margin-bottom: 8px;
  line-height: 1.5;
}
/* sanrio-meta spacing */
.sanrio-meta strong { margin-right: 8px; }
/* channel-logo larger */
.channel-logo { font-size: 32px !important; margin-bottom: 14px !important; }
/* FAQ answer left align */
.faq-a { text-align: left; }

/* partner-card as link */
a.partner-card { display: block; text-decoration: none; color: inherit; cursor: pointer; }
a.partner-card:hover { background: #fff; box-shadow: var(--sh); transform: translateY(-2px); }

/* ── Brand page adjustments ─────────────────────────────────────────────── */
/* Reduce story section top padding */
.story-wrap .section-pad { padding-top: 56px; }
/* Square story image */
.story-img { aspect-ratio: 1/1 !important; }
/* tl-year: 3pt bigger, more bottom padding */
.tl-year { font-size: 33px !important; padding-bottom: 5px !important; }

/* ── Article modal & Admin panel ─────────────────────────────────────────── */
.article-overlay,.admin-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;align-items:center;justify-content:center;padding:20px;}
.article-overlay.open,.admin-overlay.open{display:flex;}
.article-modal{background:#fff;border-radius:24px;max-width:680px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.15);}
.article-modal-head{padding:24px 28px 18px;border-bottom:1px solid #f2f2f4;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.article-modal-head h3{font-weight:700;font-size:17px;line-height:1.4;flex:1;}
.article-modal-head .modal-date{font-size:12px;font-weight:700;color:var(--red);margin-bottom:4px;letter-spacing:.1em;}
.modal-close{font-size:26px;cursor:pointer;color:#999;line-height:1;flex-shrink:0;padding:2px;transition:color .2s;}
.modal-close:hover{color:#333;}
.article-modal-body{padding:24px 28px;overflow-y:auto;font-size:14px;color:#555;line-height:1.85;}
.article-modal-body h3{font-weight:700;font-size:16px;color:#1A1A2E;margin-bottom:14px;}
.article-modal-body p{margin-bottom:12px;}
.article-modal-body img{max-width:100%;border-radius:12px;margin-top:8px;}
/* Admin */
.admin-panel{background:#fff;border-radius:24px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.15);}
.admin-head{padding:22px 26px 16px;border-bottom:1px solid #f2f2f4;display:flex;justify-content:space-between;align-items:center;}
.admin-head h3{font-weight:700;font-size:18px;}
.admin-body{padding:24px 26px;}
.admin-body label{display:block;font-weight:700;font-size:12px;letter-spacing:.1em;color:#555;margin-bottom:6px;margin-top:16px;}
.admin-body label:first-child{margin-top:0;}
.admin-body input,.admin-body select,.admin-body textarea{width:100%;padding:10px 14px;border:1.5px solid #e8e8ec;border-radius:10px;font-family:var(--sans);font-size:14px;color:#1A1A2E;outline:none;transition:border-color .2s;}
.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{border-color:var(--red);}
.admin-body textarea{resize:vertical;min-height:120px;}
.admin-submit{margin-top:18px;width:100%;padding:14px;background:var(--red);color:#fff;border:0;border-radius:var(--r-pill);font-weight:700;font-size:14px;cursor:pointer;transition:background .2s;}
.admin-submit:hover{background:var(--red-dark);}
.admin-btn{position:fixed;bottom:28px;right:28px;background:#1A1A2E;color:#fff;border:0;padding:12px 20px;border-radius:var(--r-pill);font-family:var(--sans);font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:50;transition:background .2s;}
.admin-btn:hover{background:#333;}

/* partner-card div (no link): disable hover effect */
div.partner-card { cursor: default !important; }
div.partner-card:hover { background: var(--bg) !important; box-shadow: none !important; transform: none !important; }

/* ── Season 2 Preview cards ────────────────────────────────────────────── */
.season2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px;}
.season2-card{padding:28px 24px;background:rgba(255,255,255,.7);border-radius:var(--r-lg);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.5);}
.season2-tag{display:inline-block;padding:4px 10px;background:var(--red);color:#fff;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:14px;}
.season2-card h4{font-weight:700;font-size:17px;margin-bottom:8px;color:var(--text);}
.season2-card p{font-size:13px;color:var(--text-mid);line-height:1.65;}
@media(max-width:1024px){.season2-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.season2-grid{grid-template-columns:1fr;}}

/* ── Main Partners cards (4) ────────────────────────────────────────────── */
.main-partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.mp-card{background:#fff;padding:52px 28px;border-radius:var(--r-lg);border:1px solid var(--border-soft);text-decoration:none;color:var(--text);transition:all .3s var(--ease);display:block;}
.mp-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:var(--sh);}
.mp-logo{font-family:var(--serif);font-style:italic;font-size:35px;color:var(--red);margin-bottom:16px;line-height:1;}
.mp-card h4{font-weight:700;font-size:19px;margin-bottom:10px;}
.mp-card p{font-size:13px;color:var(--text-mid);line-height:1.65;margin-bottom:18px;min-height:42px;}
.mp-arr{font-weight:700;font-size:13px;color:var(--red);}
@media(max-width:1024px){.main-partners-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.main-partners-grid{grid-template-columns:1fr;}}

/* ── Shipping info cards ─────────────────────────────────────────────────── */
.shipping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.shipping-card{background:var(--bg2);padding:32px 28px;border-radius:var(--r-lg);text-align:center;}
.shipping-icon{font-size:36px;margin-bottom:14px;}
.shipping-card h4{font-weight:700;font-size:17px;margin-bottom:16px;}
.shipping-card ul{list-style:none;padding:0;margin:0;text-align:center;}
.shipping-card ul li{font-size:13px;color:var(--text-mid);line-height:1.8;text-align:center;}
@media(max-width:768px){.shipping-grid{grid-template-columns:1fr;}}

/* ── Season 2 preview images ────────────────────────────────────────────── */
.season2-img{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r);margin-bottom:16px;background:var(--bg2);}
.season2-img img{width:100%;height:100%;object-fit:cover;display:block;}
