@charset "UTF-8";
:root{
  --wine:#8d0f2f;
  --wine-dark:#681126;
  --wine-soft:#f8ecef;
  --ice:#edf8fa;
  --ice-strong:#ccecf2;
  --ink:#1b2932;
  --muted:#5f7079;
  --paper:#fff;
  --soft:#f7f9fa;
  --line:rgba(27,41,50,.12);
  --shadow:0 14px 38px rgba(31,45,54,.09);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:124px}
body{margin:0;padding-top:114px;color:var(--ink);background:#fff;font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,figure,ul{margin:0}
h1,h2,h3{text-wrap:balance;word-break:auto-phrase;line-break:strict}
.nowrap{white-space:nowrap}
.mobile-break{display:none}
button{border:0;color:inherit;font:inherit}
.report-shell{width:min(1140px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;z-index:11000;top:8px;left:8px;padding:9px 13px;color:#fff;background:var(--ink);border-radius:9px;transform:translateY(-150%)}
.skip-link:focus{transform:none}

/* 共通ヘッダー */
.dbs-site-header,.dbs-site-footer,.dbs-mobile-booking{font-family:var(--sans)}
.dbs-site-header .wrap,.dbs-site-footer .wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.dbs-site-header{position:fixed;z-index:10000;top:0;right:0;left:0;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(31,45,54,.05);backdrop-filter:blur(18px) saturate(1.12);transition:.2s}
.dbs-site-header.is-scrolled{background:rgba(255,255,255,.98);box-shadow:0 7px 24px rgba(31,45,54,.09)}
.dbs-header-main{height:66px;display:flex;align-items:center;gap:22px}
.dbs-header-brand{display:inline-flex;align-items:center;line-height:0}
.dbs-brand-logo{width:auto;height:auto;object-fit:contain}
.dbs-site-header .dbs-brand-logo--full{display:block;width:190px;max-height:56px}
.dbs-site-header .dbs-brand-logo--mark{display:none}
.dbs-header-actions{display:flex;align-items:center;gap:11px;margin-left:auto}
.glass-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:8px 18px;border:1px solid rgba(111,160,177,.42);border-radius:999px;color:#16313c;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(226,247,250,.84) 48%,rgba(185,229,238,.78));box-shadow:inset 0 1px 0 #fff,0 7px 20px rgba(50,105,119,.13);font-size:12px;font-weight:800;transition:.2s}
.glass-button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 11px 24px rgba(50,105,119,.18)}
.glass-button.large{min-height:48px;padding:10px 22px}
.dbs-menu-toggle{display:none;position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:#fff}
.dbs-menu-toggle span{position:absolute;left:11px;width:19px;height:1px;background:var(--ink);transition:.2s}
.dbs-menu-toggle span:nth-child(1){top:13px}
.dbs-menu-toggle span:nth-child(2){top:20px}
.dbs-menu-toggle span:nth-child(3){top:27px}
.dbs-menu-toggle[aria-expanded="true"] span:nth-child(1){top:20px;transform:rotate(45deg)}
.dbs-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.dbs-menu-toggle[aria-expanded="true"] span:nth-child(3){top:20px;transform:rotate(-45deg)}
.dbs-main-nav{height:48px;border-top:1px solid rgba(24,36,45,.06)}
.dbs-main-nav .wrap{height:100%;display:flex;align-items:center;justify-content:center;gap:2px}
.dbs-main-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 13px;border-radius:11px;font-size:11px;font-weight:700;white-space:nowrap}
.dbs-main-nav a:hover,.dbs-main-nav a.is-current{color:var(--wine);background:var(--wine-soft)}
.dbs-main-nav .dbs-nav-price-cta{gap:7px;border:1px solid rgba(111,160,177,.25);background:var(--ice)}

/* Hero */
.breadcrumb{display:flex;align-items:center;gap:9px;padding-top:14px;color:#78868d;font-size:11px;font-weight:600}
.breadcrumb a:hover{color:var(--wine)}
.report-hero{position:relative;overflow:hidden;padding:31px 0 38px;background:radial-gradient(circle at 88% 8%,rgba(199,235,241,.72),transparent 31%),linear-gradient(150deg,#fff 0%,#fafcfc 55%,#f2f7f8 100%)}
.report-hero::after{content:"333";position:absolute;right:-12px;bottom:-85px;color:rgba(141,15,47,.028);font:700 220px/1 var(--serif);pointer-events:none}
.report-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:48px}
.report-kicker{display:flex;align-items:center;gap:10px;color:#62737c;font-size:10px;font-weight:800;letter-spacing:.1em}
.report-kicker::before{content:"";width:30px;height:2px;background:var(--wine)}
.report-kicker span{padding:3px 7px;border:1px solid rgba(141,15,47,.18);border-radius:999px;color:var(--wine);letter-spacing:.08em}
.report-hero h1{margin-top:16px;font-size:clamp(34px,3.3vw,43px);font-weight:800;line-height:1.38;letter-spacing:-.045em}
.report-hero h1 span,.report-hero h1 em{display:block}
.report-hero h1 span{color:var(--ink)}
.report-hero h1 em{color:var(--wine);font-style:normal}
.report-lead{max-width:650px;margin-top:17px;color:#53656e;font-size:15.5px;font-weight:500;line-height:1.85}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:47px;padding:10px 20px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--wine),var(--wine-dark));box-shadow:0 10px 24px rgba(141,15,47,.18);font-size:12px;font-weight:800;transition:.2s}
.primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 29px rgba(141,15,47,.24)}
.text-button{display:inline-flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(24,36,45,.24);font-size:12px;font-weight:800}
.hero-report-card{position:relative;padding:22px;border:1px solid rgba(255,255,255,.88);border-radius:25px;background:rgba(255,255,255,.78);box-shadow:0 20px 50px rgba(38,65,74,.13),inset 0 1px 0 #fff;backdrop-filter:blur(20px)}
.card-overline{color:#708087;font-size:10px!important;font-weight:700!important;line-height:1.4!important}
.hero-total{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:11px;margin-top:10px;padding:15px 2px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-total>span{align-self:center;font-size:13px;font-weight:800}
.hero-total strong{color:var(--wine);font:700 76px/.75 var(--serif);letter-spacing:-.05em;text-align:center}
.hero-total small{font-size:12px;font-weight:800}
.hero-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.hero-score-grid article{padding:10px 6px;border:1px solid var(--line);border-radius:13px;background:rgba(250,252,252,.86);text-align:center}
.hero-score-grid small{display:block;color:#708087;font-size:9px;font-weight:700}
.hero-score-grid strong{font:700 25px/1.2 var(--serif)}
.hero-score-grid span{font-size:9px;font-weight:700}
.hero-report-card>p:last-child{margin-top:11px;color:#697980;font-size:11px;font-weight:500;line-height:1.65}

/* 集計方法 */
.method-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.method-details{font-size:13px}
.method-details summary{position:relative;padding:17px 32px 17px 0;cursor:pointer;color:#31434c;font-weight:800;list-style:none}
.method-details summary::-webkit-details-marker{display:none}
.method-details summary::after{content:"＋";position:absolute;right:2px;top:50%;color:var(--wine);font-size:18px;transform:translateY(-50%)}
.method-details[open] summary::after{content:"−"}
.method-details>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 0 17px}
.method-details p{color:var(--muted);font-size:13.5px;line-height:1.75}

/* 共通セクション */
.results-section,.profile-section,.coupon-section,.language-section,.tone-section,.related-section{padding:46px 0}
.section-heading{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1fr);align-items:end;gap:48px;margin-bottom:25px}
.section-label{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:var(--wine);font-size:10px;font-weight:800;letter-spacing:.05em}
.section-label span{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(141,15,47,.25);border-radius:50%;font-size:8px;letter-spacing:0}
.section-heading h2,.tone-copy h2{font-size:clamp(27px,2.45vw,32px);font-weight:800;line-height:1.5;letter-spacing:-.035em}
.section-heading>p,.tone-copy>p{color:var(--muted);font-size:15.5px;font-weight:500;line-height:1.85}

/* 評価 */
.results-section{background:var(--soft)}
.rating-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}
.rating-summary-card{padding:23px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#991638,#681126);box-shadow:0 16px 38px rgba(101,16,37,.18)}
.rating-summary-card>small{font-size:10px;font-weight:700}
.rating-summary-card>strong{display:block;margin-top:8px;font:700 72px/.88 var(--serif)}
.stars{margin-top:13px;color:#ffe6b0;font-size:18px;letter-spacing:.1em}
.rating-summary-card>p{margin-top:13px;color:rgba(255,255,255,.78);font-size:12px;line-height:1.65}
.rating-bars{display:grid;gap:8px;padding:18px 20px;border:1px solid var(--line);border-radius:22px;background:#fff}
.rating-row{display:grid;grid-template-columns:27px minmax(0,1fr) 57px 50px;align-items:center;gap:10px}
.rating-row>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ice);font:700 14px/1 var(--serif)}
.rating-row>div{height:9px;overflow:hidden;border-radius:999px;background:#edf0f1}
.rating-row i{display:block;width:var(--bar);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--wine),#ce768d)}
.rating-row strong,.rating-row span{font-size:11px;text-align:right}
.rating-row span{color:#74838a}
.subscore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}
.subscore-grid article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:#fff}
.subscore-grid span{color:#5e6f77;font-size:10px;font-weight:700}
.subscore-grid strong{font:700 25px/1 var(--serif)}
.rating-note{margin-top:10px;padding:12px 15px;border-left:3px solid var(--wine);color:#53656e;background:#fff;font-size:13.5px;line-height:1.7}

/* 投稿プロフィール */
.profile-layout{display:grid;grid-template-columns:minmax(0,1.45fr) 285px;gap:18px}
.age-chart{display:grid;gap:10px;padding:21px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(31,45,54,.05)}
.age-chart>div{display:grid;grid-template-columns:78px minmax(0,1fr) 50px 43px;align-items:center;gap:10px;min-height:28px}
.age-chart span{font-size:11px;font-weight:700}
.age-chart i{height:18px;padding:4px;border-radius:999px;background:#eef2f3}
.age-chart b{display:block;width:var(--bar);height:100%;border-radius:999px;background:linear-gradient(90deg,#b7e5ed,#69becf)}
.age-chart strong,.age-chart small{text-align:right;font-size:11px}
.age-chart small{color:#74838a;font-size:9px}
.gender-card{padding:19px 22px;border-radius:22px;color:#fff;background:#21323a;box-shadow:var(--shadow)}
.gender-card>p{margin-bottom:5px;color:rgba(255,255,255,.72);font-size:10px;font-weight:700}
.gender-card>div{display:grid;grid-template-columns:70px 1fr;align-items:center;padding:12px 0;border-top:1px solid rgba(255,255,255,.13)}
.gender-card strong{font:700 38px/.85 var(--serif)}
.gender-card span{font-size:11px;line-height:1.55}
.gender-card b{color:#a9dde6;font-size:10px}

/* 予約時クーポン */
.coupon-section{background:linear-gradient(145deg,#eff8fa,#f8fbfc 62%,#edf5f6)}
.coupon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.coupon-grid article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;min-height:145px;padding:20px 21px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(31,45,54,.05)}
.coupon-grid article:first-child{color:#fff;background:linear-gradient(145deg,#971536,#681126);border-color:transparent}
.coupon-grid article>span{grid-column:1/-1;color:var(--wine);font-size:11px;font-weight:800}
.coupon-grid article:first-child>span{color:#ffd4df}
.coupon-grid strong{font:700 54px/.9 var(--serif)}
.coupon-grid strong small{margin-left:4px;font:700 11px/1 var(--sans)}
.coupon-grid p{font-size:13.5px;font-weight:700;line-height:1.6}
.coupon-caution{margin-top:10px;color:#566870;font-size:13px;line-height:1.7}

/* 本文言及 */
.language-section{background:#fff}
.mention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mention-grid article{display:grid;grid-template-columns:72px 1fr;align-items:start;gap:13px;min-height:142px;padding:19px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(150deg,#fff,#f9fbfb);box-shadow:0 8px 24px rgba(31,45,54,.04)}
.mention-grid strong{color:var(--wine);font:700 48px/.9 var(--serif)}
.mention-grid strong small{margin-left:3px;font:700 10px/1 var(--sans)}
.mention-grid h3{font-size:15px;line-height:1.55}
.mention-grid p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.7}

/* トーン */
.tone-section{background:var(--ice)}
.tone-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(470px,1fr);gap:44px;align-items:center}
.tone-copy h2{margin-top:2px}
.tone-copy>p{margin-top:12px}
.tone-copy>a{display:inline-flex;gap:9px;margin-top:17px;padding-bottom:5px;border-bottom:1px solid rgba(24,36,45,.24);font-size:12px;font-weight:800}
.tone-table-wrap{padding:19px 21px;border:1px solid rgba(255,255,255,.96);border-radius:21px;background:rgba(255,255,255,.84);box-shadow:0 12px 34px rgba(51,89,97,.09)}
table{width:100%;border-collapse:collapse;font-size:12px}
caption{margin-bottom:9px;text-align:left;font-size:15px;font-weight:800}
th,td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left}
thead th{color:#6e7d84;font-size:10px}
tbody th{font-weight:800}
tbody td{color:#5a6c74}
.tone-table-wrap>p{margin-top:10px;color:#687980;font-size:11px}

/* 関連リンク・CTA */
.related-section{background:#fff}
.related-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.related-grid a{display:flex;flex-direction:column;justify-content:center;min-height:92px;padding:15px 17px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(150deg,#fff,#f7fafb);transition:.2s}
.related-grid a:hover{transform:translateY(-3px);border-color:rgba(141,15,47,.23);box-shadow:0 11px 27px rgba(31,45,54,.07)}
.related-grid strong{font-size:13px}
.related-grid span{margin-top:7px;color:#687980;font-size:10px;font-weight:700}
.final-cta{padding:0 0 46px}
.final-cta-card{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:29px 32px;border-radius:23px;color:#fff;background:linear-gradient(135deg,#1f2e36,#304852);box-shadow:var(--shadow)}
.final-cta-card>div>p{color:#a9dce5;font-size:10px;font-weight:800}
.final-cta-card h2{margin-top:7px;font-size:25px;line-height:1.5;letter-spacing:-.025em}
.final-cta-card>div>span{display:block;max-width:650px;margin-top:8px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.7}

/* Footer */
.dbs-site-footer{color:#26363e;background:#eef3f4;border-top:1px solid var(--line)}
.dbs-footer-main{display:grid;grid-template-columns:1.25fr .85fr 1fr;gap:38px;padding:34px 0}
.dbs-site-footer .dbs-brand-logo--full{width:215px;max-height:70px}
.dbs-footer-info{margin-top:14px;color:#607179;font-size:10px;line-height:1.75}
.dbs-footer-info strong{display:block;margin-bottom:5px;color:#26363e;font-size:12px}
.dbs-footer-nav h3,.dbs-footer-booking h3{font-size:13px}
.dbs-footer-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin-top:12px}
.dbs-footer-nav-grid a{color:#5f7078;font-size:10px;font-weight:600}
.dbs-footer-nav-grid a.is-current{color:var(--wine);font-weight:800}
.dbs-footer-booking{padding:18px;border:1px solid rgba(255,255,255,.88);border-radius:19px;background:rgba(255,255,255,.68)}
.dbs-footer-booking p{margin-top:8px;color:#61727a;font-size:10px;line-height:1.7}
.dbs-footer-booking .glass-button{width:100%;margin-top:12px;padding-inline:12px;font-size:10px}
.dbs-footer-bottom{border-top:1px solid var(--line)}
.dbs-footer-bottom .wrap{min-height:58px;display:flex;align-items:center;justify-content:space-between}
.dbs-socials{display:flex;gap:7px}
.dbs-socials a{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:10px;font-weight:800}
.dbs-copyright{color:#74838a;font-size:9px}
.dbs-mobile-booking{display:none}

@media(max-width:1050px){
  .report-hero-grid{grid-template-columns:minmax(0,1fr) 355px;gap:34px}
  .dbs-main-nav a{padding-inline:10px;font-size:10.5px}
  .section-heading{gap:30px}
  .rating-layout{grid-template-columns:245px 1fr}
  .related-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:900px){
  html{scroll-padding-top:66px}
  body{padding-top:0;padding-bottom:68px}
  .report-shell,.dbs-site-header .wrap,.dbs-site-footer .wrap{width:calc(100% - 28px)}
  .dbs-site-header{position:relative}
  .dbs-header-main{height:60px}
  .dbs-site-header .dbs-brand-logo--full{display:none}
  .dbs-site-header .dbs-brand-logo--mark{display:block;width:31px;max-height:42px}
  .dbs-header-reserve{display:none}
  .dbs-menu-toggle{display:block}
  .dbs-main-nav{display:none;position:fixed;z-index:10001;top:60px;right:0;bottom:0;left:0;height:calc(100dvh - 60px);overflow-y:auto;background:rgba(247,250,251,.988);box-shadow:0 20px 46px rgba(31,45,54,.18);backdrop-filter:blur(24px)}
  .dbs-main-nav.open{display:block}
  .dbs-main-nav .wrap{width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;padding:14px 16px max(28px,env(safe-area-inset-bottom))}
  .dbs-main-nav a{min-height:55px;border:1px solid var(--line);background:#fff;font-size:13px}
  .dbs-main-nav .dbs-nav-price-cta{grid-column:1/-1;margin:6px 0}
  .breadcrumb{padding-top:11px;font-size:10px}
  .report-hero{padding:25px 0 30px}
  .report-hero-grid{display:block}
  .report-hero h1{font-size:34px}
  .hero-report-card{max-width:600px;margin-top:22px}
  .method-details>div{grid-template-columns:1fr;gap:8px}
  .section-heading{grid-template-columns:1fr;gap:10px}
  .rating-layout{grid-template-columns:230px 1fr}
  .profile-layout{grid-template-columns:1fr}
  .gender-card{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .gender-card>p{grid-column:1/-1}
  .gender-card>div{grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.13)}
  .coupon-grid{grid-template-columns:1fr 1fr}
  .coupon-grid article:first-child{grid-column:1/-1}
  .mention-grid{grid-template-columns:1fr 1fr}
  .tone-layout{grid-template-columns:1fr;gap:27px}
  .related-grid{grid-template-columns:1fr 1fr}
  .final-cta-card{display:block}
  .final-cta-card .glass-button{margin-top:20px}
  .dbs-footer-main{grid-template-columns:1fr;gap:22px;padding:27px 0}
  .dbs-site-footer .dbs-brand-logo--full{width:205px}
  .dbs-footer-bottom .wrap{min-height:76px;align-items:flex-start;flex-direction:column;justify-content:center;gap:7px}
  .dbs-mobile-booking{position:fixed;z-index:10020;right:10px;bottom:max(7px,env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px;padding:5px;border:1px solid rgba(255,255,255,.92);border-radius:23px;background:rgba(247,250,251,.82);box-shadow:0 14px 32px rgba(31,45,54,.15);backdrop-filter:blur(24px)}
  .dbs-mobile-booking .glass-button{width:100%;min-height:44px;padding:7px 9px;font-size:11px;white-space:nowrap}
  .dbs-dock-price{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:18px;background:#fff;font-size:10px;font-weight:900}
  .dbs-dock-price::before{content:"¥";margin-right:4px;color:var(--wine)}
}

/* 2026-08-24: research and data hub */
.research-hero{padding:34px 0 38px}
.research-hero::after{content:"DATA";right:1%;bottom:-52px;font-size:150px}
.research-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:44px}
.research-hero h1{margin-top:15px;font-size:clamp(34px,3.25vw,43px);font-weight:800;line-height:1.35;letter-spacing:-.04em}
.research-hero h1 em{color:var(--wine);font-style:normal}
.research-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:20px;border:1px solid rgba(255,255,255,.9);border-radius:23px;background:rgba(255,255,255,.8);box-shadow:0 18px 44px rgba(38,65,74,.12)}
.research-summary article{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}
.research-summary strong{color:var(--wine);font:700 45px/.9 var(--serif)}
.research-summary span{color:#53656e;font-size:10px;font-weight:800;line-height:1.55}
.research-summary>p{grid-column:1/-1;color:#65767e;font-size:11.5px;line-height:1.7}
.research-list,.research-policy,.research-hub .related-section{padding:38px 0}
.research-list{background:var(--soft)}
.research-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.research-card{position:relative;display:block;padding:22px 23px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 10px 30px rgba(31,45,54,.05);transition:.2s}
.research-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(31,45,54,.09)}
.research-card.primary{color:#fff;background:linear-gradient(145deg,#971536,#681126);border-color:transparent}
.research-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.research-card-top span{padding:4px 8px;border-radius:999px;color:var(--wine);background:var(--wine-soft);font-size:9px;font-weight:800}
.research-card.primary .research-card-top span{color:#fff;background:rgba(255,255,255,.14)}
.research-card-top small{color:#718087;font-size:9px}
.research-card.primary .research-card-top small{color:rgba(255,255,255,.68)}
.research-card>strong{display:block;margin-top:13px;color:var(--wine);font:700 62px/.85 var(--serif)}
.research-card.primary>strong{color:#fff}
.research-card>strong small{margin-left:4px;font:700 11px/1 var(--sans)}
.research-card h3{margin-top:10px;font-size:19px;line-height:1.5}
.research-card p{margin-top:8px;color:#5e7078;font-size:13.5px;line-height:1.75}
.research-card.primary p{color:rgba(255,255,255,.78)}
.research-card>b{display:inline-block;margin-top:14px;padding-bottom:4px;border-bottom:1px solid rgba(24,36,45,.2);font-size:11px}
.research-card.primary>b{border-color:rgba(255,255,255,.38)}
.research-policy{background:#fff}
.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.policy-grid article{padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,#fff,#f8fbfb)}
.policy-grid span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;background:var(--wine);font-size:8px;font-weight:800}
.policy-grid h3{margin-top:12px;font-size:14px}
.policy-grid p{margin-top:6px;color:#5f7079;font-size:12.5px;line-height:1.7}

@media(max-width:900px){
  .research-hero-grid{grid-template-columns:1fr;gap:22px}
  .research-summary{max-width:620px}
  .policy-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:1050px) and (min-width:621px){
  .research-cards{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
  .research-hero{padding:25px 0 29px}
  .research-hero h1{font-size:28px;line-height:1.4}
  .research-summary{padding:13px;border-radius:18px}
  .research-summary{grid-template-columns:1fr 1fr}
  .research-summary article{padding:10px}
  .research-summary strong{font-size:37px}
  .research-list,.research-policy,.research-hub .related-section{padding:27px 0}
  .research-cards{grid-template-columns:1fr;gap:8px}
  .research-card{padding:17px 16px;border-radius:18px}
  .research-card>strong{font-size:50px}
  .research-card h3{font-size:17px}
  .research-card p{font-size:13.5px;line-height:1.7}
  .policy-grid{grid-template-columns:1fr;gap:7px}
  .policy-grid article{display:grid;grid-template-columns:32px 1fr;gap:3px 9px;padding:13px 14px}
  .policy-grid span{grid-row:1/3}
  .policy-grid h3{margin-top:2px}
  .policy-grid p{margin-top:1px}
}

@media(max-width:620px){
  body{padding-bottom:52px}
  .report-shell,.dbs-site-header .wrap,.dbs-site-footer .wrap{width:calc(100% - 24px)}
  .report-kicker{font-size:9px;letter-spacing:.04em}
  .report-kicker::before{width:22px}
  .mobile-break{display:block}
  .report-hero h1{margin-top:13px;font-size:28px;line-height:1.4;letter-spacing:-.03em}
  .report-lead{margin-top:13px;font-size:14.5px;line-height:1.74}
  .hero-actions{align-items:stretch;flex-direction:column;gap:6px;margin-top:18px}
  .primary-button{width:100%;min-height:43px}
  .text-button{align-self:center}
  .hero-report-card{padding:15px;border-radius:19px}
  .hero-total{padding:10px 0}
  .hero-total>span{font-size:12px}
  .hero-total strong{font-size:60px}
  .hero-score-grid{gap:5px}
  .hero-score-grid article{padding:7px 3px}
  .hero-score-grid small{font-size:8px}
  .hero-score-grid strong{font-size:20px}
  .hero-report-card>p:last-child{font-size:11px}
  .method-details summary{padding-block:13px;font-size:12.5px}
  .method-details p{font-size:13.5px;line-height:1.7}
  .results-section,.profile-section,.coupon-section,.language-section,.tone-section,.related-section{padding:30px 0}
  .section-heading{margin-bottom:16px}
  .section-heading h2,.tone-copy h2{font-size:23px;line-height:1.45;letter-spacing:-.02em}
  .section-heading>p,.tone-copy>p{font-size:14.5px;line-height:1.72}
  .rating-layout{display:block}
  .rating-summary-card{padding:17px}
  .rating-summary-card>strong{font-size:58px}
  .rating-bars{margin-top:8px;padding:13px 11px}
  .rating-row{grid-template-columns:25px minmax(0,1fr) 45px 43px;gap:6px}
  .rating-row strong,.rating-row span{font-size:9px}
  .subscore-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
  .subscore-grid article{padding:10px}
  .subscore-grid span{font-size:10px}
  .subscore-grid strong{font-size:21px}
  .rating-note{padding:10px 12px;font-size:13.5px;line-height:1.65}
  .age-chart{padding:15px 10px}
  .age-chart>div{grid-template-columns:61px minmax(0,1fr) 40px 38px;gap:6px}
  .age-chart span,.age-chart strong{font-size:10px}
  .age-chart small{font-size:8px}
  .gender-card{display:block;padding:13px 16px}
  .gender-card>div{grid-template-columns:54px 1fr;padding:8px 0}
  .gender-card strong{font-size:29px}
  .gender-card span{font-size:11.5px}
  .coupon-grid{display:grid;grid-template-columns:1fr;gap:8px}
  .coupon-grid article:first-child{grid-column:auto}
  .coupon-grid article{grid-template-columns:49px 73px 1fr;gap:7px;min-height:80px;padding:12px 14px}
  .coupon-grid article>span{grid-column:auto;font-size:10px}
  .coupon-grid strong{font-size:39px}
  .coupon-grid p{font-size:13.5px;word-break:keep-all;overflow-wrap:anywhere}
  .coupon-caution{font-size:13.5px;line-height:1.65}
  .mention-grid{grid-template-columns:1fr;gap:7px}
  .mention-grid article{grid-template-columns:61px 1fr;gap:10px;min-height:0;padding:14px}
  .mention-grid strong{font-size:39px}
  .mention-grid h3{font-size:14.5px}
  .mention-grid p{font-size:13.5px;line-height:1.65}
  .tone-layout{gap:18px}
  .tone-table-wrap{padding:13px 9px}
  table{font-size:11px}
  th,td{padding:6px 5px}
  thead th{font-size:9px}
  .related-grid{grid-template-columns:1fr;gap:7px}
  .related-grid a{min-height:58px;padding:10px 14px}
  .related-grid strong{font-size:13.5px}
  .related-grid span{margin-top:4px;font-size:11px}
  .final-cta{padding-bottom:30px}
  .final-cta-card{padding:20px 17px;border-radius:19px}
  .final-cta-card h2{font-size:20px;line-height:1.45}
  .final-cta-card>div>span{font-size:12.5px}
  .final-cta-card .glass-button{width:100%;font-size:11px}
  .dbs-footer-booking{padding:16px}
  .dbs-socials a{width:31px;height:31px}
  .dbs-mobile-booking{right:8px;bottom:max(4px,env(safe-area-inset-bottom));left:8px;grid-template-columns:50px minmax(0,1fr);gap:4px;padding:3px;border-radius:18px}
  .dbs-mobile-booking .glass-button{min-height:36px;padding:5px 8px;border-radius:15px;font-size:10px}
  .dbs-dock-price{min-height:36px;border-radius:15px;font-size:9.5px}
}

@media(max-width:360px){
  .report-hero h1{font-size:27px}
  .hero-total strong{font-size:58px}
  .hero-score-grid strong{font-size:19px}
  .age-chart>div{grid-template-columns:57px minmax(0,1fr) 39px}
  .age-chart small{display:none}
  .coupon-grid article{grid-template-columns:49px 67px 1fr;padding-inline:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* 2026-08-22: common site header alignment */
@media(min-width:901px){
  body{padding-top:124px}
  .dbs-site-header .wrap{width:min(1280px,calc(100% - 48px))}
  .dbs-header-main{height:72px;gap:24px}
  .dbs-site-header .dbs-brand-logo--full{width:210px;max-width:210px;max-height:62px}
  .dbs-header-actions{gap:12px}
  .dbs-header-reserve{
    width:270px;min-height:36px;padding:6px 17px;
    border:1px solid rgba(82,145,199,.54);border-radius:999px;
    color:#0f2a50;background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.72) 29%,rgba(122,216,246,.58) 52%,rgba(77,174,229,.70) 73%,rgba(226,249,255,.84) 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(25,103,165,.16),0 8px 24px rgba(30,91,143,.14),0 1px 2px rgba(10,47,83,.12);
    font-size:12px;font-weight:850;text-shadow:0 1px 0 rgba(255,255,255,.76)
  }
  .dbs-header-reserve .aqua-arrow{font-size:1.05em;line-height:1}
  .dbs-main-nav{height:auto;border-top:1px solid rgba(24,50,90,.07);background:rgba(247,252,254,.82)}
  .dbs-main-nav .wrap{height:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:0}
  .dbs-main-nav a{display:flex;min-height:51px;padding:8px 10px;border-right:1px solid rgba(24,50,90,.055);border-radius:0;font-size:14px;font-weight:800;letter-spacing:.01em}
  .dbs-main-nav a:first-child{border-left:1px solid rgba(24,50,90,.055)}
  .dbs-main-nav a:hover{color:#1c659d;background:rgba(127,217,238,.14)}
  .dbs-main-nav a.is-current{color:#183a62;background:linear-gradient(180deg,rgba(232,246,252,.92),rgba(255,255,255,.78));box-shadow:inset 0 -2px 0 rgba(73,153,201,.72)}
  .dbs-main-nav a.dbs-nav-price-cta{position:relative;isolation:isolate;overflow:hidden;gap:9px;min-height:38px;margin:5px 7px;padding:7px 12px 7px 15px;border:1px solid transparent;border-radius:999px;color:#173458;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,252,255,.90) 48%,rgba(235,248,253,.88)) padding-box,linear-gradient(112deg,#79dce9,#66b8e9 44%,#dda0c2) border-box;box-shadow:inset 0 1px 0 #fff,inset 0 -5px 12px rgba(84,176,220,.08),0 5px 13px rgba(30,85,130,.10),0 0 0 1px rgba(255,255,255,.70)}
  .dbs-nav-price-label{white-space:nowrap}
  .dbs-nav-price-arrow{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid rgba(58,122,174,.24);border-radius:50%;background:rgba(255,255,255,.72);font-size:12px}
}

@media(max-width:900px){
  .dbs-site-header{position:relative;min-height:62px;background:rgba(255,255,255,.92);box-shadow:0 6px 24px rgba(35,68,102,.05)}
  .dbs-header-main{height:62px;min-height:62px}
  .dbs-site-header .dbs-brand-logo--mark{width:32px;max-width:32px;max-height:43px}
  .dbs-menu-toggle{width:42px;height:42px;border-color:rgba(35,64,92,.10);border-radius:15px;background:rgba(255,255,255,.58);box-shadow:0 8px 24px rgba(24,50,75,.06),inset 0 1px 0 #fff}
  .dbs-main-nav{top:62px;height:calc(100dvh - 62px)}
  .dbs-main-nav .wrap{grid-template-columns:1fr 1fr;padding:14px 16px max(28px,env(safe-area-inset-bottom))}
  .dbs-main-nav a{min-height:58px;padding:8px 10px;border-radius:0;font-size:15px}
  .dbs-main-nav .wrap>a.dbs-nav-price-cta{grid-column:1/-1;min-height:64px;margin:7px 0;padding:10px 13px 10px 20px;justify-content:space-between;border-radius:20px}
  .dbs-nav-price-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(58,122,174,.24);border-radius:50%;background:rgba(255,255,255,.72);font-size:17px}
}
