/* ================================================
   PLATINUM PARTNERS - Main Stylesheet
   M&A Advisory Multi-page Site
   ================================================ */

:root{
  --ivory:#F7F3EA;
  --ivory-deep:#EFE9DC;
  --cream:#FAF7EE;
  --paper:#F4EFE2;
  --ink:#0E0E0C;
  --ink-soft:#26241F;
  --ink-warm:#1A1815;
  --muted:#7A766C;
  --line:#B8B2A3;
  --line-soft:#D9D3C3;
  --platinum:#A9A59A;
  --platinum-light:#C7C3B8;
  --gold:#8F7B4E;
  --gold-light:#B89E6A;
  --serif-jp:'Shippori Mincho B1','Noto Serif JP',serif;
  --serif-en:'Cormorant Garamond',serif;
  --sans-jp:'Noto Sans JP',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans-jp);font-weight:300;line-height:1.9;font-feature-settings:"palt";overflow-x:hidden}
::selection{background:var(--ink);color:var(--ivory)}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ============ HEADER ============ */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 56px;display:flex;justify-content:space-between;align-items:center;transition:all .4s ease;mix-blend-mode:difference}
header.scrolled,header.solid{padding:14px 56px;background:rgba(247,243,234,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);mix-blend-mode:normal;border-bottom:1px solid var(--line-soft)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-mark{width:40px;height:40px;border:1px solid var(--ivory);display:flex;align-items:center;justify-content:center;font-family:var(--serif-en);font-style:italic;font-size:22px;color:var(--ivory);transition:all .4s ease}
header.scrolled .brand-mark,header.solid .brand-mark{border-color:var(--ink);color:var(--ink)}
.brand-text{font-family:var(--serif-en);font-size:16px;letter-spacing:.22em;font-weight:400;color:var(--ivory);text-transform:uppercase}
header.scrolled .brand-text,header.solid .brand-text{color:var(--ink)}
nav.desktop-nav ul{display:flex;gap:28px;list-style:none;align-items:center}
nav.desktop-nav a{font-family:var(--serif-en);font-size:12px;letter-spacing:.22em;color:var(--ivory);text-decoration:none;text-transform:uppercase;position:relative;padding:6px 0}
header.scrolled nav.desktop-nav a,header.solid nav.desktop-nav a{color:var(--ink)}
nav.desktop-nav a::after{content:"";position:absolute;bottom:0;left:50%;width:0;height:1px;background:currentColor;transition:all .4s ease}
nav.desktop-nav a:hover::after,nav.desktop-nav a.current::after{width:100%;left:0}
nav.desktop-nav a.current{color:var(--gold-light)}
header.scrolled nav.desktop-nav a.current,header.solid nav.desktop-nav a.current{color:var(--gold)}
.nav-cta{font-family:var(--serif-en);font-size:11px;letter-spacing:.25em;text-transform:uppercase;padding:9px 18px;border:1px solid currentColor;color:var(--ivory);text-decoration:none;margin-left:8px;transition:all .3s ease}
header.scrolled .nav-cta,header.solid .nav-cta{color:var(--ink)}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--ivory)}

/* ============ HAMBURGER ============ */
.hamburger{display:none;width:32px;height:24px;flex-direction:column;justify-content:space-between;background:none;border:none;cursor:pointer;padding:0;z-index:101}
.hamburger span{display:block;width:100%;height:1px;background:var(--ivory);transition:all .4s ease;transform-origin:center}
header.scrolled .hamburger span,header.solid .hamburger span{background:var(--ink)}
.mobile-menu-open .hamburger span:nth-child(1){transform:translateY(11px) rotate(45deg);background:var(--ink)}
.mobile-menu-open .hamburger span:nth-child(2){opacity:0}
.mobile-menu-open .hamburger span:nth-child(3){transform:translateY(-11px) rotate(-45deg);background:var(--ink)}

