/*
Theme Name: Seven Seas Global
Theme URI: https://sevenseasglobal.example/
Author: Seven Seas Global Inc.
Author URI: https://sevenseasglobal.example/
Description: ブランド × 越境流通のためのクラシック単体テーマ。シングルドメイン専用。
Version: 1.0.9.2
Requires at least: 5.5
Tested up to: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: sevenseas-global
Tags: business, custom-menu, featured-images, threaded-comments, translation-ready

Seven Seas Global © 2026 Seven Seas Global Inc.
*/

:root{
    --ink:#0e0e10;
    --ink-2:#1a1a1d;
    --smoke:#5a5a60;
    --mist:#9c9ca4;
    --line:#d8d8de;
    --paper:#ffffff;
    --bone:#f6f5f1;
    --warm:#ece7df;
    --accent:#0e0e10;
    --serif:"Cormorant Garamond","Hiragino Mincho ProN","Yu Mincho",serif;
    --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.85;-webkit-font-smoothing:antialiased;letter-spacing:0.01em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}

  /* ============ NAV ============ */
  .nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.94);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(0,0,0,0.06);
    padding:18px 36px;display:flex;align-items:center;justify-content:space-between}
  .nav-logo{display:flex;align-items:center;flex-shrink:0;}
  .header-logo-img{display:block;width:auto;height:40px;}
  .nav ul{display:flex;gap:34px;list-style:none;font-size:9.5pt;letter-spacing:0.18em;font-weight:500}
  .nav ul a{color:var(--ink);position:relative;padding:6px 2px}
  .nav ul a::after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
  .nav ul a:hover::after{transform:scaleX(1)}
  .nav ul .cta-nav{color:var(--paper);background:var(--ink);padding:8px 18px;border-radius:0}
  .nav ul .cta-nav::after{display:none}
  .nav ul .cta-nav:hover{background:var(--smoke)}
  .menu-btn{display:none;background:none;border:none;font-size:18pt;color:var(--ink);cursor:pointer}
  .lang-switch{font-family:var(--serif);font-size:10pt;letter-spacing:0.1em;color:var(--mist);border-left:1px solid var(--line);padding-left:18px;margin-left:8px}
  
  @media (max-width:1020px){
      .header-logo-img{
          height:34px;
      }
  }
  @media (max-width:680px){
      .header-logo-img{
          height:30px;
      }
  }
  
  /* ============ HERO ============ */
  .hero{margin-top:64px;position:relative;background:var(--ink);color:#fff;overflow:hidden;min-height:88vh;display:flex;align-items:center}
  .hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;max-width:1320px;margin:0 auto;padding:80px 48px;width:100%;position:relative;z-index:2}
  .hero-eyebrow{font-family:var(--serif);font-size:11pt;letter-spacing:0.4em;color:#cfcfd6;margin-bottom:24px;text-transform:uppercase;font-weight:400}
  .hero-title{font-family:var(--serif);font-size:64pt;font-weight:400;line-height:1.05;letter-spacing:-0.005em;margin-bottom:32px;color:#fff}
  .hero-title .it{font-style:italic;color:#e0c895}
  .hero-copy{font-size:11pt;line-height:2.0;color:rgba(255,255,255,0.78);max-width:520px;margin-bottom:40px}
  .hero-cta-row{display:flex;gap:14px;flex-wrap:wrap}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;font-size:10.5pt;letter-spacing:0.15em;font-weight:500;transition:all 0.25s;border:1px solid transparent;cursor:pointer}
  .btn-light{background:#fff;color:var(--ink)}
  .btn-light:hover{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.55)}
  .btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.4)}
  .btn-ghost:hover{background:#fff;color:var(--ink)}
  .btn-dark{background:var(--ink);color:#fff}
  .btn-dark:hover{background:var(--smoke)}
  .btn-line{background:transparent;color:var(--ink);border:1px solid var(--ink)}
  .btn-line:hover{background:var(--ink);color:#fff}
  .btn .arrow{display:inline-block;transition:transform 0.25s}
  .btn:hover .arrow{transform:translateX(4px)}

  .hero-visual{position:relative;aspect-ratio:4/5;background:radial-gradient(circle at 35% 30%, rgba(228,200,160,0.16) 0%, rgba(0,0,0,0) 60%), linear-gradient(160deg,#1c1c20 0%,#0e0e10 60%);overflow:hidden}
  .hero-visual img{width:100%;height:100%;object-fit:cover;opacity:0.92}
  .hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.55) 100%)}
  .hero-tag{position:absolute;top:24px;left:24px;font-family:var(--serif);font-size:10pt;letter-spacing:0.3em;color:rgba(255,255,255,0.7);text-transform:uppercase;font-style:italic}
  .hero-product-name{position:absolute;left:28px;bottom:28px;color:#fff}
  .hero-product-name .ja{font-family:var(--sans);font-size:24pt;font-weight:300;letter-spacing:0.04em;margin-bottom:4px}
  .hero-product-name .en{font-family:var(--serif);font-size:11pt;letter-spacing:0.3em;font-style:italic;color:rgba(255,255,255,0.75)}

  /* ============ MARQUEE ============ */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:var(--paper);overflow:hidden;white-space:nowrap;font-family:var(--serif);font-size:10pt;letter-spacing:0.3em;color:var(--smoke)}
  .marquee-track{display:inline-block;animation:slide 35s linear infinite}
  .marquee-track span{padding:0 32px}
  .marquee-track span::before{content:"◇";margin-right:16px;color:var(--mist)}
  @keyframes slide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

  /* ============ SECTION COMMON ============ */
  section{padding:120px 36px}
  .container{max-width:1320px;margin:0 auto;width:100%}
  .eyebrow{font-family:var(--serif);font-size:10pt;letter-spacing:0.4em;color:var(--smoke);text-transform:uppercase;margin-bottom:14px;font-weight:500;font-style:italic}
  .section-title{font-family:var(--serif);font-size:46pt;font-weight:400;line-height:1.15;letter-spacing:-0.005em;color:var(--ink);margin-bottom:24px}
  .section-title .it{font-style:italic;color:var(--smoke)}
  .lead{font-size:11.5pt;line-height:2.0;color:var(--smoke);max-width:680px}

  /* ============ FEATURED ============ */
  .featured-product{background:var(--paper)}
  .featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch;margin-top:60px}
  .featured-img{position:relative;aspect-ratio:4/5;background:var(--bone);overflow:hidden}
  .featured-img img{width:100%;height:100%;object-fit:cover}
  .featured-img .badge{position:absolute;top:20px;left:20px;background:var(--ink);color:#fff;padding:8px 14px;font-family:var(--serif);font-size:9.5pt;letter-spacing:0.3em;text-transform:uppercase;font-style:italic}
  .featured-body{padding:60px 0;display:flex;flex-direction:column;justify-content:center}
  .featured-body .series{font-family:var(--serif);font-size:10pt;color:var(--mist);letter-spacing:0.3em;text-transform:uppercase;margin-bottom:14px}
  .featured-body h3{font-family:var(--serif);font-size:48pt;font-weight:400;letter-spacing:-0.01em;line-height:1.1;margin-bottom:28px;color:var(--ink)}
  .featured-body h3 .small-ja{display:block;font-family:var(--sans);font-size:14pt;font-weight:300;letter-spacing:0.1em;margin-top:6px;color:var(--smoke)}
  .featured-body p{font-size:11pt;line-height:2.0;color:var(--smoke);margin-bottom:32px;max-width:480px}
  .spec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:36px;padding:24px 0}
  .spec-row .spec{padding:0 20px;border-right:1px solid var(--line)}
  .spec-row .spec:last-child{border-right:0}
  .spec-row .label{display:block;font-family:var(--serif);font-size:9pt;letter-spacing:0.3em;color:var(--mist);text-transform:uppercase;margin-bottom:6px}
  .spec-row .value{font-family:var(--serif);font-size:14pt;color:var(--ink);font-weight:500}
  .featured-cta{display:flex;gap:14px;flex-wrap:wrap}

  /* ============ UPCOMING ============ */
  .upcoming{background:var(--bone);color:var(--ink)}
  .upcoming-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;flex-wrap:wrap;gap:24px}
  .upcoming-head .h{display:flex;flex-direction:column}
  .upcoming-head .launch-tag{display:inline-block;padding:6px 14px;background:var(--ink);color:#fff;font-family:var(--serif);font-size:9.5pt;letter-spacing:0.3em;text-transform:uppercase;font-style:italic;margin-bottom:20px}
  .countdown{display:flex;gap:20px;align-items:center;font-family:var(--serif)}
  .countdown .num{font-size:40pt;font-weight:500;color:var(--ink);line-height:1}
  .countdown .lbl{font-size:9pt;letter-spacing:0.3em;color:var(--smoke);text-transform:uppercase;display:block}
  .progress-track{background:rgba(0,0,0,0.08);height:2px;position:relative;margin:50px 0 30px}
  .progress-track .fill{position:absolute;top:0;left:0;height:100%;width:42%;background:var(--ink)}
  .progress-info{display:flex;justify-content:space-between;font-family:var(--serif);font-size:10pt;letter-spacing:0.15em;color:var(--smoke)}
  .progress-info b{color:var(--ink);font-weight:600;font-size:13pt}

  /* ============ JOURNAL ============ */
  .journal{background:var(--paper)}
  .journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px}
  .journal-card{cursor:pointer;transition:transform 0.3s}
  .journal-card:hover{transform:translateY(-4px)}
  .journal-img{aspect-ratio:4/3;background:var(--bone);overflow:hidden;margin-bottom:24px;position:relative}
  .journal-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
  .journal-card:hover .journal-img img{transform:scale(1.04)}
  .journal-card .cat{font-family:var(--serif);font-size:9pt;letter-spacing:0.3em;color:var(--smoke);text-transform:uppercase;font-style:italic;margin-bottom:8px;display:block}
  .journal-card h4{font-family:var(--serif);font-size:18pt;font-weight:500;color:var(--ink);line-height:1.35;margin-bottom:8px}
  .journal-card .date{font-family:var(--serif);font-size:9pt;letter-spacing:0.2em;color:var(--mist)}
  .journal-card .excerpt{font-size:10pt;color:var(--smoke);line-height:1.85;margin-top:8px}

  /* ============ ABOUT ============ */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
  .about-tagline{font-family:var(--serif);font-size:11pt;letter-spacing:0.3em;text-transform:uppercase;color:var(--smoke);font-style:italic;margin-bottom:20px}
  .about-quote{font-family:var(--serif);font-size:36pt;line-height:1.4;font-weight:400;color:var(--ink);margin-bottom:30px;letter-spacing:-0.005em}
  .about-quote .it{font-style:italic;color:var(--smoke)}
  .about-detail{font-size:11pt;line-height:2.0;color:var(--smoke)}
  .about-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;border-top:1px solid var(--line);padding-top:32px;margin-top:32px}
  .about-meta .meta-item .label{font-family:var(--serif);font-size:9pt;letter-spacing:0.3em;color:var(--mist);text-transform:uppercase;margin-bottom:4px;display:block}
  .about-meta .meta-item .value{font-size:11pt;color:var(--ink);font-weight:500}

  /* ============ FOR BUSINESS ============ */
  .biz{background:var(--ink);color:#fff}
  .biz .eyebrow,.biz .section-title{color:rgba(255,255,255,0.7)}
  .biz .section-title{color:#fff}
  .biz .section-title .it{color:#e0c895}
  .biz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:60px;border-top:1px solid rgba(255,255,255,0.12)}
  .biz-item{padding:40px 32px;border-right:1px solid rgba(255,255,255,0.12);border-bottom:1px solid rgba(255,255,255,0.12)}
  .biz-item .num{font-family:var(--serif);font-size:12pt;color:rgba(255,255,255,0.45);font-style:italic;display:block;margin-bottom:24px}
  .biz-item h4{font-family:var(--serif);font-size:22pt;font-weight:400;margin-bottom:14px;line-height:1.3;color:#fff}
  .biz-item p{font-size:10.5pt;line-height:1.85;color:rgba(255,255,255,0.7)}

  /* ============ SUPPORT ============ */
  .support{background:var(--paper);text-align:center}
  .support-inner{max-width:780px;margin:0 auto}
  .support-title{font-family:var(--serif);font-size:46pt;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:20px}
  .support-sub{font-size:12pt;line-height:2.0;color:var(--smoke);margin-bottom:40px}
  .support-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;text-align:left}
  .support-card{padding:32px;border:1px solid var(--line);background:var(--paper);transition:all 0.3s}
  .support-card:hover{background:var(--bone);border-color:var(--ink)}
  .support-card .tag{font-family:var(--serif);font-size:9pt;letter-spacing:0.3em;color:var(--smoke);text-transform:uppercase;font-style:italic;margin-bottom:12px;display:block}
  .support-card h5{font-family:var(--serif);font-size:18pt;font-weight:500;margin-bottom:10px;color:var(--ink)}
  .support-card p{font-size:10pt;color:var(--smoke);line-height:1.7;margin-bottom:14px}
  .support-card .arrow-link{font-size:9.5pt;letter-spacing:0.2em;color:var(--ink);font-weight:500}

  /* ============ FOOTER ============ */
  footer{background:var(--ink);color:rgba(255,255,255,0.7);padding:80px 36px 30px;font-size:10pt}
  .footer-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
  .footer-inner h5{color:#fff;font-family:var(--serif);font-size:9pt;letter-spacing:0.3em;text-transform:uppercase;margin-bottom:20px;font-weight:500;font-style:italic}
  .footer-inner ul{list-style:none}
  .footer-inner ul li{padding:6px 0;font-size:10pt}
  .footer-inner ul li a:hover{color:#fff}
  .footer-logo {margin-bottom: 14px;}
  .footer-logo img {display: block;width: 100%;max-width: 360px; height: auto;}
  .footer-tagline{font-family:var(--serif);font-size:11pt;letter-spacing:0.2em;color:rgba(255,255,255,0.5);font-style:italic;margin-top:8px}
  .footer-bottom{max-width:1320px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);display:flex;justify-content:space-between;font-size:9pt;color:rgba(255,255,255,0.4)}

  /* ============ COMPANY ID BAND ============ */
  .id-band{background:var(--bone);color:var(--ink);padding:80px 36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .id-band .container{max-width:1320px;margin:0 auto}
  .id-band-eyebrow{font-family:var(--serif);font-size:9.5pt;letter-spacing:.4em;color:var(--smoke);text-transform:uppercase;font-style:italic;margin-bottom:24px}
  .id-band-statement{font-family:var(--serif);font-size:34pt;line-height:1.18;font-weight:400;letter-spacing:-.005em;margin-bottom:28px;color:var(--ink);max-width:980px}
  .id-band-statement em.it{font-style:italic}
  .id-band-lead{font-size:11pt;line-height:2.0;color:var(--smoke);max-width:760px;margin-bottom:32px}
  .id-band-tags{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}
  .id-band-tags li{padding:8px 18px;border:1px solid var(--ink);font-family:var(--sans);font-size:9.5pt;letter-spacing:.18em;color:var(--ink);text-transform:uppercase;font-weight:500;transition:.3s}
  .id-band-tags li:hover{background:var(--ink);color:#fff;cursor:default}

  /* ============ BIZ ON-SIDE ============ */
  .biz-onside{margin-top:50px;padding:28px 32px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);display:flex;align-items:center;gap:30px;flex-wrap:wrap}
  .biz-onside-label{font-family:var(--serif);font-size:9.5pt;letter-spacing:.32em;color:#e0c895;font-style:italic;text-transform:uppercase;padding-right:28px;border-right:1px solid rgba(255,255,255,.18);white-space:nowrap}
  .biz-onside ul{list-style:none;display:flex;gap:30px;flex-wrap:wrap;padding:0}
  .biz-onside ul li{font-size:10pt;letter-spacing:.16em;color:rgba(255,255,255,.7);position:relative;padding-left:18px}
  .biz-onside ul li::before{content:"·";position:absolute;left:0;color:#e0c895}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1020px){
    .hero-grid,.featured-grid,.about-grid{grid-template-columns:1fr;gap:32px}
    .featured-body{padding:0}
    .journal-grid,.biz-grid,.support-row{grid-template-columns:1fr 1fr;gap:24px}
    .nav{padding:14px 20px}
    .nav ul{gap:18px;font-size:9pt}
    .nav .lang-switch{display:none}
    .section-title,.hero-title,.about-quote,.support-title{font-size:32pt}
    section{padding:80px 24px}
  }
  @media (max-width:680px){
    .nav ul li:not(.logo-li):not(.cta-li){display:none}
    .menu-btn{display:block}
    .journal-grid,.biz-grid,.support-row,.spec-row,.footer-inner{grid-template-columns:1fr}
    .hero{padding:0 16px;min-height:80vh}
    .hero-grid{padding:60px 16px}
    .hero-title{font-size:30pt}
    .spec-row .spec{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}
    .spec-row .spec:last-child{border-bottom:0}
    section{padding:60px 16px}
    .footer-inner{gap:36px}
  }
  @media(max-width:680px){
    .id-band{padding:60px 24px}.id-band-statement{font-size:24pt}
    .biz-onside{flex-direction:column;align-items:flex-start;gap:14px}
    .biz-onside-label{border-right:0;padding-right:0;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.18)}
  }

/* ============ ARCHIVE / SINGLE: PRODUCTS & PROJECTS ============ */
.ssg-archive{padding:120px 0 80px;color:var(--ink);background:var(--paper)}
.ssg-archive-head{padding-bottom:48px;border-bottom:1px solid var(--line)}
.ssg-archive-head .lead{margin-top:20px}
.ssg-archive-grid-wrap{padding-top:48px}
.ssg-cat-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.ssg-cat-chips .chip{padding:8px 16px;border:1px solid var(--line);font-family:var(--sans);font-size:9pt;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:.25s;display:inline-flex;align-items:center;gap:8px}
.ssg-cat-chips .chip:hover{border-color:var(--ink)}
.ssg-cat-chips .chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.ssg-cat-chips .chip .count{font-size:8pt;opacity:.6;font-family:var(--serif)}
.ssg-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.ssg-card{background:var(--paper);border:1px solid var(--line);transition:.3s;position:relative}
.ssg-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 40px -20px rgba(14,14,16,.18)}
.ssg-card-link{display:block;color:inherit;text-decoration:none}
.ssg-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f6f6f8}
.ssg-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ssg-card:hover .ssg-card-img{transform:scale(1.04)}
.ssg-card-cat{position:absolute;top:14px;left:14px;padding:6px 12px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);font-family:var(--sans);font-size:8pt;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.ssg-card-body{padding:24px 22px 26px}
.ssg-card-title{font-family:var(--serif);font-size:18pt;line-height:1.25;font-weight:500;color:var(--ink);margin:0 0 10px}
.ssg-card-excerpt{font-size:10pt;line-height:1.85;color:var(--smoke);margin:0 0 16px}
.ssg-card-meta{list-style:none;padding:0;margin:0 0 14px;display:flex;gap:20px;font-size:9.5pt}
.ssg-card-meta .lbl{font-family:var(--sans);font-size:8pt;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);margin-right:6px}
.ssg-card-meta .num{font-family:var(--serif);font-style:italic;color:var(--ink)}
.ssg-card-progress{height:2px;background:var(--line);margin-bottom:14px;overflow:hidden}
.ssg-card-progress span{display:block;height:100%;background:var(--ink);transition:width .6s ease}
.ssg-card-arrow{font-family:var(--sans);font-size:9pt;letter-spacing:.22em;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;display:inline-block}
.ssg-pagination{margin-top:60px;display:flex;justify-content:center}
.ssg-pagination .page-numbers{list-style:none;padding:0;margin:0;display:flex;gap:6px;align-items:center}
.ssg-pagination .page-numbers li{display:inline-flex}
.ssg-pagination .page-numbers li a,.ssg-pagination .page-numbers li span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);font-family:var(--sans);font-size:9.5pt;letter-spacing:.1em;color:var(--ink);text-decoration:none;background:var(--paper)}
.ssg-pagination .page-numbers li a:hover{border-color:var(--ink)}
.ssg-pagination .page-numbers li .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.ssg-empty{text-align:center;padding:80px 20px;border:1px dashed var(--line);color:var(--smoke)}
.ssg-empty .btn{display:inline-block;margin-top:24px;padding:14px 28px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-family:var(--sans);font-size:9.5pt;letter-spacing:.22em;text-transform:uppercase;text-decoration:none}
.ssg-single-product{padding:120px 0 80px;background:var(--paper);color:var(--ink)}
.ssg-single-head{padding-bottom:48px;border-bottom:1px solid var(--line)}
.ssg-single-head .lead{margin-top:18px}
.ssg-single-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:48px;align-items:flex-start}
.ssg-single-media{background:#f6f6f8;overflow:hidden}
.ssg-single-img{width:100%;height:auto;display:block}
.ssg-single-spec{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ssg-single-spec .spec-row__item{padding:18px 0;border-right:1px solid var(--line);text-align:center}
.ssg-single-spec .spec-row__item:last-child{border-right:0}
.ssg-single-spec .lbl{display:block;font-family:var(--sans);font-size:8pt;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);margin-bottom:6px}
.ssg-single-spec .num{display:block;font-family:var(--serif);font-style:italic;font-size:14pt;color:var(--ink)}
.ssg-single-content{margin-bottom:32px}
.ssg-single-content p{font-size:11pt;line-height:2.0;color:var(--ink);margin:0 0 16px}
.ssg-single-content h2,.ssg-single-content h3{font-family:var(--serif);font-weight:500;margin:32px 0 14px;line-height:1.3}
.ssg-single-content a{color:var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}

@media (max-width:1020px){
  .ssg-archive-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .ssg-single-grid{grid-template-columns:1fr;gap:32px}
  .ssg-archive{padding-top:80px}
  .ssg-single-product{padding-top:80px}
}
@media (max-width:680px){
  .ssg-archive-grid{grid-template-columns:1fr}
  .ssg-single-spec{grid-template-columns:1fr}
  .ssg-single-spec .spec-row__item{border-right:0;border-bottom:1px solid var(--line)}
  .ssg-single-spec .spec-row__item:last-child{border-bottom:0}
  .ssg-archive{padding:60px 0 40px}
  .ssg-single-product{padding:60px 0 40px}
}


/* ============ ARCHIVE & SINGLE: NEWS & JOURNAL ============ */
.ssg-journal-archive{padding:120px 0 80px;color:var(--ink);background:var(--paper)}
.ssg-journal-head{padding-bottom:48px;border-bottom:1px solid var(--line)}
.ssg-journal-head .lead{margin-top:20px}
.ssg-journal-body{padding-top:48px}
.ssg-journal-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px}
.ssg-journal-chips .chip{padding:8px 16px;border:1px solid var(--line);font-family:var(--sans);font-size:9pt;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:.25s;display:inline-flex;align-items:center;gap:8px}
.ssg-journal-chips .chip:hover{border-color:var(--ink)}
.ssg-journal-chips .chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.ssg-journal-chips .chip .count{font-size:8pt;opacity:.6;font-family:var(--serif)}
.ssg-journal-archive .journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.ssg-journal-archive .journal-card{display:block;color:inherit;text-decoration:none}
.ssg-journal-archive .journal-img-el{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ssg-journal-archive .journal-card:hover .journal-img-el{transform:scale(1.04)}

.ssg-journal-single{padding:120px 0 80px;background:var(--paper);color:var(--ink)}
.ssg-journal-single-head{padding-bottom:40px;border-bottom:1px solid var(--line)}
.ssg-journal-narrow{max-width:820px;margin:0 auto;padding:0 20px}
.ssg-journal-single-title{text-align:left;margin-top:14px}
.ssg-journal-meta{display:flex;gap:24px;margin-top:20px;font-family:var(--serif);font-size:9.5pt;letter-spacing:.22em;color:var(--smoke);font-style:italic}
.ssg-journal-meta .author{text-transform:uppercase;letter-spacing:.18em}
.ssg-journal-lead{margin-top:28px;font-size:13pt;line-height:1.95;color:var(--ink);font-family:var(--serif);font-style:italic;font-weight:400}
.ssg-journal-hero{margin:60px 0}
.ssg-journal-hero .container{max-width:1320px}
.ssg-journal-hero-img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;background:#f6f6f8}
.ssg-journal-content-wrap{padding-top:40px}
.ssg-journal-content{font-size:11.5pt;line-height:2.05;color:var(--ink)}
.ssg-journal-content p{margin:0 0 1.6em}
.ssg-journal-content h2,.ssg-journal-content h3{font-family:var(--serif);font-weight:500;margin:2em 0 .8em;line-height:1.3}
.ssg-journal-content h2{font-size:26pt;border-bottom:1px solid var(--line);padding-bottom:.4em}
.ssg-journal-content h3{font-size:18pt}
.ssg-journal-content blockquote{margin:2em 0;padding:24px 32px;border-left:3px solid var(--ink);background:var(--bone);font-family:var(--serif);font-style:italic;font-size:14pt;line-height:1.7;color:var(--ink)}
.ssg-journal-content a{color:var(--ink);border-bottom:1px solid var(--ink);text-decoration:none}
.ssg-journal-content img{max-width:100%;height:auto;display:block;margin:1.5em auto}
.ssg-journal-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ssg-journal-tags .tag{padding:6px 14px;border:1px solid var(--line);font-family:var(--sans);font-size:9pt;letter-spacing:.16em;color:var(--ink);text-decoration:none;text-transform:uppercase;transition:.25s}
.ssg-journal-tags .tag:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.ssg-journal-archive .btn,.ssg-journal-single .btn{display:inline-block;padding:14px 26px;border:1px solid var(--ink);font-family:var(--sans);font-size:9.5pt;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;background:transparent;color:var(--ink);transition:.25s}
.ssg-journal-archive .btn-light{background:var(--ink);color:#fff}
.ssg-journal-single .btn:hover{background:var(--ink);color:#fff}
.ssg-journal-footer{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background-color:#fff;}
.ssg-journal-adjacent{margin-top:80px;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ssg-journal-adjacent .ssg-journal-narrow{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.ssg-journal-adjacent .adj{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);padding:20px;border:1px solid var(--line);transition:.25s}
.ssg-journal-adjacent .adj:hover{border-color:var(--ink);background:var(--bone)}
.ssg-journal-adjacent .adj.next{text-align:right;align-items:flex-end}
.ssg-journal-adjacent .adj-label{font-family:var(--serif);font-size:9pt;letter-spacing:.32em;color:var(--smoke);font-style:italic;text-transform:uppercase}
.ssg-journal-adjacent .adj-title{font-family:var(--serif);font-size:14pt;line-height:1.35;font-weight:500}

@media (max-width:1020px){
  .ssg-journal-archive .journal-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .ssg-journal-adjacent .ssg-journal-narrow{grid-template-columns:1fr;gap:16px}
  .ssg-journal-archive{padding-top:80px}
  .ssg-journal-single{padding-top:80px}
  .ssg-journal-hero{margin:40px 0}
}
@media (max-width:680px){
  .ssg-journal-archive .journal-grid{grid-template-columns:1fr;gap:32px}
  .ssg-journal-meta{flex-direction:column;gap:8px}
  .ssg-journal-single-title{font-size:24pt}
  .ssg-journal-content{font-size:11pt;line-height:1.95}
  .ssg-journal-footer{flex-direction:column;align-items:flex-start}
}

/* ============ TEMPLATE: ABOUT PAGE ============ */
.ssg-about-hero{padding:160px 0 80px;background:var(--paper);color:var(--ink)}
.ssg-about-hero .section-title{text-align:left;margin-top:18px}
.ssg-about-hero .lead{margin-top:24px;max-width:760px}
.ssg-about-hero-figure{margin-top:48px;background:var(--bone);overflow:hidden}
.ssg-about-hero-img{width:100%;height:auto;display:block;aspect-ratio:21/9;object-fit:cover}
.ssg-about-hero-figure figcaption{font-family:var(--serif);font-size:9pt;font-style:italic;color:var(--smoke);padding:14px 4px;border-top:1px solid var(--line)}

.ssg-about-mvv{padding:120px 0;background:var(--paper)}
.ssg-about-mvv .lead{margin-top:18px;margin-bottom:48px;max-width:680px}
.ssg-about-mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px;border-top:1px solid var(--line)}
.ssg-mvv-card{padding:48px 36px 32px;border-right:1px solid var(--line);position:relative}
.ssg-mvv-card:last-child{border-right:0}
.ssg-mvv-num{font-family:var(--serif);font-size:11pt;letter-spacing:.32em;color:var(--mist);font-style:italic;margin-bottom:32px}
.ssg-mvv-h{font-family:var(--serif);font-size:26pt;line-height:1.2;font-weight:500;color:var(--ink);margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ssg-mvv-p{font-size:11pt;line-height:2.0;color:var(--ink)}

.ssg-about-profile{padding:120px 0;background:var(--bone);color:var(--ink)}
.ssg-about-profile .lead{margin-top:18px;margin-bottom:48px;max-width:680px}
.ssg-profile-table{margin-top:48px;width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line)}
.ssg-profile-table th,.ssg-profile-table td{padding:22px 26px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:11pt;line-height:1.85}
.ssg-profile-table tr:last-child th,.ssg-profile-table tr:last-child td{border-bottom:0}
.ssg-profile-table th{width:200px;background:var(--bone);font-family:var(--sans);font-weight:500;letter-spacing:.12em;color:var(--ink);border-right:1px solid var(--line)}
.ssg-profile-table td{color:var(--ink);font-family:var(--sans)}

.ssg-about-network{padding:120px 0;background:var(--paper)}
.ssg-about-network .lead{margin-top:18px;margin-bottom:48px;max-width:680px}
.ssg-about-net-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.ssg-net-card{padding:48px 36px;background:var(--ink);color:#fff;border:1px solid var(--ink)}
.ssg-net-city{font-family:var(--serif);font-size:11pt;letter-spacing:.4em;color:#e0c895;text-transform:uppercase;font-style:italic;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.18)}
.ssg-net-h{font-family:var(--serif);font-size:26pt;line-height:1.2;font-weight:500;margin:0 0 16px;color:#fff}
.ssg-net-p{font-family:var(--sans);font-size:10.5pt;line-height:1.95;color:rgba(255,255,255,.75);margin-bottom:24px}
.ssg-net-meta{list-style:none;padding:0;margin:0;font-family:var(--sans);font-size:9.5pt;letter-spacing:.18em;color:rgba(255,255,255,.55);border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.ssg-net-meta li{padding:4px 0}

.ssg-about-stats{padding:120px 0;background:var(--ink);color:#fff}
.ssg-about-stats .section-title,.ssg-about-stats .section-title .it{color:#fff}
.ssg-about-stats .eyebrow{color:rgba(255,255,255,.6)}
.ssg-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:60px;border-top:1px solid rgba(255,255,255,.18);padding-top:60px}
.ssg-stat{padding:0 24px;border-right:1px solid rgba(255,255,255,.18)}
.ssg-stat:last-child{border-right:0}
.ssg-stat-num{font-family:var(--serif);font-size:64pt;line-height:1;font-weight:400;color:#fff;letter-spacing:-.02em}
.ssg-stat-lbl{font-family:var(--sans);font-size:9.5pt;letter-spacing:.22em;color:rgba(255,255,255,.7);text-transform:uppercase;margin-top:14px;line-height:1.7}
.ssg-stats-note{font-family:var(--serif);font-style:italic;font-size:9.5pt;color:rgba(255,255,255,.5);margin-top:48px}

.ssg-about-cta{padding:80px 0 120px;background:var(--paper);color:var(--ink)}
.ssg-cta-box{margin:0 auto;max-width:880px;padding:60px;border:1px solid var(--line);text-align:center;background:var(--bone)}
.ssg-cta-h{font-family:var(--serif);font-size:26pt;line-height:1.3;font-weight:500;color:var(--ink);margin:0 0 16px}
.ssg-cta-p{font-size:11pt;line-height:1.95;color:var(--ink);margin:0 0 32px}
.ssg-cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.ssg-cta-row .btn{display:inline-block;padding:14px 28px;border:1px solid var(--ink);font-family:var(--sans);font-size:9.5pt;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:.25s}
.ssg-cta-row .btn-light{background:var(--ink);color:#fff}
.ssg-cta-row .btn-ghost{background:transparent;color:var(--ink)}
.ssg-cta-row .btn:hover{background:#fff;color:var(--ink);border-color:var(--ink)}
.ssg-cta-row .btn-light:hover{background:#fff;color:var(--ink)}
.ssg-cta-row .arrow{margin-left:8px;font-family:var(--serif)}

@media (max-width:1020px){
  .ssg-about-mvv-grid,.ssg-about-net-grid{grid-template-columns:1fr 1fr;gap:24px}
  .ssg-mvv-card{border-right:0;border-bottom:1px solid var(--line);padding:32px 24px}
  .ssg-net-card{padding:36px 28px}
  .ssg-stats-grid{grid-template-columns:1fr 1fr;gap:32px}
  .ssg-about-hero{padding-top:120px}
  .ssg-about-mvv,.ssg-about-profile,.ssg-about-network,.ssg-about-stats,.ssg-about-cta{padding:80px 0}
}
@media (max-width:680px){
  .ssg-about-mvv-grid,.ssg-about-net-grid{grid-template-columns:1fr;gap:20px}
  .ssg-stats-grid{grid-template-columns:1fr;gap:24px;border-top:0;padding-top:32px}
  .ssg-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:24px 0}
  .ssg-stat:last-child{border-bottom:0}
  .ssg-stat-num{font-size:52pt}
  .ssg-profile-table th,.ssg-profile-table td{padding:16px 18px;font-size:10.5pt}
  .ssg-profile-table th{width:130px;font-size:9.5pt}
  .ssg-cta-box{padding:36px 24px}
  .ssg-cta-h{font-size:22pt}
  .ssg-about-hero{padding:80px 0 60px}
}

/* ============ TEMPLATE: PRIVACY POLICY ============ */
.ssg-legal-hero{padding:160px 0 80px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.ssg-legal-hero .section-title{text-align:left;margin-top:18px}
.ssg-legal-hero .lead{margin-top:24px;max-width:760px}
.ssg-legal-meta{display:flex;flex-wrap:wrap;gap:32px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--sans);font-size:9.5pt;letter-spacing:.14em;color:var(--smoke);text-transform:uppercase}
.ssg-legal-meta span{display:inline-flex;align-items:center;gap:8px}
.ssg-legal-meta .lbl{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:9pt;letter-spacing:.22em;text-transform:uppercase;padding-right:10px;border-right:1px solid var(--line)}

.ssg-legal-toc{padding:80px 0;background:var(--bone);color:var(--ink);border-bottom:1px solid var(--line)}
.ssg-legal-toc .eyebrow{margin-bottom:24px}
.ssg-toc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.ssg-toc-list li{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.ssg-toc-list li:nth-child(2n){border-right:0}
.ssg-toc-list a{display:flex;align-items:baseline;gap:14px;padding:20px 24px;text-decoration:none;color:var(--ink);font-family:var(--sans);font-size:10.5pt;transition:.25s}
.ssg-toc-list a::before{content:attr(data-num);display:none}
.ssg-toc-list a:hover{background:var(--paper);color:var(--ink)}
.ssg-toc-list a:hover .toc-num{color:var(--ink)}
.ssg-toc-list .toc-num{font-family:var(--serif);font-size:10pt;font-style:italic;color:var(--smoke);letter-spacing:.14em;min-width:36px}

.ssg-legal-body{padding:120px 0;background:var(--paper);color:var(--ink)}
.ssg-legal-narrow{max-width:820px;margin:0 auto;padding:0 20px}
.ssg-legal-article{padding:48px 0;border-top:1px solid var(--line)}
.ssg-legal-article:first-of-type{border-top:0;padding-top:8px}
.ssg-legal-num{font-family:var(--serif);font-size:10.5pt;letter-spacing:.32em;color:var(--mist);font-style:italic;margin-bottom:14px}
.ssg-legal-h{font-family:var(--serif);font-size:24pt;line-height:1.3;font-weight:500;color:var(--ink);margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ssg-legal-article p{font-size:11pt;line-height:2.05;color:var(--ink);margin:0 0 1.2em}
.ssg-legal-article p:last-child{margin-bottom:0}
.ssg-legal-list{list-style:none;padding:0;margin:0 0 1.2em;border-top:1px solid var(--line)}
.ssg-legal-list li{padding:16px 0 16px 28px;border-bottom:1px solid var(--line);position:relative;font-size:11pt;line-height:1.95}
.ssg-legal-list li::before{content:"·";position:absolute;left:8px;top:18px;color:var(--ink);font-weight:700;font-size:14pt;line-height:1}
.ssg-legal-numbered{list-style:none;padding:0;margin:0 0 1.2em;counter-reset:privacy-counter}
.ssg-legal-numbered li{padding:18px 0 18px 40px;border-bottom:1px solid var(--line);position:relative;font-size:11pt;line-height:1.95}
.ssg-legal-numbered li::before{counter-increment:privacy-counter;content:counter(privacy-counter,decimal-leading-zero);position:absolute;left:0;top:20px;font-family:var(--serif);font-style:italic;font-size:11pt;letter-spacing:.16em;color:var(--ink)}
.ssg-legal-numbered li:last-child{border-bottom:1px solid var(--line)}
.ssg-legal-table{width:100%;border-collapse:collapse;margin:1.2em 0;background:var(--paper);border:1px solid var(--line)}
.ssg-legal-table th,.ssg-legal-table td{padding:18px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:10.5pt;line-height:1.85}
.ssg-legal-table tr:last-child th,.ssg-legal-table tr:last-child td{border-bottom:0}
.ssg-legal-table th{width:200px;background:var(--bone);font-family:var(--sans);font-weight:500;letter-spacing:.12em;color:var(--ink);border-right:1px solid var(--line)}

.ssg-legal-revisions{margin-top:80px;padding-top:40px;border-top:1px solid var(--line)}
.ssg-legal-revisions-h{font-family:var(--serif);font-size:16pt;font-weight:500;color:var(--ink);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.ssg-legal-revisions ul{list-style:none;padding:0;margin:0 0 24px}
.ssg-legal-revisions li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.ssg-legal-revisions .rev-date{font-family:var(--serif);font-style:italic;font-size:11pt;color:var(--ink);min-width:140px}
.ssg-legal-revisions .rev-note{font-size:10.5pt;color:var(--ink)}
.ssg-legal-changelog{font-family:var(--serif);font-size:9pt;font-style:italic;color:var(--smoke);margin-top:16px}

@media (max-width:1020px){
  .ssg-toc-list{grid-template-columns:1fr}
  .ssg-toc-list li{border-right:0}
  .ssg-legal-hero{padding-top:120px}
  .ssg-legal-body,.ssg-legal-toc{padding:80px 0}
}
@media (max-width:680px){
  .ssg-legal-hero{padding:80px 0 60px}
  .ssg-legal-meta{flex-direction:column;gap:14px}
  .ssg-legal-meta span{border-bottom:1px solid var(--line);padding-bottom:8px}
  .ssg-legal-meta span:last-child{border-bottom:0;padding-bottom:0}
  .ssg-legal-body,.ssg-legal-toc{padding:60px 0}
  .ssg-legal-h{font-size:20pt}
  .ssg-legal-table th,.ssg-legal-table td{padding:14px 18px;font-size:10pt}
  .ssg-legal-table th{width:130px;font-size:9.5pt}
  .ssg-legal-revisions li{flex-direction:column;gap:4px}
}

/* ===== MOBILE MENU ===== */

.menu-btn {
  position: relative;
  width: 32px;
  height: 24px;
  padding: 0;
  z-index: 1002;
}

.menu-btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--ink);
  transition: 0.3s ease;
}

.menu-btn span:nth-child(1) {
  top: 2px;
}

.menu-btn span:nth-child(2) {
  top: 11px;
}

.menu-btn span:nth-child(3) {
  top: 20px;
}

.menu-btn.is-open span:nth-child(1) {
  top: 11px;
  transform: rotate(45deg);
}

.menu-btn.is-open span:nth-child(2) {
  opacity: 0;
}

.menu-btn.is-open span:nth-child(3) {
  top: 11px;
  transform: rotate(-45deg);
}

@media (max-width: 680px) {

  .nav {
    padding: 16px 20px;
  }

  .nav .ssg-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    gap: 28px;

    background: #fff;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
      opacity 0.3s ease,
      visibility 0.3s ease;

    z-index: 1000;
  }

  .nav .ssg-menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav .ssg-menu li {
    display: block !important;
  }

  .nav .ssg-menu a {
    font-family: var(--serif);
    font-size: 22pt;
    letter-spacing: 0.08em;
  }

  body.menu-open {
    overflow: hidden;
  }
}

/* ==================================================
   MOBILE NAVIGATION
================================================== */

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 20px;
}


/* ---------- Burger ---------- */

.menu-btn {
  display: none;
  position: relative;
  width: 30px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 1101;
}

.menu-btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--ink);
  transition:
    transform .3s ease,
    top .3s ease,
    opacity .3s ease;
}

.menu-btn span:nth-child(1) {
  top: 2px;
}

.menu-btn span:nth-child(2) {
  top: 11px;
}

.menu-btn span:nth-child(3) {
  top: 20px;
}


/* × */

.menu-btn.is-open span:nth-child(1) {
  top: 11px;
  transform: rotate(45deg);
}

.menu-btn.is-open span:nth-child(2) {
  opacity: 0;
}

.menu-btn.is-open span:nth-child(3) {
  top: 11px;
  transform: rotate(-45deg);
}


/* ---------- Mobile panel ---------- */

.mobile-menu-panel {
  display: none;
}


/* ---------- PC Language ---------- */

.lang-switch a {
  color: inherit;
  text-decoration: none;
  opacity: .4;
  transition: opacity .2s ease;
}

.lang-switch a:hover {
  opacity: .7;
}

.lang-switch a.active {
  opacity: 1;
}

.lang-separator {
  opacity: .35;
}


@media (max-width: 680px) {

  .nav {
    padding: 15px 20px;
  }


  /* PC navigationを非表示 */

  .desktop-nav {
    display: none;
  }


  /* Burger表示 */

  .menu-btn {
    display: block;
  }


  /* 全画面メニュー */

.mobile-menu-panel {
  position: fixed;

  top: 0;
  left: 0;
  right: 0;

  width: 100%;

  min-height: 100vh;
  min-height: 100dvh;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding:
    calc(90px + env(safe-area-inset-top))
    30px
    calc(50px + env(safe-area-inset-bottom));

  background: #fff;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-10px);

  transition:
    opacity .3s ease,
    visibility .3s ease,
    transform .3s ease;

  z-index: 1100;
}


  .mobile-menu-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }


  /* Menu */

  .mobile-menu {
    display: flex !important;
    flex-direction: column;
    align-items: center;

    gap: 25px;

    margin: 0;
    padding: 0;

    list-style: none;
  }


  .mobile-menu li {
    display: block !important;
    margin: 0;
    padding: 0;
  }


  .mobile-menu a {
    display: block;

    padding: 4px 10px;

    font-family: var(--serif);
    font-size: 20pt;
    font-weight: 400;

    letter-spacing: .08em;

    color: var(--ink);
    text-decoration: none;
  }


  /*
   * PC用CTAの黒背景等を
   * スマホメニューではリセット
   */

  .mobile-menu .cta-nav {
    background: transparent;
    color: var(--ink);
    padding: 4px 10px;
  }


  /* Language switch */

  .mobile-lang-switch {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 14px;

    margin-top: 42px;
    padding-top: 24px;

    min-width: 160px;

    border-top: 1px solid var(--line);

    font-family: var(--serif);
    font-size: 13pt;
    letter-spacing: .16em;
  }


  .mobile-lang-switch a {
    color: var(--ink);
    text-decoration: none;

    opacity: .35;

    transition: opacity .2s ease;
  }


  .mobile-lang-switch a.active {
    opacity: 1;
  }


  .mobile-lang-switch span {
    opacity: .3;
  }


  body.menu-open {
    overflow: hidden;
  }

}


/* ============ ABOUT — BUSINESS AREAS ============ */
.ssg-about-business{
  padding:120px 0;
  background:var(--ink);
  color:#fff;
}

.ssg-about-business .section-title{
  color:#fff;
}

.ssg-about-business .section-title .it{
  color:#fff;
}

.ssg-about-business .eyebrow{
  color:rgba(255,255,255,.6);
}

.ssg-business-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  margin-top:60px;
  border-top:1px solid rgba(255,255,255,.18);
}

.ssg-business-item{
  padding:44px 42px 48px;
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}

.ssg-business-item:nth-child(2n){
  border-right:0;
}

.ssg-business-num{
  font-family:var(--serif);
  font-size:10pt;
  letter-spacing:.28em;
  font-style:italic;
  color:rgba(255,255,255,.4);
  margin-bottom:24px;
}

.ssg-business-title{
  font-family:var(--serif);
  font-size:22pt;
  line-height:1.45;
  font-weight:400;
  color:#fff;
  margin:0 0 18px;
}

.ssg-business-text{
  font-family:var(--sans);
  font-size:10.5pt;
  line-height:1.95;
  color:rgba(255,255,255,.68);
  margin:0;
}

@media (max-width:680px){
  .ssg-about-business{
    padding:70px 0;
  }

  .ssg-business-grid{
    grid-template-columns:1fr;
    margin-top:40px;
  }

  .ssg-business-item{
    border-right:0;
    padding:30px 0;
  }

  .ssg-business-title{
    font-size:19pt;
  }
}
/* ============ HERO CAROUSEL ============ */
.hero.hero--carousel{
  display:block;
  min-height:0;
  padding:0;
  background:var(--ink);
}

.hero-carousel{
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
  position:relative;
  width:100%;
  height:calc(100vh - 64px);
  min-height:620px;
  max-height:1080px;
  overflow:hidden;
  background:var(--ink);
}

.hero-carousel-track{
  position:relative;
  width:100%;
  height:100%;
}

.hero-carousel-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease, visibility .9s ease;
  pointer-events:none;
}

.hero-carousel-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:1;
}

.hero-carousel-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.hero-carousel-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:52px;
  height:52px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(14,14,16,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  color:#fff;
  font-family:var(--serif);
  font-size:30px;
  line-height:1;
  cursor:pointer;
  transition:background .25s ease, border-color .25s ease;
}

.hero-carousel-arrow:hover{
  background:rgba(14,14,16,.55);
  border-color:rgba(255,255,255,.8);
}

.hero-carousel-prev{left:32px;}
.hero-carousel-next{right:32px;}

.hero-carousel-dots{
  position:absolute;
  left:50%;
  bottom:28px;
  z-index:4;
  display:flex;
  gap:10px;
  align-items:center;
  transform:translateX(-50%);
}

.hero-carousel-dot{
  width:34px;
  height:2px;
  padding:0;
  border:0;
  background:rgba(255,255,255,.42);
  cursor:pointer;
  transition:background .25s ease, width .25s ease;
}

.hero-carousel-dot.is-active{
  width:52px;
  background:#fff;
}

.hero-carousel-arrow:focus-visible,
.hero-carousel-dot:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
}

@media (max-width:1020px){
  .hero-carousel{
    height:calc(100vh - 62px);
    min-height:560px;
  }
  .hero-carousel-prev{left:20px;}
  .hero-carousel-next{right:20px;}
}

@media (max-width:680px){
  .hero.hero--carousel{
    padding:0;
    min-height:0;
  }
  .hero-carousel{
    height:calc(100svh - 58px);
    min-height:500px;
  }
  .hero-carousel-arrow{
    width:42px;
    height:42px;
    font-size:25px;
  }
  .hero-carousel-prev{left:12px;}
  .hero-carousel-next{right:12px;}
  .hero-carousel-dots{bottom:20px;gap:8px;}
  .hero-carousel-dot{width:24px;}
  .hero-carousel-dot.is-active{width:38px;}
}

@media (prefers-reduced-motion: reduce){
  .hero-carousel-slide{transition:none;}
}


/* ============ OPTIONAL TOP SECTION IMAGES ============ */
.section-optional-image{margin:0;overflow:hidden;position:relative;background:var(--bone)}
.section-optional-image img{display:block;width:100%;height:100%;object-fit:cover}

/* ABOUT SEVEN SEAS GLOBAL / COMPANY ID BAND */
.id-band-layout{display:block}
.id-band.has-section-image .id-band-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:64px;align-items:center}
.id-band.has-section-image .id-band-statement{font-size:31pt}
.id-band-image{aspect-ratio:4/3;min-height:320px}

/* UPCOMING PROJECT */
.upcoming-layout{display:block}
.upcoming.has-section-image .upcoming-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:64px;align-items:center}
.upcoming.has-section-image .upcoming-head{margin-bottom:38px}
.upcoming.has-section-image .upcoming-head{display:block}
.upcoming.has-section-image .countdown{margin-top:34px;flex-wrap:wrap}
.upcoming-image{aspect-ratio:4/3;min-height:300px}

/* FOR BUSINESS */
.biz-intro-layout{display:block}
.biz-lead{color:rgba(255,255,255,0.7);max-width:720px;font-size:11pt;line-height:2.0}
.biz.has-section-image .biz-intro-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:70px;align-items:center}
.biz.has-section-image .biz-intro-image{aspect-ratio:4/3;min-height:330px;background:var(--ink-2)}
.biz.has-section-image .biz-grid{margin-top:72px}

@media (max-width:1020px){
  .id-band.has-section-image .id-band-layout,
  .upcoming.has-section-image .upcoming-layout,
  .biz.has-section-image .biz-intro-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:40px}
  .id-band.has-section-image .id-band-statement{font-size:28pt}
}
@media (max-width:680px){
  .id-band.has-section-image .id-band-layout,
  .upcoming.has-section-image .upcoming-layout,
  .biz.has-section-image .biz-intro-layout{display:flex;flex-direction:column;gap:34px;align-items:stretch}
  .section-optional-image,.id-band-image,.upcoming-image,.biz.has-section-image .biz-intro-image{width:100%;min-height:0;aspect-ratio:4/3}
  .id-band.has-section-image .id-band-statement{font-size:inherit}
  .upcoming.has-section-image .upcoming-head{margin-bottom:28px}
  .biz.has-section-image .biz-grid{margin-top:50px}
}
