@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

:root{color-scheme:light;--navy:#111b2c;--paper:#f4f2ed;--ink:#172239;--muted:#667083;--line:#d5d9dc;--accent:#c96745;--white:#fff;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;line-height:1.8}
a{color:inherit}
a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:76px;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,84px);border-bottom:1px solid #ffffff21}
.brand{text-decoration:none;font-weight:700;letter-spacing:.18em;font-size:20px;white-space:nowrap}
.brand span{font-size:10px;letter-spacing:.12em;color:#aab4c2;vertical-align:middle}
nav{display:flex;gap:clamp(15px,3vw,38px)}
nav a{text-decoration:none;font-size:12px;letter-spacing:.1em;color:#d6dce4}
nav a:hover{color:#fff}
.hero{background:var(--navy);color:#fff;min-height:610px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);overflow:hidden}
.hero-inner{padding:clamp(75px,10vw,146px) 24px 98px clamp(24px,10vw,160px);position:relative;z-index:1}
.eyebrow,.section-kicker,.product-tag{font-size:11px;letter-spacing:.24em;font-weight:700}
.eyebrow{color:#efab8a;margin:0 0 24px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(48px,6.3vw,94px);line-height:1.22;letter-spacing:-.055em;margin-bottom:32px;font-weight:600}
h1 em{font-style:normal;color:#e79776}
.hero-copy{font-size:clamp(14px,1.45vw,17px);color:#ccd4df;line-height:2.05;margin-bottom:38px}
.primary-link,.product-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:54px;min-width:245px;text-decoration:none;background:var(--accent);color:#fff;padding:15px 20px;font-size:13px;font-weight:700;letter-spacing:.08em;transition:background .15s,transform .15s}
.primary-link:hover,.product-cta:hover{background:#af5234;transform:translateY(-2px)}
.hero-mark{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 55% 43%,#314259 0,#1a283b 45%,#111b2c 75%);color:#ffffff10;font-size:min(29vw,420px);font-weight:700;letter-spacing:-.28em;line-height:1}
.hero-mark:before,.hero-mark:after{content:'';position:absolute;border:1px solid #ffffff22;border-radius:50%;width:72%;aspect-ratio:1}
.hero-mark:after{width:100%}
.hero-mark span{transform:translateX(-.12em)}
.section-shell{display:grid;grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:clamp(28px,6vw,110px);max-width:1400px;margin:auto;padding-left:clamp(24px,5vw,84px);padding-right:clamp(24px,5vw,84px)}
.intro{padding-top:108px;padding-bottom:88px}
.section-kicker{color:var(--accent);margin:7px 0}
h2{font-size:clamp(28px,3.4vw,46px);line-height:1.45;letter-spacing:-.05em;margin-bottom:24px}
.intro p:last-child,.contact p:not(.section-kicker){max-width:650px;color:var(--muted);font-size:15px}
.products{display:block;padding-bottom:115px}
.product{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(90px,.18fr) minmax(0,1fr) minmax(170px,.38fr);gap:clamp(22px,4vw,72px);padding:52px 0 62px;min-height:390px}
.product:last-child{border-bottom:1px solid var(--line)}
.product-number{font-size:15px;letter-spacing:.18em;color:var(--accent);font-weight:700}
.product-tag{color:var(--accent);margin-bottom:12px}
h3{font-size:clamp(29px,3.3vw,48px);line-height:1.42;letter-spacing:-.055em;font-weight:600;margin-bottom:17px}
.product-subtitle{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent);margin:-7px 0 17px}
.product-copy{color:var(--muted);max-width:620px;font-size:15px;margin-bottom:25px}
.features{padding-left:1.25em;margin:0 0 28px;max-width:620px;font-size:13px;color:var(--ink)}
.features li{padding:3px 0}
.product-meta{display:flex;flex-wrap:wrap;gap:12px 36px;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;max-width:620px}
.product-meta strong{font-weight:600;color:var(--ink);margin-left:12px}
.product-cta{margin-top:10px;min-width:255px}
.pending{display:inline-block;margin:10px 0 0;padding:12px 18px;border:1px solid #bcc3c8;color:#5f6c79;font-size:12px;font-weight:700;letter-spacing:.08em}
[hidden]{display:none!important}
.flyer{display:block;align-self:start;background:#fff;padding:7px;box-shadow:0 12px 35px #17223921;transition:transform .15s}
.flyer:hover{transform:translateY(-3px)}
.flyer img{display:block;width:100%;height:auto}
.flow{background:#e7eae9;max-width:none;padding-top:90px;padding-bottom:95px}
.flow>div{max-width:800px}
.flow ol{list-style:none;padding:0;margin:20px 0 24px;border-top:1px solid #c9d0d1}
.flow li{padding:16px 0;border-bottom:1px solid #c9d0d1;font-size:15px}
.flow li span{display:inline-block;width:62px;color:var(--accent);font-weight:700;letter-spacing:.1em}
.small-note{color:var(--muted);font-size:12px;line-height:1.9}
.contact{padding-top:90px;padding-bottom:110px}
footer{background:var(--navy);color:#aeb8c5;padding:28px clamp(24px,5vw,84px);display:flex;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.1em}
@media(max-width:760px){.site-header{height:auto;min-height:70px;align-items:flex-start;gap:18px;flex-direction:column;padding-top:18px;padding-bottom:16px}.brand{font-size:17px}nav{gap:21px}.hero{display:block;min-height:0}.hero-inner{padding:75px 24px 84px}.hero-mark{display:none}.section-shell{display:block}.intro{padding-top:68px;padding-bottom:52px}.products{padding-bottom:70px}.product{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:38px 0 45px;min-height:0}.product-number{font-size:12px;padding-top:5px}.flyer{grid-column:2;max-width:280px;margin-top:16px}.product-copy{font-size:14px}.product-meta{display:block}.product-meta span{display:block;margin-bottom:7px}.flow,.contact{padding-top:68px;padding-bottom:72px}.section-kicker{margin-bottom:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-link,.product-cta{transition:none}}