.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--ivory);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:96px 32px 40px;overflow-y:auto}
.mobile-menu-open .mobile-menu{opacity:1;visibility:visible}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:0;width:100%}
.mobile-menu a{display:block;padding:18px 0;font-family:var(--serif-jp);font-size:20px;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:.04em;border-bottom:1px solid var(--line-soft);transition:color .3s ease,padding-left .3s ease}
.mobile-menu a:hover,.mobile-menu a:active,.mobile-menu a.current{color:var(--gold);padding-left:8px}
.mobile-menu a .en{display:block;font-family:var(--serif-en);font-style:italic;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:400}
.mobile-menu-cta{margin-top:40px;padding-top:24px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:12px;width:100%;font-family:var(--serif-en);font-size:11px;letter-spacing:.25em;color:var(--muted);text-transform:uppercase}
.mobile-menu-cta a{font-family:var(--serif-jp);font-size:14px;letter-spacing:.05em;color:var(--ink);text-decoration:none;padding:0;border:none}
body.mobile-menu-open{overflow:hidden}

/* ============ COMMON SECTION STYLES ============ */
section{padding:140px 80px;position:relative}
.section-label{display:flex;align-items:center;gap:24px;font-family:var(--serif-en);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--muted);margin-bottom:64px}
.section-label .num{font-family:var(--serif-en);font-style:italic;font-size:16px;color:var(--gold);letter-spacing:.1em}
.section-label .bar{width:60px;height:1px;background:var(--line)}
.h-display{font-family:var(--serif-jp);font-weight:500;font-size:clamp(32px,4.5vw,60px);line-height:1.45;letter-spacing:-.005em;margin-bottom:32px}
.h-sub-en{font-family:var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(18px,1.8vw,22px);color:var(--muted);margin-bottom:14px;letter-spacing:.02em}
.h-page{font-family:var(--serif-jp);font-weight:500;font-size:clamp(36px,5vw,72px);line-height:1.4;letter-spacing:-.01em}

/* ============ PAGE HERO (sub pages) ============ */
.page-hero{padding:200px 80px 100px;position:relative;background:var(--ink);color:var(--ivory);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(143,123,78,.12),transparent 60%),radial-gradient(ellipse at bottom left,rgba(169,165,154,.04),transparent 50%)}
.page-hero-content{position:relative;z-index:2;max-width:1200px;margin:0 auto}
.page-hero-eyebrow{font-family:var(--serif-en);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-light);margin-bottom:24px;display:inline-block;padding-left:40px;position:relative}
.page-hero-eyebrow::before{content:"";position:absolute;left:0;top:50%;width:24px;height:1px;background:var(--gold-light)}
.page-hero h1{color:var(--ivory);font-family:var(--serif-jp);font-weight:500;font-size:clamp(36px,5vw,68px);line-height:1.4;letter-spacing:-.005em;margin-bottom:20px}
.page-hero-en{font-family:var(--serif-en);font-style:italic;font-size:clamp(18px,1.8vw,24px);color:var(--gold-light);letter-spacing:.04em;font-weight:300}

/* ============ BREADCRUMB ============ */
.breadcrumb{padding:18px 80px;border-bottom:1px solid var(--line-soft);background:var(--ivory)}
.breadcrumb ol{list-style:none;display:flex;gap:12px;font-family:var(--serif-en);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);max-width:1280px;margin:0 auto;flex-wrap:wrap}
.breadcrumb li{position:relative}
.breadcrumb li+li::before{content:"\\002F";margin-right:12px;color:var(--line)}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .3s}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb [aria-current]{color:var(--ink)}

/* ============ BUTTONS / CTA ============ */
.cta{display:inline-flex;align-items:center;gap:24px;padding:24px 52px;background:var(--ink);color:var(--ivory);text-decoration:none;font-family:var(--serif-en);font-size:13px;letter-spacing:.35em;text-transform:uppercase;border:1px solid var(--ink);transition:all .5s ease;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .5s ease;z-index:0}
.cta span{position:relative;z-index:1}
.cta:hover::before{transform:translateX(0)}
.cta:hover{border-color:var(--gold)}
.cta-arrow{position:relative;z-index:1;width:24px;height:1px;background:currentColor;display:inline-block}
.cta-arrow::after{content:"";position:absolute;right:0;top:-3px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.cta-light{background:transparent;color:var(--ink);border-color:var(--ink)}
.cta-light::before{background:var(--ink)}
.cta-light:hover{color:var(--ivory)}

/* ============ FOOTER ============ */
footer{background:var(--ivory-deep);padding:80px 80px 40px;border-top:1px solid var(--line-soft)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid var(--line-soft);max-width:1280px;margin:0 auto}
.footer-logo{height:42px;margin-bottom:18px}
.footer-tagline{font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--muted);letter-spacing:.04em;margin-bottom:20px}
.footer-desc{font-size:12px;line-height:1.9;color:var(--ink-soft);letter-spacing:.04em;max-width:380px}
.footer-col h4{font-family:var(--serif-en);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{font-family:var(--serif-jp);font-size:13px;color:var(--ink-soft);margin-bottom:10px;line-height:1.8}
.footer-col a{color:var(--ink-soft);text-decoration:none;transition:color .3s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif-en);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);max-width:1280px;margin:0 auto;flex-wrap:wrap;gap:16px}
.footer-bottom a{color:var(--muted);text-decoration:none}
.footer-bottom a:hover{color:var(--gold)}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap}

