:root {
  --ink:#22201d; --muted:#77736e; --paper:#fff; --cream:#f7f6f3;
  --accent:#8d6848; --dark:#242321; --line:rgba(34,32,29,.13);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
#contact { scroll-margin-top:100px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Noto Sans JP",sans-serif; font-size:15px; line-height:1.9; letter-spacing:.025em; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:100%; object-fit:cover; }
.site-header { height:86px; padding:0 clamp(22px,5vw,72px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(255,255,255,.92); position:sticky; z-index:10; top:0; backdrop-filter:blur(12px); }
.brand { font-family:"DM Serif Display",serif; font-size:22px; letter-spacing:.1em; line-height:1.1; }
.brand span { display:block; margin-top:5px; font-family:"Noto Sans JP",sans-serif; font-size:8px; letter-spacing:.2em; }
.header-cta { padding:9px 16px; border:1px solid var(--ink); font-size:11px; letter-spacing:.11em; }
.eyebrow { margin:0 0 20px; color:var(--accent); font-size:10px; font-weight:600; letter-spacing:.23em; }
.hero h1,.intro h2,.proof h2,.section-heading h2,.freedom h2,.steps h2,.contact-heading h2 { margin:0; font-size:clamp(39px,5.1vw,73px); font-weight:500; letter-spacing:-.055em; line-height:1.25; font-feature-settings:"palt"; }
.hero h1 em,.proof h2 em,.freedom h2 em,.contact-heading h2 em { font-family:"DM Serif Display",serif; font-weight:400; letter-spacing:-.025em; }

/* Hero: a single wide product image with a white-light gradient for the copy. */
.hero { position:relative; isolation:isolate; min-height:clamp(660px,72vw,790px); padding:clamp(82px,10vw,145px) max(6vw,calc((100vw - 1320px)/2 + 72px)); overflow:hidden; background:#fff; }
.hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 25%,rgba(255,255,255,.83) 39%,rgba(255,255,255,.35) 54%,rgba(255,255,255,0) 69%); pointer-events:none; }
.hero-copy { position:relative; z-index:2; width:min(100%,570px); }
.lead { margin:32px 0 13px; font-size:clamp(17px,1.9vw,24px); font-weight:500; line-height:1.75; }
.hero-note { color:var(--muted); font-size:13px; line-height:2; }
.hero-actions { display:flex; align-items:center; gap:23px; margin-top:38px; }
.button { display:inline-flex; align-items:center; gap:22px; padding:14px 20px; border:1px solid var(--ink); font-size:12px; letter-spacing:.1em; transition:.25s; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:17px; line-height:1; }
.primary { color:#fff; background:var(--ink); }
.text-button { padding-left:0; border-color:transparent; }
.hero-image-wrap { position:absolute; inset:0; z-index:0; padding:0; }
.hero-image { width:100%; height:100%; min-height:0; background:#f1f0ed; }
.hero-image img { object-position:center 42%; }
.hero-caption { position:absolute; z-index:3; right:max(6vw,calc((100vw - 1320px)/2 + 72px)); bottom:35px; display:flex; gap:19px; align-items:flex-start; padding:12px 0 0 18px; background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,0)); }
.hero-caption span { padding-top:4px; color:var(--accent); font-size:10px; }
.hero-caption p { margin:0; font-size:12px; line-height:1.7; }
.hero-caption strong,.hero-caption small { display:block; }
.hero-caption strong { font-family:"DM Serif Display",serif; font-size:14px; font-weight:400; letter-spacing:.12em; }
.hero-caption small { color:var(--muted); font-size:9px; letter-spacing:.16em; }

.section-space { padding:clamp(88px,13vw,188px) clamp(22px,5vw,72px); }
.intro { max-width:1050px; margin:auto; text-align:center; }
.intro h2 { font-size:clamp(30px,4vw,54px); }
.market-subhead { margin:22px 0 0; color:var(--muted); font-size:13px; letter-spacing:.04em; }
.trade-area-visual { width:min(100%,1180px); margin:clamp(44px,6vw,82px) auto 0; overflow:hidden; background:#fbfaf8; }
.trade-area-visual img { display:block; width:100%; height:auto; }
.trade-area-visual + .market-result { margin-top:clamp(46px,6vw,78px); }
.market-strategy { margin-top:clamp(46px,6vw,78px); }
.market-strategy .eyebrow { margin-bottom:14px; }
.market-strategy-copy { max-width:760px; margin:25px auto 0; color:var(--muted); font-size:13px; line-height:2; }
.market-strategy-copy b { color:var(--accent); font-weight:600; }
.market-steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:900px; margin:58px auto 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.market-steps p { display:flex; min-height:138px; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin:0; }
.market-steps p+p { border-left:1px solid var(--line); }
.market-steps span { color:var(--accent); font-family:"DM Serif Display",serif; font-size:16px; }
.market-steps b { font-size:18px; font-weight:500; letter-spacing:.06em; }
.market-steps strong { color:var(--muted); font-family:"DM Serif Display",serif; font-size:15px; font-weight:400; letter-spacing:.03em; }
.market-steps small { color:var(--muted); font-size:8px; letter-spacing:.12em; }
.market-steps .market-delivery strong { color:var(--accent); font-weight:600; }
.market-message { margin:30px 0 0; color:var(--muted); font-size:13px; }
.market-message strong { color:var(--accent); font-weight:600; }
.market-result { margin-top:38px; color:var(--ink); font-size:clamp(21px,2.25vw,32px); letter-spacing:-.05em; line-height:1.42; }
.market-result strong { color:var(--ink); font-weight:500; }
.intro-explain { max-width:720px; margin:39px auto 0; color:var(--muted); font-size:13px; }
.intro-closing { margin:68px 0 0; color:var(--ink); font-size:clamp(20px,2.25vw,31px); letter-spacing:-.035em; line-height:1.55; }
.intro-closing strong { display:block; font-weight:500; }
.intro-closing strong b { color:var(--accent); font-weight:600; }
.intro-closing span { display:block; margin-top:14px; color:var(--muted); font-size:13px; letter-spacing:0; }
.market-footnote { display:block; margin-top:28px; color:var(--muted); font-size:8px; line-height:1.7; }
.market-footnote a { margin-left:8px; color:var(--accent); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.proof { position:relative; isolation:isolate; overflow:hidden; color:#faf8f3; background:#33483e; }
.proof::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(125deg,rgba(43,60,51,.97) 0%,rgba(43,60,51,.93) 38%,rgba(43,60,51,.7) 64%,rgba(43,60,51,.38) 100%),linear-gradient(0deg,rgba(35,48,42,.86) 0%,rgba(35,48,42,.08) 55%); }
.proof-background { position:absolute; inset:0; z-index:-2; }
.proof-background img { width:100%; height:100%; object-fit:cover; object-position:72% 16%; opacity:.86; filter:saturate(.84) contrast(.96); }
.proof-content { position:relative; width:min(100%,1320px); margin:auto; padding:clamp(88px,11vw,165px) clamp(22px,5vw,72px); text-align:center; }
.proof .eyebrow,.contact .eyebrow { color:#d9a973; }
.proof h2 { font-size:clamp(40px,4.6vw,62px); }
.proof h2 span { display:block; }
.proof h2 em { display:block; margin-top:18px; color:#d8d1c7; font-family:"Noto Sans JP",sans-serif; font-size:clamp(18px,1.9vw,25px); font-style:normal; font-weight:400; letter-spacing:.015em; line-height:1.6; }
.proof-lead { margin:28px 0 0; color:#d3cec7; font-size:13px; }
.proof-review-note { max-width:720px; margin:22px auto 0; color:#aeb8b0; font-size:9px; line-height:1.9; }
.award-cards { display:grid; grid-template-columns:repeat(2,1fr); margin:58px 0 0; border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.award-cards article { min-height:230px; padding:31px 22px 25px; }
.award-cards article+article { border-left:1px solid rgba(255,255,255,.2); }
.crown { width:40px; height:30px; margin:0 auto 20px; fill:none; stroke:#e0bb86; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.award-cards strong { display:block; color:#e0bb86; font-family:"DM Serif Display",serif; font-size:64px; font-weight:400; line-height:.9; letter-spacing:-.04em; }
.award-cards strong small { font-family:"Noto Sans JP",sans-serif; font-size:16px; letter-spacing:0; }
.award-cards p { margin:18px 0 0; color:#d8d1c7; font-size:10px; font-weight:500; line-height:1.7; letter-spacing:.1em; }
.award-cards p b { color:#e0bb86; font-weight:500; }
.award-cards .produced { display:flex; grid-column:1/-1; flex-direction:column; align-items:center; justify-content:center; min-height:205px; border-top:1px solid rgba(255,255,255,.2); border-left:0; text-align:center; }
.award-cards .produced strong { font-size:88px; }
.award-cards .produced strong small { font-size:18px; }
.award-cards .produced p { margin:16px 0 0; text-align:center; }
.award-cards .produced small { width:auto; max-width:520px; margin-top:14px; color:#c2c9bf; font-size:9px; line-height:1.6; }
.delivery-table { width:min(100%,810px); margin:44px auto 0; border-top:1px solid rgba(255,255,255,.2); text-align:left; }
.delivery-table p { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; padding:14px 6px; border-bottom:1px solid rgba(255,255,255,.2); }
.delivery-table p:first-child { color:#aaa39a; font-size:8px; font-weight:600; letter-spacing:.15em; }
.delivery-table p:not(:first-child) { font-size:12px; }
.delivery-table b { color:#e5dfd7; font-weight:500; }
.delivery-table strong { color:#e0bb86; font-family:"DM Serif Display",serif; font-size:21px; font-weight:400; letter-spacing:.02em; }
.delivery-table strong small { color:#d8d1c7; font-family:"Noto Sans JP",sans-serif; font-size:9px; font-weight:400; letter-spacing:.04em; }
.proof small { margin-top:18px; color:#a7a19a; font-size:8px; line-height:1.7; }
.proof-cta { margin-top:45px; text-align:center; }
.proof-cta p { margin:0 0 18px; color:#e6e0d8; font-size:15px; letter-spacing:.04em; }
.proof-button { color:#fff; border-color:rgba(255,255,255,.65); background:rgba(255,255,255,.06); }
.proof-button:hover { background:rgba(255,255,255,.12); }
.engine { max-width:1320px; margin:auto; }
.section-heading h2 { font-size:clamp(34px,4.3vw,60px); }
.engine-heading { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:end; }
.engine-heading h2 { margin:0; font-size:clamp(34px,4.3vw,60px); font-weight:500; letter-spacing:-.055em; line-height:1.25; }
.engine-heading h2 em { font-family:"DM Serif Display",serif; font-weight:400; letter-spacing:-.025em; }
.engine-heading>p:last-child { max-width:450px; margin:0; color:var(--muted); font-size:13px; }
.engine-cards { display:grid; grid-template-columns:repeat(3,1fr); margin-top:67px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.engine-cards article { min-height:285px; padding:28px; }
.engine-cards article+article { border-left:1px solid var(--line); }
.engine-cards span { color:var(--accent); font-size:10px; }
.engine-cards h3 { margin:32px 0 13px; font-family:"DM Serif Display",serif; font-size:52px; font-weight:400; letter-spacing:-.04em; }
.engine-cards p { margin:0; font-size:17px; line-height:1.7; letter-spacing:-.03em; }
.engine-cards p b { color:var(--accent); font-weight:500; }
.engine-cards small { display:block; margin-top:27px; color:var(--muted); font-size:8px; line-height:1.7; letter-spacing:.04em; }
.engine-cards .deo { background:#30473c; color:#faf8f3; }
.engine-cards .deo span,.engine-cards .deo p b { color:#d9a973; }
.engine-cards .deo small { color:#bdc6bd; }
.engine-closing { margin:52px 0 0; text-align:center; }
.engine-formula { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:12px; margin:0; }
.engine-formula span { color:var(--muted); font-family:"DM Serif Display",serif; font-size:clamp(20px,2vw,28px); letter-spacing:.03em; }
.engine-formula strong { color:var(--accent); font-family:"DM Serif Display",serif; font-size:clamp(48px,5.2vw,78px); font-weight:400; letter-spacing:-.04em; line-height:.9; }
.engine-formula small { flex-basis:100%; margin-top:7px; color:var(--muted); font-size:9px; letter-spacing:.07em; }
.engine-closing p { max-width:660px; margin:24px auto 0; color:var(--muted); font-size:12px; line-height:1.9; }
.engine-closing .engine-statement { margin-top:31px; color:var(--ink); font-size:clamp(22px,2.55vw,35px); font-weight:500; letter-spacing:-.045em; line-height:1.48; }
.product-power { padding:clamp(88px,11vw,150px) clamp(22px,5vw,72px) clamp(60px,6vw,88px); overflow:hidden; background:#fff; }
.product-power + .intro.section-space { padding-top:clamp(70px,8vw,112px); }
.product-power-heading { max-width:1320px; margin:0 auto clamp(50px,6vw,88px); text-align:center; }
.product-power-heading h2 { margin:0; font-size:clamp(42px,5vw,72px); font-weight:500; letter-spacing:-.065em; line-height:1.2; }
.product-power-heading h2 em { font-family:"DM Serif Display",serif; font-weight:400; letter-spacing:-.025em; }
.product-power-stage { position:relative; display:flex; align-items:center; max-width:1320px; min-height:clamp(370px,30vw,490px); margin:auto; overflow:hidden; background:#f7f3ed; isolation:isolate; }
.product-power-stage::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(252,251,249,.98) 0%,rgba(252,251,249,.92) 31%,rgba(252,251,249,.46) 53%,rgba(252,251,249,.04) 72%); pointer-events:none; }
.product-power-copy { position:relative; z-index:1; width:min(100%,570px); padding:clamp(38px,5vw,82px); }
.product-power-copy .eyebrow { color:var(--accent); }
.product-power-statement { margin:0; letter-spacing:-.045em; }
.product-power-statement small { display:block; margin-bottom:12px; color:var(--muted); font-size:16px; font-weight:400; letter-spacing:.04em; }
.product-power-statement strong { display:block; font-size:clamp(20px,2vw,30px); font-weight:500; line-height:1.7; }
.product-power-statement span { color:var(--accent); }
.product-power-detail { margin:23px 0 0; color:var(--muted); font-size:12px; line-height:2; }
.product-power-detail strong { color:var(--ink); font-size:clamp(15px,1.35vw,18px); font-weight:500; letter-spacing:-.015em; }
.product-power-note { display:block; margin-top:20px; color:var(--muted); font-size:9px; }
.product-power-image { position:absolute; z-index:-2; inset:0; }
.product-power-image img { width:100%; height:100%; filter:saturate(.92) contrast(.98); object-fit:cover; object-position:center; }
.product-manifesto { max-width:820px; margin:clamp(72px,9vw,128px) auto 0; text-align:center; }
.product-manifesto .eyebrow { margin-bottom:20px; }
.product-manifesto h3 { margin:0; font-size:clamp(35px,4.25vw,61px); font-weight:500; letter-spacing:-.06em; line-height:1.28; }
.product-manifesto h3 span,.product-manifesto h3 em { display:block; }
.product-manifesto h3 em { margin-top:15px; font-family:"DM Serif Display",serif; font-size:.72em; font-weight:400; letter-spacing:-.025em; line-height:1.4; }
.reward-image { position:relative; width:min(100%,1320px); height:clamp(370px,30vw,490px); margin:clamp(52px,7vw,94px) auto 0; overflow:hidden; background:#f7f3ed; isolation:isolate; }
.reward-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:62% 56%; }
.reward-image::after { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(90deg,rgba(252,251,249,.97) 0%,rgba(252,251,249,.8) 31%,rgba(252,251,249,.26) 57%,rgba(252,251,249,0) 76%); pointer-events:none; }
.reward-image figcaption { position:absolute; z-index:1; top:50%; left:clamp(28px,7vw,96px); transform:translateY(-50%); color:var(--ink); letter-spacing:-.055em; }
.reward-image figcaption span,.reward-image figcaption strong { display:block; }
.reward-image figcaption span { margin-bottom:9px; color:var(--accent); font-size:clamp(15px,1.7vw,24px); font-weight:500; letter-spacing:.035em; }
.reward-image figcaption strong { font-family:"DM Serif Display",serif; font-size:clamp(40px,4.8vw,68px); font-weight:400; letter-spacing:-.035em; line-height:1; }
.freedom { padding:clamp(88px,12vw,165px) clamp(22px,5vw,72px); background:var(--cream); }
.freedom-heading { max-width:1320px; margin:auto; }
.freedom-heading h2 { font-size:clamp(34px,4.3vw,60px); }
.freedom-heading>p:last-child { max-width:560px; margin-top:28px; color:var(--muted); font-size:13px; }
.style-options { display:flex; flex-wrap:wrap; gap:9px; max-width:1320px; margin:43px auto 0; }
.style-options span { padding:10px 14px; border:1px solid var(--line); color:#4e4a45; background:rgba(255,255,255,.58); font-size:11px; letter-spacing:.03em; }
.style-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; max-width:1320px; margin:40px auto 0; }
.style-cards article { position:relative; }
.style-cards img { aspect-ratio:4/4.75; filter:saturate(.84); object-fit:cover; }
.style-cards article:nth-child(5) img { object-position:78% center; }
.style-cards span { display:block; margin-top:15px; color:var(--accent); font-size:10px; }
.style-cards h3 { margin:2px 0 7px; font-family:"DM Serif Display",serif; font-size:28px; font-weight:400; letter-spacing:.02em; }
.style-cards p { max-width:350px; margin:0; color:var(--muted); font-size:12px; line-height:1.85; }
.style-cards p b { color:var(--accent); font-weight:600; }
.freedom-footnote { max-width:1320px; margin:40px auto 0; color:var(--muted); font-size:9px; }
.paths { max-width:1320px; margin:auto; padding-bottom:clamp(58px,7vw,96px); }
.paths-heading { text-align:center; }
.paths-heading h2 { margin:0; font-size:clamp(34px,4.3vw,60px); font-weight:500; letter-spacing:-.055em; line-height:1.25; }
.paths-heading h2 em { font-family:"DM Serif Display",serif; font-weight:400; letter-spacing:-.025em; }
.paths-heading .paths-intro { max-width:620px; margin:28px auto 0; color:var(--muted); font-size:13px; }
.paths-stat { margin:27px 0 0; color:var(--accent); font-size:clamp(16px,1.65vw,21px); font-weight:600; letter-spacing:-.015em; }
.paths-stat small { display:block; margin-top:6px; color:var(--muted); font-size:8px; font-weight:400; letter-spacing:.04em; }
.paths-heading .eyebrow { margin-bottom:20px; }
.path-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:65px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.path-cards article { display:flex; min-height:390px; flex-direction:column; padding:28px clamp(20px,2.7vw,42px) 32px 0; }
.path-cards article+article { padding-left:clamp(20px,2.7vw,42px); border-left:1px solid var(--line); }
.path-cards>article>span { color:var(--accent); font-family:"DM Serif Display",serif; font-size:18px; }
.path-en { margin:20px 0 0; color:var(--accent); font-size:clamp(17px,1.65vw,22px); font-weight:600; letter-spacing:.025em; line-height:1.5; }
.path-cards h3 { margin:0; font-size:clamp(20px,2vw,27px); font-weight:500; letter-spacing:-.04em; line-height:1.55; }
.path-cards article>p:not(.path-en) { margin:17px 0 28px; color:var(--muted); font-size:12px; line-height:1.9; }
.path-cards a { margin-top:auto; font-size:11px; letter-spacing:.06em; }
.path-cards a b { margin-left:8px; font-size:15px; font-weight:400; }
.paths-bridge { margin:clamp(60px,7vw,96px) 0 0; font-size:clamp(25px,3.2vw,45px); font-weight:500; letter-spacing:-.045em; line-height:1.5; text-align:center; }
.paths-visual { width:100%; margin:0; overflow:hidden; background:#fbf8f2; }
.paths-visual img { width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; }
.paths-proof { display:flex; align-items:baseline; gap:17px; margin:31px 0 0; color:var(--accent); font-family:"DM Serif Display",serif; font-size:15px; letter-spacing:.12em; }
.paths-proof strong { font-size:58px; font-weight:400; line-height:1; letter-spacing:-.04em; }
.paths-proof span { color:var(--muted); font-family:"Noto Sans JP",sans-serif; font-size:10px; letter-spacing:.03em; }
.advantages { max-width:1320px; margin:auto; }
.advantage-list { display:grid; grid-template-columns:1fr 1fr; margin-top:65px; border-top:1px solid var(--line); }
.advantage-list article { display:flex; gap:25px; padding:28px 18px 31px 0; border-bottom:1px solid var(--line); }
.advantage-list article:nth-child(odd) { margin-right:40px; }
.advantage-list span { color:var(--accent); font-family:"DM Serif Display",serif; font-size:18px; }
.advantage-list h3 { margin:0 0 4px; font-size:18px; font-weight:600; }
.advantage-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.steps { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; padding:clamp(70px,10vw,130px) clamp(22px,5vw,72px); background:#f1efeb; }
.steps>div,.steps ol { max-width:580px; }
.steps h2 { font-size:clamp(32px,4vw,52px); }
.steps>div>p:last-child { margin-top:25px; color:#635c52; font-size:13px; }
.steps ol { align-self:center; margin:0; padding:0; border-top:1px solid rgba(39,35,31,.3); list-style:none; }
.steps li { display:flex; gap:26px; padding:18px 0; border-bottom:1px solid rgba(39,35,31,.3); font-size:14px; }
.steps li span { color:var(--accent); font-family:"DM Serif Display",serif; }
.contact-heading { padding:clamp(88px,11vw,145px) 22px; background:#fff; text-align:center; }
.contact-heading h2 { font-size:clamp(39px,5vw,66px); }
.contact-heading .contact-lead { margin:28px auto 0; color:var(--muted); font-size:13px; }
.contact { padding:clamp(75px,9vw,115px) 22px; color:#fff; background:linear-gradient(135deg,#3d594b 0%,#30473c 58%,#283c33 100%); text-align:center; }
.contact-steps { display:grid; grid-template-columns:repeat(4,1fr); width:min(100%,1050px); margin:0 auto; padding:0; border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); list-style:none; }
.contact-steps li { display:flex; min-height:112px; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:20px 12px; font-size:12px; }
.contact-steps li+li { border-left:1px solid rgba(255,255,255,.2); }
.contact-steps span { color:#d9a973; font-family:"DM Serif Display",serif; font-size:17px; }
.contact .contact-invite { margin:42px 0 27px; color:#c7c1b9; font-size:13px; }
.contact-actions { display:grid; grid-template-columns:repeat(3,1fr); width:min(100%,930px); margin:0 auto; border:1px solid rgba(255,255,255,.28); }
.light { color:var(--dark); border-color:#fff; background:#fff; }
.contact-choice { display:flex; min-height:145px; flex-direction:column; align-items:center; justify-content:center; gap:15px; padding:24px 16px; color:#f4f0ea; background:rgba(255,255,255,.025); text-align:center; transition:.25s; }
.contact-choice+.contact-choice { border-left:1px solid rgba(255,255,255,.28); }
.contact-choice:hover { background:rgba(255,255,255,.09); }
.contact-choice-primary { color:#30473c; background:#fff; }
.contact-choice-primary:hover { background:#f5f1ea; }
.contact-choice svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.contact-choice span { font-size:13px; font-weight:500; letter-spacing:.06em; }
.contact-choice small { display:block; margin-top:6px; color:#bfc8c0; font-size:9px; font-weight:400; letter-spacing:.04em; }
.contact-choice-primary small { color:#68776f; font-family:"DM Serif Display",serif; font-size:15px; letter-spacing:.06em; }
footer { display:flex; align-items:end; justify-content:space-between; padding:34px clamp(22px,5vw,72px); color:#f3eee7; background:#1c1b19; }
footer p { margin:0; color:#aaa39a; font-size:9px; letter-spacing:.1em; }
.footer-meta { text-align:right; }
.footer-meta>a,.footer-with-links>a { display:inline-block; margin-bottom:8px; color:#aaa39a; font-size:9px; letter-spacing:.06em; text-decoration:underline; text-underline-offset:4px; }

/* Request form */
.request-body { min-height:100vh; background:#fbfaf8; }
.request-header { display:flex; height:86px; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,72px); border-bottom:1px solid var(--line); background:#fff; }
.request-header>a:last-child { font-size:10px; letter-spacing:.1em; }
.request-main { width:min(calc(100% - 44px),720px); margin:auto; padding:clamp(75px,9vw,120px) 0; }
.request-heading { text-align:center; }
.request-heading h1 { margin:0; font-size:clamp(38px,5vw,60px); font-weight:500; letter-spacing:-.055em; line-height:1.3; }
.request-heading>p:last-child { margin:24px 0 0; color:var(--muted); font-size:12px; line-height:2; }
.request-form { margin-top:55px; padding:clamp(30px,5vw,58px); border:1px solid var(--line); background:#fff; }
.request-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.request-form>label:not(.request-consent) { display:block; margin-bottom:28px; }
.request-form label>span { display:block; margin-bottom:9px; font-size:12px; font-weight:500; }
.request-form label>span b { margin-left:8px; color:var(--accent); font-size:8px; letter-spacing:.08em; }
.request-form label>span small { margin-left:8px; color:var(--muted); font-size:8px; font-weight:400; }
.request-form input:not([type="checkbox"]),.request-form select { width:100%; height:52px; padding:0 15px; border:1px solid var(--line); border-radius:0; outline:none; color:var(--ink); background:#fff; font:inherit; font-size:13px; transition:.2s; }
.request-form input:focus,.request-form select:focus { border-color:#526c5e; box-shadow:0 0 0 2px rgba(48,71,60,.08); }
.request-form input::placeholder { color:#aaa6a0; }
.request-consent { display:flex; align-items:center; gap:10px; margin:5px 0 28px; cursor:pointer; }
.request-consent input { width:17px; height:17px; accent-color:#30473c; }
.request-consent span { margin:0!important; color:var(--muted); font-size:10px!important; font-weight:400!important; }
.request-consent span a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.request-form button { display:flex; width:100%; min-height:57px; align-items:center; justify-content:center; gap:24px; border:0; color:#fff; background:#30473c; font:inherit; font-size:12px; letter-spacing:.1em; cursor:pointer; transition:.25s; }
.request-form button:hover { background:#3d594b; transform:translateY(-2px); }
.request-form button span { font-size:17px; }
.request-note { margin:15px 0 0; color:var(--muted); font-size:9px; text-align:center; }
.request-footer { justify-content:center; }
.request-complete { padding:clamp(46px,7vw,78px); border:1px solid var(--line); background:#fff; text-align:center; }
.request-complete-mark { display:grid; width:58px; height:58px; margin:0 auto 28px; place-items:center; border-radius:50%; color:#fff; background:#30473c; font-size:22px; }
.request-complete h1 { margin:0; font-size:clamp(34px,5vw,54px); font-weight:500; letter-spacing:-.055em; line-height:1.35; }
.request-complete p { margin:23px 0 0; color:var(--muted); font-size:12px; line-height:2; }
.request-complete .button { margin-top:34px; color:#fff; border-color:#30473c; background:#30473c; }
.footer-with-links { flex-direction:column; align-items:center; }

/* Privacy policy */ 
.privacy-main { width:min(calc(100% - 44px),900px); margin:auto; padding:clamp(75px,9vw,120px) 0; }
.privacy-heading { max-width:720px; margin:auto; text-align:center; }
.privacy-heading h1 { margin:0; font-size:clamp(35px,4.5vw,56px); font-weight:500; letter-spacing:-.05em; line-height:1.3; }
.privacy-heading>p:last-child { margin:25px 0 0; color:var(--muted); font-size:12px; line-height:2; }
.privacy-content { margin-top:clamp(55px,7vw,85px); border-top:1px solid var(--line); }
.privacy-content section { display:grid; grid-template-columns:45px 210px 1fr; gap:20px; padding:34px 0; border-bottom:1px solid var(--line); }
.privacy-content section>span { color:var(--accent); font-family:"DM Serif Display",serif; font-size:15px; }
.privacy-content h2 { margin:0; font-size:15px; font-weight:600; letter-spacing:.02em; }
.privacy-content p,.privacy-content ul,.privacy-content address { margin:0; color:var(--muted); font-size:11px; font-style:normal; line-height:2; }
.privacy-content ul { padding-left:1.3em; }
.privacy-content address a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.privacy-date { margin-top:28px!important; text-align:right; }

@media(max-width:760px) {
  .site-header { height:69px; }
  .header-cta { padding:7px 10px; font-size:9px; }
  .brand { font-size:18px; }
  .hero { min-height:650px; padding:58px 22px 70px; }
  .hero::after { background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 37%,rgba(255,255,255,.58) 58%,rgba(255,255,255,.05) 77%); }
  .hero-copy { width:100%; }
  .hero h1 { font-size:44px; }
  .hero-image img { object-position:56% center; transform:scale(1.1) translateY(5%); transform-origin:center; }
  .hero-caption { right:22px; bottom:21px; padding-left:14px; }
  .hero-caption p { font-size:10px; }
  .hero-caption strong { font-size:11px; letter-spacing:.08em; }
  .hero-caption small { font-size:8px; }
  .hero-actions { flex-wrap:wrap; gap:14px; }
  .button { padding:13px 15px; font-size:11px; }
  .section-space { padding-top:90px; padding-bottom:90px; }
  .intro { text-align:left; }
  .intro h2 { font-size:32px; }
  .trade-area-visual { width:calc(100% + 44px); margin:38px -22px 0; }
  .trade-area-visual + .market-result { margin-top:43px; }
  .market-steps { margin-top:39px; }
  .market-steps p { min-height:112px; }
  .market-steps b { font-size:14px; }
  .market-steps strong { font-size:12px; }
  .market-steps small { font-size:6px; letter-spacing:.06em; }
  .market-message { margin-top:24px; font-size:12px; }
  .market-result { margin-top:31px; font-size:25px; }
  .intro-explain { font-size:12px; }
  .intro-closing { margin-top:48px; font-size:23px; }
  .intro-closing span { font-size:11px; }
  .market-footnote { font-size:7px; }
  .desktop-only { display:none; }
  .proof-content { padding-top:84px; padding-bottom:84px; text-align:center; }
  .award-cards { display:block; margin-top:43px; }
  .award-cards article { min-height:0; padding:26px 0; }
  .award-cards article+article { border-top:1px solid rgba(255,255,255,.2); border-left:0; }
  .crown { margin-bottom:16px; }
  .award-cards strong { font-size:52px; }
  .award-cards .produced { display:flex; }
  .award-cards .produced strong { font-size:68px; }
  .award-cards .produced p { margin-top:13px; text-align:center; }
  .delivery-table { margin-top:35px; }
  .delivery-table p { grid-template-columns:1fr auto; gap:14px; padding:13px 0; }
  .delivery-table p:not(:first-child) { font-size:11px; }
  .engine-heading { grid-template-columns:1fr; gap:25px; }
  .engine-heading>p:last-child { font-size:12px; }
  .engine-cards { display:block; margin-top:43px; }
  .engine-cards article { min-height:0; padding:25px 0; }
  .engine-cards article+article { border-top:1px solid var(--line); border-left:0; }
  .engine-cards h3 { margin:19px 0 8px; font-size:43px; }
  .engine-cards small { margin-top:13px; }
  .engine-cards .deo { margin:0 -22px; padding:27px 22px; }
  .engine-closing { margin-top:39px; text-align:left; }
  .engine-formula { justify-content:flex-start; gap:9px; }
  .engine-formula span { font-size:19px; }
  .engine-formula strong { font-size:58px; }
  .engine-formula small { margin-top:5px; font-size:8px; }
  .engine-closing p { margin:18px 0 0; font-size:11px; }
  .engine-closing .engine-statement { margin-top:24px; font-size:25px; }
  .product-power { padding:78px 0 0; }
  .product-power + .intro.section-space { padding-top:72px; }
  .product-power-heading { padding:0 22px; margin-bottom:48px; }
  .product-power-stage { min-height:520px; }
  .product-power-stage::after { background:linear-gradient(180deg,rgba(252,251,249,.98) 0%,rgba(252,251,249,.9) 39%,rgba(252,251,249,.4) 67%,rgba(252,251,249,.06) 100%); }
  .product-power-copy { align-self:flex-start; width:100%; padding:55px 22px 63px; }
  .product-power-image { min-height:0; }
  .product-power-image img { object-position:64% center; }
  .product-manifesto { margin:74px 22px 0; }
  .reward-image { width:100%; height:520px; margin-top:52px; }
  .reward-image img { object-position:72% center; }
  .reward-image::after { background:linear-gradient(90deg,rgba(252,251,249,.96) 0%,rgba(252,251,249,.72) 48%,rgba(252,251,249,.04) 85%); }
  .reward-image figcaption { left:22px; }
  .reward-image figcaption span { font-size:14px; }
  .reward-image figcaption strong { font-size:clamp(34px,10vw,48px); }
  .freedom { padding-top:90px; padding-bottom:90px; }
  .style-options { gap:7px; margin-top:32px; }
  .style-options span { padding:8px 10px; font-size:10px; }
  .style-cards { display:block; margin-top:40px; }
  .style-cards article { display:grid; grid-template-columns:125px 1fr; column-gap:17px; margin-bottom:28px; }
  .style-cards img { grid-row:span 3; aspect-ratio:1/1.2; }
  .style-cards span { margin:0; }
  .style-cards h3 { font-size:25px; }
  .style-cards p { font-size:11px; }
  .paths-heading .paths-intro { font-size:12px; }
  .path-cards { display:block; margin-top:42px; }
  .path-cards article { min-height:0; padding:26px 0 30px; }
  .path-cards article+article { border-top:1px solid var(--line); border-left:0; padding-left:0; }
  .paths-visual img { height:390px; aspect-ratio:auto; object-position:69% center; }
  .path-cards article>p:not(.path-en) { margin:15px 0 17px; }
  .path-cards a { margin-top:0; }
  .paths-proof { display:block; margin-top:27px; }
  .paths-proof strong { display:inline-block; margin-right:10px; font-size:47px; }
  .paths-proof span { display:block; margin-top:9px; font-size:9px; }
  .advantage-list { grid-template-columns:1fr; margin-top:42px; }
  .advantage-list article:nth-child(odd) { margin-right:0; }
  .steps { grid-template-columns:1fr; gap:47px; padding-top:87px; padding-bottom:87px; }
  .contact-actions { grid-template-columns:1fr; }
  .contact-choice { min-height:115px; }
  .contact-choice+.contact-choice { border-top:1px solid rgba(255,255,255,.28); border-left:0; }
  .contact-heading .contact-lead br { display:none; }
  .contact-steps { grid-template-columns:1fr 1fr; }
  .contact-steps li { min-height:98px; }
  .contact-steps li:nth-child(3) { border-top:1px solid rgba(255,255,255,.2); border-left:0; }
  .contact-steps li:nth-child(4) { border-top:1px solid rgba(255,255,255,.2); }
  footer { align-items:flex-start; gap:22px; }
  .footer-meta { text-align:right; }
  .privacy-content section { grid-template-columns:35px 1fr; gap:10px 12px; padding:28px 0; }
  .privacy-content section>span { grid-row:1/3; }
  .privacy-content section>p,.privacy-content section>ul,.privacy-content section>address { grid-column:2; }
  footer { flex-direction:column; align-items:flex-start; gap:25px; }
}
