:root{
  --night:#0c1b22;
  --night-soft:#142a32;
  --night-line:rgba(229,205,157,.22);
  --ivory:#f6f0e3;
  --ivory-deep:#ebe0ca;
  --cinnabar:#a53629;
  --cinnabar-bright:#c34d39;
  --antique-gold:#c5a56a;
  --antique-gold-soft:#e2cf9e;
}

body{
  background-color:var(--ivory);
  background-image:
    radial-gradient(circle at 18% 30%,rgba(169,132,72,.08),transparent 24rem),
    repeating-linear-gradient(0deg,rgba(53,42,27,.018) 0,rgba(53,42,27,.018) 1px,transparent 1px,transparent 5px);
}

.site-header{
  position:relative;
  z-index:20;
  max-width:none;
  height:96px;
  margin:0;
  padding-inline:max(32px,calc((100vw - 1200px)/2));
  color:#f8f1e4;
  background:var(--night);
  border-bottom:1px solid var(--night-line);
}
.site-header:after{
  content:"";
  position:absolute;
  left:max(32px,calc((100vw - 1200px)/2));
  right:max(32px,calc((100vw - 1200px)/2));
  bottom:-4px;
  height:1px;
  background:rgba(197,165,106,.08);
}
.site-header .brand b{font-size:.82rem;color:#fff;letter-spacing:.18em}
.site-header .brand i{color:var(--antique-gold-soft);letter-spacing:.36em}
.site-header .brand-seal{
  width:44px;height:44px;
  border-color:var(--cinnabar-bright);
  color:#f0a18e;
  background:rgba(166,54,41,.14);
  box-shadow:inset 0 0 0 3px var(--night),inset 0 0 0 4px rgba(195,77,57,.45);
}
.site-header nav a{color:rgba(248,241,228,.72);letter-spacing:.04em}
.site-header nav a:hover{color:#fff}
.site-header .language-switch{border-color:var(--night-line)}
.site-header .language-switch a{color:rgba(248,241,228,.6)}
.site-header .language-switch a:hover,.site-header .language-switch a.is-active{color:var(--antique-gold-soft)}
.site-header .language-switch a.is-active{border-color:var(--antique-gold)}

.hero{
  isolation:isolate;
  max-width:none;
  min-height:700px;
  padding:94px max(48px,calc((100vw - 1140px)/2)) 148px;
  color:#f8f1e4;
  background:
    radial-gradient(circle at 77% 42%,rgba(197,165,106,.14),transparent 24rem),
    radial-gradient(circle at 7% 8%,rgba(83,125,132,.12),transparent 26rem),
    linear-gradient(135deg,#0a171e 0%,#10252d 56%,#09161c 100%);
}
.hero:before{
  right:max(0px,calc((100vw - 1380px)/2));
  top:8px;
  color:rgba(226,207,158,.04);
  font-size:25rem;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.19;
  background-image:
    radial-gradient(circle,rgba(237,217,174,.8) 0 1px,transparent 1.5px),
    linear-gradient(30deg,transparent 49.85%,rgba(213,188,137,.1) 50%,transparent 50.15%);
  background-size:91px 91px,54px 54px;
  background-position:13px 19px,0 0;
  mask-image:linear-gradient(to bottom,black,transparent 90%);
}
.hero-copy{max-width:690px}
.hero .eyebrow{color:var(--antique-gold-soft)}
.hero h1{
  max-width:760px;
  color:#fbf6eb;
  font-size:clamp(4rem,7.2vw,7.2rem);
  letter-spacing:-.06em;
  text-shadow:0 14px 50px rgba(0,0,0,.26);
}
.hero h1 em{color:#e3b99c;font-style:normal}
.hero-lead{color:rgba(248,241,228,.74);font-size:1.12rem;max-width:630px}
.hero-actions{color:rgba(248,241,228,.56)}
.hero .button.primary{
  min-width:228px;
  background:var(--cinnabar);
  border:1px solid rgba(255,214,194,.2);
  box-shadow:0 12px 32px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.05);
}

.hero-constellation{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-constellation span{
  position:absolute;
  display:grid;
  place-items:center;
  width:34px;height:34px;
  border:1px solid rgba(226,207,158,.13);
  border-radius:50%;
  color:rgba(226,207,158,.25);
  font:400 .72rem var(--serif);
}
.hero-constellation span:nth-child(1){left:5%;top:13%}
.hero-constellation span:nth-child(2){left:15%;bottom:13%}
.hero-constellation span:nth-child(3){left:46%;top:9%}
.hero-constellation span:nth-child(4){left:51%;bottom:11%}
.hero-constellation span:nth-child(5){right:33%;top:17%}
.hero-constellation span:nth-child(6){right:9%;top:9%}
.hero-constellation span:nth-child(7){right:4%;bottom:17%}
.hero-constellation span:nth-child(8){right:27%;bottom:6%}

.hero-chart{
  min-height:470px;
  padding:85px 10px;
  gap:10px;
  filter:drop-shadow(0 26px 38px rgba(0,0,0,.22));
}
.chart-halo{
  width:470px;height:470px;
  border:1px solid rgba(226,207,158,.28);
  box-shadow:
    inset 0 0 0 22px rgba(197,165,106,.025),
    inset 0 0 0 23px rgba(226,207,158,.12),
    inset 0 0 0 64px rgba(5,14,18,.09),
    inset 0 0 0 65px rgba(226,207,158,.08);
}
.chart-halo:before,.chart-halo:after{height:470px;background:rgba(226,207,158,.13)}
.chart-core{
  position:absolute;
  left:50%;top:50%;
  width:126px;height:126px;
  transform:translate(-50%,-50%) rotate(-8deg);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px;
  border:1px solid rgba(226,207,158,.18);
  border-radius:50%;
  color:rgba(226,207,158,.18);
  font:400 .72rem var(--serif);
}
.chart-core:before,.chart-core:after{content:"";position:absolute;border-radius:50%}
.chart-core:before{inset:17px;border:1px dashed rgba(226,207,158,.13)}
.chart-core:after{inset:44px;background:rgba(197,165,106,.08)}
.orbit{border-color:rgba(226,207,158,.13)}
.orbit-one{width:620px;height:620px;right:-260px;top:7px;animation:slowOrbit 38s linear infinite}
.orbit-two{width:260px;height:260px;right:11%;top:205px;animation:slowOrbit 24s linear infinite reverse}
.orbit:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--antique-gold);top:12%;left:19%;box-shadow:0 0 18px rgba(226,207,158,.7)}
.mini-pillar{
  z-index:2;
  min-height:198px;
  justify-content:center;
  color:#f8f1e4;
  border:1px solid rgba(226,207,158,.32);
  background:rgba(9,25,31,.79);
  backdrop-filter:blur(6px);
  box-shadow:inset 0 0 24px rgba(197,165,106,.025);
}
.mini-pillar small{color:rgba(248,241,228,.48)}
.mini-pillar strong{font-size:2.45rem}
.mini-pillar.active{
  color:#fff9ee;
  border-color:#bd4b39;
  background:linear-gradient(180deg,#b84232,#8f2d24);
  box-shadow:0 18px 45px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,226,210,.13);
}

.calculator{
  padding:106px 30px 130px;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.67),transparent 34rem),
    linear-gradient(180deg,#eee4d1,var(--ivory) 23%,#efe5d2 100%);
}
.calculator:before{
  opacity:.68;
  background-image:
    linear-gradient(30deg,transparent 49.7%,rgba(83,67,43,.027) 50%,transparent 50.3%),
    linear-gradient(150deg,transparent 49.7%,rgba(83,67,43,.021) 50%,transparent 50.3%);
}
.calculator .section-intro{margin-bottom:54px}
.section-intro h2{letter-spacing:-.025em}
.steps{max-width:820px;margin-bottom:38px}
.steps:before{background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent)}
.steps span{box-shadow:0 0 0 7px rgba(246,240,227,.75)}