/* ============ STICKY CTA (Mobile) ============ */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;padding:12px 20px;background:rgba(247,243,234,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-soft);transform:translateY(100%);transition:transform .5s cubic-bezier(.23,1,.32,1)}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;background:var(--ink);color:var(--ivory);text-decoration:none;font-family:var(--serif-jp);font-size:14px;letter-spacing:.08em}
.sticky-cta a span:first-child{font-family:var(--serif-en);font-style:italic;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-light)}
.sticky-cta a:active{background:var(--gold)}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1s cubic-bezier(.23,1,.32,1),transform 1s cubic-bezier(.23,1,.32,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.12s}
.reveal-d2{transition-delay:.24s}
.reveal-d3{transition-delay:.36s}

/* ============ COMMON CONTENT BLOCKS ============ */
.container{max-width:1280px;margin:0 auto}
.container-narrow{max-width:880px;margin:0 auto}
.lead{font-size:17px;line-height:2.1;color:var(--ink-soft);letter-spacing:.04em;margin-bottom:32px}
.text-body{font-size:15px;line-height:2.05;color:var(--ink-soft);letter-spacing:.04em}
.text-body p+p{margin-top:22px}
.divider{height:1px;background:var(--line-soft);margin:80px 0;border:0}

/* Two-column grid */
.col-2{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.col-2-asym{display:grid;grid-template-columns:1fr 1.3fr;gap:100px;align-items:start}

/* Block quotes */
blockquote.elegant{font-family:var(--serif-jp);font-weight:400;font-size:clamp(20px,2.2vw,28px);line-height:2;letter-spacing:.02em;color:var(--ink);border-left:1px solid var(--line);padding-left:40px;position:relative;margin:32px 0}
blockquote.elegant::before{content:"";position:absolute;left:-1px;top:0;width:3px;height:60px;background:var(--gold)}

/* Pillar/Feature cards */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.pillar{padding:0;position:relative}
.pillar-img{aspect-ratio:8/5;overflow:hidden;margin-bottom:32px;background:var(--ink)}
.pillar-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.23,1,.32,1)}
.pillar:hover .pillar-img img{transform:scale(1.04)}
.pillar-num{font-family:var(--serif-en);font-style:italic;font-weight:300;font-size:48px;color:var(--gold);line-height:1;margin-bottom:20px}
.pillar-en{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}
.pillar-title{font-family:var(--serif-jp);font-weight:600;font-size:22px;line-height:1.55;margin-bottom:24px;color:var(--ink)}
.pillar-body{font-size:14px;line-height:2;color:var(--ink-soft);letter-spacing:.03em}

/* Tables */
.info-table{width:100%;border-collapse:collapse}
.info-table tr{border-bottom:1px solid var(--line-soft)}
.info-table tr:first-child{border-top:1px solid var(--line-soft)}
.info-table th,.info-table td{padding:26px 0;text-align:left;vertical-align:top;font-weight:400;font-size:14px;line-height:1.8;letter-spacing:.06em}
.info-table th{width:180px;font-family:var(--serif-en);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;padding-top:30px}
.info-table td{color:var(--ink);font-size:15px;font-family:var(--serif-jp);font-weight:400}
.info-table td small{display:block;font-family:var(--sans-jp);font-size:12px;color:var(--muted);margin-top:6px;letter-spacing:.03em;font-weight:300}

