
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    :root { --navy:#0f2347; --navy-mid:#162d58; --navy-card:#0f1e40; --navy-border:#1e3260; --gold:#c8972a; --gold-light:#f5c96e; --white:#ffffff; --muted:#8a98b8; --serif:'Cormorant Garamond',Georgia,serif; --sans:'Montserrat',sans-serif; }
    html { scroll-behavior:smooth; }
    body { background:var(--navy); color:var(--white); font-family:var(--sans); font-size:15px; line-height:1.7; -webkit-font-smoothing:antialiased; }
    nav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:1.4rem 4rem; display:flex; align-items:center; justify-content:space-between; background:rgba(15,35,71,.92); backdrop-filter:blur(16px); border-bottom:1px solid rgba(200,151,42,.1); }
    .nav-logo img { height:50px; width:auto; object-fit:contain; }
    .nav-links { display:flex; gap:2rem; list-style:none; }
    .nav-links a { color:rgba(255,255,255,.75); text-decoration:none; font-size:.68rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; transition:color .2s; }
    .nav-links a:hover,.nav-links a.active { color:var(--gold-light); }
    .nav-cta { background:transparent; border:1px solid var(--gold); color:var(--gold-light); padding:.6rem 1.5rem; font-family:var(--sans); font-size:.65rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; transition:all .3s; text-decoration:none; }
    .nav-cta:hover { background:var(--gold); color:var(--navy); }

    .hero { position:relative; height:540px; margin-top:80px; overflow:hidden; display:flex; align-items:flex-end; padding:64px 80px; }
    .hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%; opacity:.45; }
    .hero::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(15,35,71,.98) 0%,rgba(15,35,71,.15) 70%); }
    .hero-content { position:relative; z-index:1; max-width:800px; }
    .hero-tag { font-size:.68rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; display:inline-block; border:1px solid rgba(200,151,42,.4); padding:5px 16px; }
    .hero-content h1 { font-family:var(--serif); font-size:clamp(40px,5.5vw,72px); font-weight:300; line-height:1.05; color:var(--white); margin-bottom:20px; }
    .hero-content h1 em { font-style:italic; color:var(--gold-light); }
    .hero-sub { font-size:.88rem; color:rgba(255,255,255,.7); max-width:580px; line-height:1.85; margin-bottom:32px; }
    .hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
    .btn-gold { display:inline-block; background:var(--gold); color:var(--navy); font-family:var(--sans); font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; padding:.9rem 2rem; text-decoration:none; transition:background .25s; }
    .btn-gold:hover { background:var(--gold-light); }
    .btn-outline { display:inline-block; border:1px solid rgba(255,255,255,.3); color:var(--white); font-family:var(--sans); font-size:.7rem; font-weight:400; letter-spacing:.15em; text-transform:uppercase; padding:.9rem 2rem; text-decoration:none; transition:all .25s; }
    .btn-outline:hover { border-color:var(--gold); color:var(--gold-light); }

    section { padding:80px; }
    .section-eyebrow { font-size:.65rem; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; }
    .section-title { font-family:var(--serif); font-size:clamp(32px,4vw,52px); font-weight:300; line-height:1.1; color:var(--white); margin-bottom:20px; }
    .section-title em { font-style:italic; color:var(--gold-light); }
    .section-sub { font-size:.88rem; color:var(--muted); max-width:580px; line-height:1.85; }

    .why-japan { background:var(--navy-mid); }
    .why-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-top:52px; }
    .why-img { height:480px; overflow:hidden; }
    .why-img img { width:100%; height:100%; object-fit:cover; }
    .why-points { display:flex; flex-direction:column; gap:24px; }
    .why-point { display:flex; gap:20px; align-items:flex-start; }
    .why-point-num { font-family:var(--serif); font-size:36px; color:rgba(200,151,42,.3); line-height:1; min-width:40px; }
    .why-point-text h4 { font-family:var(--serif); font-size:18px; color:var(--white); margin-bottom:8px; }
    .why-point-text p { font-size:.82rem; color:var(--muted); line-height:1.8; }

    .experiences-section { background:var(--navy); }
    .exp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
    .exp-card { background:var(--navy-card); border:1px solid var(--navy-border); overflow:hidden; }
    .exp-card img { width:100%; height:200px; object-fit:cover; transition:transform .5s; }
    .exp-card:hover img { transform:scale(1.05); }
    .exp-body { padding:24px; }
    .exp-body h3 { font-family:var(--serif); font-size:18px; color:var(--white); margin-bottom:10px; }
    .exp-body p { font-size:.8rem; color:var(--muted); line-height:1.75; }

    .sample-section { background:var(--navy-mid); }
    .sample-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:52px; }
    .sample-card { background:var(--navy-card); border:1px solid var(--navy-border); border-top:2px solid var(--gold); padding:32px; }
    .sample-card h3 { font-family:var(--serif); font-size:22px; color:var(--white); margin-bottom:6px; }
    .sample-card .tag { display:inline-block; font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(200,151,42,.3); padding:3px 12px; margin-bottom:16px; }
    .sample-card ul { margin:0 0 0 1.1rem; }
    .sample-card li { font-size:.82rem; color:rgba(255,255,255,.72); line-height:1.8; margin-bottom:.4rem; }

    .cta-section { background:var(--navy); padding:100px 80px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .cta-text h2 { font-family:var(--serif); font-size:clamp(32px,4vw,50px); font-weight:300; color:var(--white); margin-bottom:16px; line-height:1.15; }
    .cta-text h2 em { font-style:italic; color:var(--gold-light); }
    .cta-text p { font-size:.88rem; color:var(--muted); line-height:1.85; margin-bottom:28px; }
    .cta-actions { display:flex; flex-direction:column; gap:12px; }
    .cta-actions a { display:inline-flex; align-items:center; gap:12px; font-size:.75rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
    .cta-form { background:var(--navy-card); border:1px solid var(--navy-border); border-top:2px solid var(--gold); padding:40px; }
    .cta-form h3 { font-family:var(--serif); font-size:22px; color:var(--white); margin-bottom:24px; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
    .form-field { display:flex; flex-direction:column; gap:6px; }
    .form-field.full { grid-column:span 2; }
    .form-field label { font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
    .form-field input, .form-field select, .form-field textarea { background:rgba(255,255,255,.04); border:1px solid var(--navy-border); color:var(--white); font-family:var(--sans); font-size:.85rem; padding:11px 15px; outline:none; transition:border-color .2s; width:100%; }
    .form-field input::placeholder, .form-field textarea::placeholder { color:rgba(255,255,255,.25); }
    .form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color:rgba(200,151,42,.5); }
    .form-field select option { background:var(--navy-mid); }
    .form-field textarea { height:90px; resize:vertical; }
    .form-submit button { background:var(--gold); color:var(--navy); border:none; font-family:var(--sans); font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; padding:1rem 2.5rem; cursor:pointer; transition:background .25s; width:100%; margin-top:6px; }
    .form-submit button:hover { background:var(--gold-light); }

    .whatsapp-float { position:fixed; bottom:28px; right:28px; z-index:9999; background:#25D366; width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,.45); transition:transform .2s,box-shadow .2s; text-decoration:none; }
    .whatsapp-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.6); }
    .whatsapp-float svg { width:30px; height:30px; }

    footer { border-top:1px solid var(--navy-border); padding:40px 80px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
    footer p { font-size:.75rem; color:var(--muted); }
    footer nav { display:flex; gap:24px; }
    footer nav a { font-size:.72rem; color:var(--muted); text-decoration:none; letter-spacing:.1em; text-transform:uppercase; }
    footer nav a:hover { color:var(--gold); }

    @media(max-width:1024px) { section { padding:60px 40px; } .why-grid { grid-template-columns:1fr; } .why-img { height:320px; } .exp-grid { grid-template-columns:1fr 1fr; } .sample-grid { grid-template-columns:1fr; } .cta-section { grid-template-columns:1fr; gap:40px; padding:60px 40px; } }
    @media(max-width:768px) { nav { padding:1rem 1.5rem; } .nav-links { display:none; } .hero { padding:36px 24px; height:auto; padding-top:120px; } section { padding:48px 24px; } .exp-grid { grid-template-columns:1fr; } .form-row { grid-template-columns:1fr; } .cta-section { padding:48px 24px; } footer { padding:32px 24px; } }
  
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.4rem;flex-direction:column;gap:5px;z-index:1001;position:relative}
  .nav-toggle span{display:block;width:24px;height:2px;background:var(--gold-light,#f5c96e);transition:all .3s}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999}
  .nav-overlay.open{display:block}
  @media(max-width:768px){
    .nav-toggle{display:flex}
    .nav-links{display:none !important;position:fixed;top:0;right:0;bottom:0;width:78vw;max-width:320px;background:var(--navy,#0f2347);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:6rem 2rem 2rem;box-shadow:-8px 0 40px rgba(0,0,0,.5);overflow-y:auto;z-index:1000}
    .nav-links.mobile-open{display:flex !important}
    .nav-links li{list-style:none;width:100%}
    .nav-links a{display:block;width:100%;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.78rem}
  }