.paper-panel{
  max-width:1040px;
  padding:64px 68px;
  border:1px solid rgba(108,78,38,.24);
  background:
    linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,.34)),
    repeating-linear-gradient(90deg,rgba(92,67,32,.018) 0,rgba(92,67,32,.018) 1px,transparent 1px,transparent 8px),
    #f8f1e3;
  box-shadow:0 28px 80px rgba(67,48,24,.16),0 2px 0 rgba(255,255,255,.7) inset;
}
.paper-panel:before,.paper-panel:after{width:44px;height:44px;border-width:2px;opacity:.72}
.form-grid{gap:32px 42px}
.field label,.field legend{letter-spacing:.015em;color:#332e27}
.field input[type=date],.field input[type=time],.field input[type=search]{
  min-height:54px;
  padding:14px 13px;
  border:1px solid rgba(94,75,48,.25);
  background:rgba(255,253,247,.72);
  border-radius:2px;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.field input:focus{border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(165,54,41,.1)}
.choice-group label{
  min-width:112px;
  padding:10px 14px;
  border:1px solid rgba(94,75,48,.18);
  background:rgba(255,255,255,.35);
}
.form-footer{margin-top:8px;padding-top:25px;border-top:1px solid rgba(94,75,48,.14)}
.button.primary{border-radius:2px;letter-spacing:.02em}
.place-results{top:91px;border-radius:2px}

.confirmation-grid{gap:60px}
.full-chart{padding:12px;border:1px solid rgba(94,75,48,.24);background:rgba(255,255,255,.35);box-shadow:inset 0 0 0 4px #f8f1e3,inset 0 0 0 5px rgba(94,75,48,.1)}
.pillar{padding:20px 8px 22px}
.pillar:nth-child(3){background:rgba(165,54,41,.06)}
.pillar strong{font-size:2.55rem}
.dashboard-card{background:rgba(255,255,255,.48);box-shadow:0 9px 25px rgba(66,48,27,.05)}
.paid-callout{position:relative;overflow:hidden;background:linear-gradient(135deg,#10242c,#162f36);box-shadow:0 20px 50px rgba(12,27,34,.18)}
.paid-callout:after{content:"詳";position:absolute;right:-12px;bottom:-48px;color:rgba(226,207,158,.055);font:8rem var(--serif)}

.method-band{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 73% 46%,rgba(197,165,106,.11),transparent 22rem),
    linear-gradient(135deg,#0b1a21,#152e35);
}
.method-band:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(226,207,158,.09);border-radius:50%;right:-160px;top:-210px;box-shadow:inset 0 0 0 45px rgba(197,165,106,.018),inset 0 0 0 46px rgba(226,207,158,.06)}
.method-points article{position:relative}
.method-points article:before{content:"";position:absolute;left:0;top:-1px;width:42px;height:2px;background:var(--cinnabar-bright)}
.method-points h3{color:#fff5e6}

.learn{padding-top:120px;padding-bottom:130px}
.learn-grid{gap:22px}
.learn-grid article{
  min-height:270px;
  padding:30px;
  border-color:rgba(94,75,48,.2);
  background:linear-gradient(145deg,rgba(255,255,255,.5),rgba(255,255,255,.12));
  box-shadow:0 12px 35px rgba(66,48,27,.055);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.learn-grid article:hover{transform:translateY(-5px);border-color:rgba(165,54,41,.36);box-shadow:0 20px 40px rgba(66,48,27,.09)}
.learn-grid article:before{content:"";position:absolute;left:30px;top:30px;width:26px;height:3px;background:var(--cinnabar)}
.learn-grid article>b{font-size:5.8rem;color:rgba(165,54,41,.085)}

footer{padding-top:54px;padding-bottom:54px}

@keyframes slowOrbit{to{transform:rotate(360deg)}}

@media(max-width:1050px){
  .hero{grid-template-columns:1.05fr .95fr;padding-inline:34px}
  .hero h1{font-size:clamp(3.7rem,7.5vw,5.7rem)}
  .chart-halo{width:390px;height:390px}
  .chart-halo:before,.chart-halo:after{height:390px}
  .mini-pillar{min-height:180px}
}

@media(max-width:900px){
  .site-header{padding-inline:24px}
  .hero{grid-template-columns:1fr;padding:74px 28px 110px;text-align:center}
  .hero-copy{margin:auto}
  .hero-lead{margin-inline:auto}
  .hero-actions{justify-content:center}
  .hero-chart{min-height:390px;max-width:500px}
  .method-band{gap:54px}
}

@media(max-width:640px){
  .site-header{height:auto;min-height:78px;padding:14px 16px;flex-wrap:wrap;gap:10px}
  .site-header:after{left:16px;right:16px}
  .site-header .brand-seal{width:38px;height:38px}
  .language-switch{order:3;width:100%;justify-content:center;border-left:0!important;border-top:1px solid var(--night-line);padding:9px 0 0!important}
  .language-switch a{font-size:.7rem!important}
  .hero{padding:58px 19px 82px}
  .hero h1{font-size:3.45rem;line-height:1}
  .hero-lead{line-height:1.7;margin:26px auto}
  .hero-actions{align-items:stretch}
  .hero-actions .button{width:100%}
  .hero-chart{min-height:330px;margin-top:32px;padding:65px 0}
  .chart-halo{width:310px;height:310px}
  .chart-halo:before,.chart-halo:after{height:310px}
  .chart-core{width:88px;height:88px}
  .mini-pillar{min-height:150px;padding:15px 2px}
  .mini-pillar small{font-size:.47rem;letter-spacing:.06em;margin-bottom:8px}
  .mini-pillar strong{font-size:1.75rem}
  .calculator{padding:72px 14px 86px}
  .paper-panel{padding:42px 20px}
  .form-grid{gap:26px}
  .choice-group label{min-width:calc(50% - 10px);margin-right:10px}
  .form-footer{margin-top:0}
  .method-band{padding-block:82px}
  .learn{padding-block:84px}
}

@media(prefers-reduced-motion:reduce){.orbit{animation:none}}