/* Step list (process) */
.step-list{position:relative;padding-left:0}
.step-row{display:grid;grid-template-columns:80px 1fr;gap:32px;padding:36px 0;border-bottom:1px solid var(--line-soft);position:relative}
.step-row:last-child{border-bottom:none}
.step-row-num{font-family:var(--serif-en);font-style:italic;font-size:46px;color:var(--gold);line-height:1}
.step-row-title{font-family:var(--serif-jp);font-weight:600;font-size:22px;color:var(--ink);margin-bottom:14px;line-height:1.5}
.step-row-en{font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--muted);margin-bottom:14px;letter-spacing:.04em}
.step-row-desc{font-size:14px;line-height:2;color:var(--ink-soft);letter-spacing:.03em;max-width:760px}
.step-row-duration{font-family:var(--serif-en);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:14px}

/* FAQ */
.faq-list{border-top:1px solid var(--line-soft)}
.faq-item{border-bottom:1px solid var(--line-soft)}
.faq-q{padding:28px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:32px;transition:color .3s;font-family:var(--serif-jp);font-weight:500;font-size:17px;color:var(--ink);line-height:1.6}
.faq-q:hover{color:var(--gold)}
.faq-q-num{font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.1em;min-width:54px}
.faq-q-text{flex-grow:1}
.faq-q-icon{width:22px;height:22px;position:relative;flex-shrink:0}
.faq-q-icon::before,.faq-q-icon::after{content:"";position:absolute;top:50%;left:50%;background:var(--ink);transition:all .4s ease}
.faq-q-icon::before{width:13px;height:1px;transform:translate(-50%,-50%)}
.faq-q-icon::after{width:1px;height:13px;transform:translate(-50%,-50%)}
.faq-item.active .faq-q-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.23,1,.32,1)}
.faq-item.active .faq-a{max-height:600px}
.faq-a-inner{padding:0 0 32px 54px;font-size:14px;line-height:2.05;color:var(--ink-soft);letter-spacing:.04em}
.faq-category{margin-top:64px}
.faq-category:first-child{margin-top:0}
.faq-category-title{font-family:var(--serif-jp);font-weight:600;font-size:24px;color:var(--ink);margin-bottom:24px;padding-left:0;display:flex;align-items:center;gap:18px}
.faq-category-title::before{content:"";width:32px;height:1px;background:var(--gold)}

/* News list */
.news-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line-soft)}
.news-row{display:grid;grid-template-columns:160px 120px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--line-soft);align-items:start;transition:background .3s;text-decoration:none;color:inherit}
.news-row:hover{background:rgba(143,123,78,.04)}
.news-date{font-family:var(--serif-en);font-size:13px;color:var(--muted);letter-spacing:.15em;padding-top:2px}
.news-cat{font-family:var(--serif-en);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:4px 10px;align-self:start;justify-self:start}
.news-title{font-family:var(--serif-jp);font-size:16px;font-weight:500;color:var(--ink);line-height:1.7}

/* Fee tables */
.fee-table{width:100%;border-collapse:collapse;margin-top:24px}
.fee-table th{background:var(--ink);color:var(--ivory);padding:18px 24px;text-align:left;font-family:var(--serif-en);font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:500}
.fee-table th:nth-child(2){text-align:right}
.fee-table td{padding:18px 24px;border-bottom:1px solid var(--line-soft);font-family:var(--serif-jp);font-size:15px;color:var(--ink)}
.fee-table td:nth-child(2){text-align:right;font-family:var(--serif-en);font-weight:500;color:var(--gold)}
.fee-callout{background:var(--paper);padding:32px 36px;border-left:3px solid var(--gold);margin-top:32px}
.fee-callout-title{font-family:var(--serif-jp);font-weight:600;font-size:18px;color:var(--ink);margin-bottom:12px}
.fee-callout-body{font-size:14px;line-height:1.95;color:var(--ink-soft)}

/* Contact form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-row{display:flex;flex-direction:column;gap:8px}
.form-row.full{grid-column:1/-1}
.form-row label{font-family:var(--serif-en);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-weight:500}
.form-row label .req{color:var(--gold);margin-left:6px}
.form-row input,.form-row select,.form-row textarea{background:var(--ivory);border:1px solid var(--line);padding:14px 16px;font-family:var(--sans-jp);font-size:15px;color:var(--ink);transition:border-color .3s;font-weight:300}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--gold);outline:none}
.form-row textarea{min-height:160px;resize:vertical;font-family:var(--sans-jp);line-height:1.8}
.form-note{font-size:12px;line-height:1.8;color:var(--muted);background:var(--paper);padding:20px 24px;border-left:2px solid var(--gold);margin-top:24px}
.form-submit{margin-top:36px;text-align:center}

/* Coming Soon */
.coming-soon{text-align:center;padding:120px 40px;background:var(--paper);border:1px solid var(--line-soft);margin-top:48px}
.coming-soon-en{font-family:var(--serif-en);font-style:italic;font-size:42px;color:var(--gold);letter-spacing:.05em;margin-bottom:24px}
.coming-soon-jp{font-family:var(--serif-jp);font-size:22px;color:var(--ink);margin-bottom:18px;font-weight:500}
.coming-soon-desc{font-size:14px;line-height:2;color:var(--ink-soft);max-width:560px;margin:0 auto}

/* Industry / Service tags */
.tag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.tag-cell{background:var(--ivory);padding:32px 24px;transition:background .4s}
.tag-cell:hover{background:var(--paper)}
.tag-num{font-family:var(--serif-en);font-style:italic;font-size:12px;color:var(--gold);letter-spacing:.15em;margin-bottom:18px}
.tag-name{font-family:var(--serif-jp);font-weight:500;font-size:18px;color:var(--ink);margin-bottom:6px;line-height:1.5}
.tag-en{font-family:var(--serif-en);font-style:italic;font-size:13px;color:var(--muted);margin-bottom:14px;letter-spacing:.04em}
.tag-desc{font-size:11px;line-height:1.85;color:var(--ink-soft);letter-spacing:.03em}

/* Legal/Privacy/Terms styles */
.legal-content h2{font-family:var(--serif-jp);font-weight:600;font-size:22px;color:var(--ink);margin:48px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-family:var(--serif-jp);font-weight:600;font-size:17px;color:var(--ink);margin:28px 0 12px}
.legal-content p{font-size:14px;line-height:2;color:var(--ink-soft);margin-bottom:14px}
.legal-content ul,.legal-content ol{margin:14px 0 14px 24px}
.legal-content li{font-size:14px;line-height:2;color:var(--ink-soft);margin-bottom:8px}
.legal-content .effective-date{font-family:var(--serif-en);font-size:12px;color:var(--muted);letter-spacing:.15em;margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--line-soft)}

/* ================================================
   RESPONSIVE
   ================================================ */
@media (max-width:1100px){
  .pillars{grid-template-columns:1fr;max-width:700px;margin-left:auto;margin-right:auto}
  .tag-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  nav.desktop-nav ul{gap:18px}
}
@media (max-width:1024px){
  header{padding:18px 32px}
  header.scrolled,header.solid{padding:12px 32px}
  nav.desktop-nav ul{gap:14px}
  nav.desktop-nav a{font-size:10px;letter-spacing:.18em}
  .nav-cta{font-size:10px;padding:7px 14px}
  section,.page-hero,.breadcrumb{padding-left:32px;padding-right:32px}
  footer{padding-left:32px;padding-right:32px}
  .col-2,.col-2-asym{grid-template-columns:1fr;gap:60px}
  .form-grid{grid-template-columns:1fr}
  #compliance-banner{padding-left:32px !important;padding-right:32px !important}
  #compliance-banner .container{grid-template-columns:1fr;gap:24px}
  #compliance-banner a{justify-self:start}
}

/* Tablet */
@media (max-width:900px){
  nav.desktop-nav{display:none}
  .hamburger{display:flex}
  .nav-cta{display:none}
}

/* Mobile */
@media (max-width:640px){
  header{padding:14px 20px}
  .brand-text{font-size:13px;letter-spacing:.2em}
  .brand-mark{width:34px;height:34px;font-size:19px}
  section,.page-hero,.breadcrumb{padding-left:20px;padding-right:20px}
  section{padding-top:80px;padding-bottom:80px}
  .page-hero{padding-top:130px;padding-bottom:70px}
  .breadcrumb{padding-top:14px;padding-bottom:14px}
  .breadcrumb ol{font-size:9px;letter-spacing:.15em;gap:8px}
  .breadcrumb li+li::before{margin-right:8px}
  .section-label{margin-bottom:40px;gap:14px;font-size:10px}
  .section-label .num{font-size:14px}
  .section-label .bar{width:36px}
  .h-display{font-size:28px;line-height:1.45;margin-bottom:24px}
  .h-page{font-size:30px;line-height:1.4}
  .h-sub-en{font-size:14px;margin-bottom:10px}
  .page-hero h1{font-size:30px}
  .page-hero-en{font-size:15px}
  .lead{font-size:15px;line-height:1.95;margin-bottom:24px}
  .text-body{font-size:14px;line-height:1.95}

  blockquote.elegant{padding-left:24px;font-size:18px;line-height:1.85}
  blockquote.elegant::before{height:40px}

  .pillars{gap:48px;max-width:100%}
  .pillar-img{margin-bottom:24px}
  .pillar-num{font-size:38px;margin-bottom:16px}
  .pillar-title{font-size:19px;margin-bottom:18px}
  .pillar-body{font-size:13px;line-height:1.9}

  .info-table th{width:90px;font-size:9px;letter-spacing:.2em;padding-top:22px}
  .info-table th,.info-table td{padding:18px 0;font-size:13px}
  .info-table td{font-size:14px}
  .info-table td small{font-size:11px}

  .step-row{grid-template-columns:48px 1fr;gap:18px;padding:24px 0}
  .step-row-num{font-size:30px}
  .step-row-title{font-size:18px;margin-bottom:10px}
  .step-row-desc{font-size:13px;line-height:1.9}

  .faq-q{font-size:15px;gap:14px;padding:22px 0}
  .faq-q-num{font-size:12px;min-width:44px}
  .faq-a-inner{padding:0 0 26px 44px;font-size:13px;line-height:1.9}
  .faq-category-title{font-size:19px;margin-bottom:18px}
  .faq-category{margin-top:48px}

  .news-row{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .news-cat{font-size:9px;justify-self:start;margin-bottom:4px}
  .news-title{font-size:15px;line-height:1.65}
  .news-date{font-size:12px;padding-top:0}

  .fee-table th,.fee-table td{padding:14px 16px;font-size:13px}
  .fee-callout{padding:24px 22px}
  .fee-callout-title{font-size:16px}

  .form-row input,.form-row select,.form-row textarea{font-size:16px}
  .form-row label{font-size:10px}
  .form-note{font-size:11px;padding:16px 20px}

  .coming-soon{padding:72px 24px}
  .coming-soon-en{font-size:30px;margin-bottom:18px}
  .coming-soon-jp{font-size:18px}
  .coming-soon-desc{font-size:13px}

  .tag-grid{grid-template-columns:repeat(2,1fr)}
  .tag-cell{padding:22px 16px}
  .tag-num{font-size:11px;margin-bottom:14px}
  .tag-name{font-size:15px}
  .tag-en{font-size:11px;margin-bottom:10px}
  .tag-desc{font-size:10px;line-height:1.75}

  .cta{padding:20px 32px;font-size:11px;letter-spacing:.3em;width:100%;max-width:340px;justify-content:center;gap:18px}

  footer{padding:48px 20px 24px}
  .footer-grid{grid-template-columns:1fr;gap:32px;padding-bottom:32px}
  .footer-logo{height:36px}
  .footer-col h4{font-size:10px;margin-bottom:14px}
  .footer-col li{font-size:12px;margin-bottom:8px}
  .footer-bottom{flex-direction:column;gap:14px;text-align:center;font-size:10px;padding-top:24px}
  .footer-legal{justify-content:center}

  .sticky-cta{display:block}
  footer{padding-bottom:80px}

  .reveal{transform:translateY(20px)}

  /* Compliance banner mobile */
  #compliance-banner{padding:32px 20px !important}
  #compliance-banner .container{grid-template-columns:1fr !important;gap:20px !important;text-align:left}
  #compliance-banner a{justify-self:start;font-size:10px;padding:12px 20px}

  .legal-content h2{font-size:18px;margin:36px 0 12px}
  .legal-content h3{font-size:15px;margin:22px 0 10px}
  .legal-content p,.legal-content li{font-size:13px;line-height:1.9}
}

@media (max-width:380px){
  .h-display{font-size:24px}
  .page-hero h1{font-size:26px}
  .h-page{font-size:26px}
  .tag-grid{grid-template-columns:1fr}
}
