/*
 * Latest preview visual system, adapted for WordPress.
 * Noto Sans JP is self-hosted through fonts.css; Tailwind's reset is omitted
 * so WordPress editor and plugin markup keeps its expected baseline.
 */
:root { --navy:#071b26; --deep:#04131c; --amber:#f7a719; --cream:#f4efe3; --ink:#102630; --font-gothic:"Noto Sans JP Variable","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif; --font-latin:"Bahnschrift","Arial Narrow",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-gothic); font-size:18px; font-weight:500; font-synthesis:none; font-feature-settings:"palt" 1; letter-spacing:.015em; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; top:0; left:0; width:100%; height:92px; display:flex; align-items:center; padding:0 4.2vw; color:#fff; border-bottom:1px solid rgba(255,255,255,.18); }
.header-brands { display:flex; align-items:center; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.03em; white-space:nowrap; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border:2px solid currentColor; border-radius:50%; font-family:var(--font-gothic); font-size:19px; font-style:italic; }
.grows-header-logo { display:flex; align-items:center; padding-left:20px; border-left:1px solid rgba(255,255,255,.28); }
.grows-header-logo img { display:block; width:94px; height:auto; }
nav { display:flex; gap:26px; margin-left:auto; margin-right:30px; font-size:15px; font-weight:700; }
nav a { opacity:.78; transition:.2s; }
nav a:hover { opacity:1; }
.header-cta { padding:14px 21px; background:var(--amber); color:#14242b; font-size:14px; font-weight:700; }
.header-cta span { margin-left:14px; }
.hero { min-height:760px; height:100vh; position:relative; display:flex; align-items:center; overflow:hidden; background:var(--deep); color:#fff; }
.hero-photo { position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(4,19,28,.5),rgba(4,19,28,0) 58%),url('../images/hero-beer-server.webp'); background-size:cover; background-position:center; }
.hero-copy { position:relative; z-index:2; margin-left:8.5vw; margin-top:55px; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 24px; font-family:var(--font-latin); font-weight:700; font-size:11px; letter-spacing:.2em; }
.eyebrow span { width:28px; height:1px; background:var(--amber); }
.hero h1 { margin:0; font-family:var(--font-gothic); font-size:clamp(56px,5.8vw,84px); line-height:1.1; font-weight:800; letter-spacing:-.035em; text-shadow:0 4px 30px rgba(0,0,0,.32); }
em { color:var(--amber); font-style:normal; }
.hero-lead { margin:32px 0 34px; line-height:1.85; font-size:21px; font-weight:600; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.primary-button { display:flex; align-items:center; justify-content:space-between; min-width:440px; padding:26px 31px; background:var(--amber); color:#102630; font-family:var(--font-gothic); font-weight:700; font-size:22px; line-height:1.4; box-shadow:0 10px 32px rgba(0,0,0,.18); transition:.2s; }
.primary-button:hover,.contact-button:hover { transform:translateY(-2px); filter:brightness(1.04); }
.text-link { border-bottom:1px solid rgba(255,255,255,.55); padding:10px 1px; font-size:13px; font-weight:700; }
.text-link span { margin-left:12px; color:var(--amber); }
.hero-badge { position:absolute; right:4.4vw; bottom:5.5vw; z-index:2; width:158px; height:158px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:rgba(8,29,39,.9); border:1px solid rgba(255,255,255,.35); border-radius:50%; transform:rotate(4deg); }
.hero-badge:before { content:""; position:absolute; inset:7px; border:1px dashed rgba(247,167,25,.75); border-radius:50%; }
.hero-badge strong { position:relative; font-size:13px; color:var(--amber); margin-bottom:8px; }
.hero-badge span { position:relative; font-family:var(--font-gothic); font-size:12px; line-height:1.7; }
.scroll-label { position:absolute; z-index:2; left:2.5vw; bottom:0; margin:0; writing-mode:vertical-rl; font-family:var(--font-latin); font-size:9px; letter-spacing:.2em; }
.scroll-label span { display:inline-block; width:1px; height:70px; background:rgba(255,255,255,.55); margin-top:12px; }
.section-pad { padding:110px 8.5vw; }
.section-label { font-family:var(--font-latin); font-size:12px; font-weight:700; letter-spacing:.25em; padding-bottom:18px; border-bottom:1px solid rgba(16,38,48,.25); margin-bottom:50px; }
.section-label.light { color:#a9b3b7; border-color:rgba(255,255,255,.2); }
.intro { background:var(--cream); }
.intro-heading { display:flex; gap:8vw; align-items:flex-start; }
.intro-heading > p { margin:10px 0 0; font-size:20px; font-weight:600; color:#3f555e; line-height:1.85; }
.intro h2,.flow h2 { margin:0; font-family:var(--font-gothic); font-size:clamp(58px,6vw,90px); line-height:1.13; font-weight:800; letter-spacing:-.035em; }
.headline-kicker { display:block; width:max-content; margin-bottom:16px; padding:9px 13px; background:var(--navy); color:#fff; font-family:var(--font-latin); font-size:12px; font-weight:700; letter-spacing:.18em; line-height:1; transform:rotate(-1deg); }
.intro-heading h2 strong { display:inline-block; font-size:1.13em; color:var(--navy); }
.intro-heading h2 em { display:inline-block; position:relative; padding:0 .08em .04em; color:var(--navy); text-shadow:3px 3px 0 var(--amber); }
.intro-heading h2 em:after { content:""; position:absolute; z-index:-1; left:-.05em; right:-.05em; bottom:.06em; height:.22em; background:var(--amber); transform:skewX(-13deg) rotate(-1deg); }
.intro-text { max-width:790px; margin:42px 0 74px auto; font-size:21px; line-height:2; font-weight:600; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.service-item { background:#fff; }
.service-visual { position:relative; height:230px; display:grid; place-items:center; overflow:hidden; background:#102630; }
.service-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,16,24,.25),transparent 45%,rgba(3,16,24,.1)); }
.service-visual img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.service-item:hover .service-visual img { transform:scale(1.035); }
.visual-01 { background:#0a2834; color:var(--amber); }
.visual-02 { background:var(--amber); color:#0b2934; }
.visual-03 { background:#dcd5c6; color:#0b2934; }
.service-number { position:absolute; z-index:2; top:19px; left:22px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--amber); color:var(--navy); font-family:var(--font-latin); font-size:11px; font-weight:700; letter-spacing:.08em; }
.service-item h3 { font-size:25px; margin:27px 25px 14px; font-weight:700; }
.service-item > p { color:#43555d; font-size:17px; line-height:1.9; margin:0 25px 30px; font-weight:500; }
.cases { background:#0a202b; color:#fff; }
.cases-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; margin-bottom:58px; }
.cases-heading h2 { margin:0; max-width:760px; font-size:clamp(39px,4.5vw,66px); line-height:1.18; font-weight:800; letter-spacing:-.03em; }
.cases-heading h2 span { color:#fff; }
.cases-heading h2 em { display:inline-block; margin:.1em 0; padding:.05em .12em .09em; background:var(--amber); color:var(--navy); transform:skewX(-5deg); }
.cases-heading > p { margin:0 0 7px; color:#d6dde0; font-size:16px; line-height:2; font-weight:500; }
.case-proof-visual { position:relative; margin:0 0 52px; overflow:hidden; border:1px solid rgba(255,255,255,.18); background:var(--deep); }
.case-proof-visual img { display:block; width:100%; height:clamp(320px,42vw,600px); object-fit:cover; }
.case-proof-visual figcaption { position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:20px; padding:17px 20px; background:rgba(7,27,38,.88); color:#fff; font-family:var(--font-latin); font-size:11px; font-weight:700; letter-spacing:.14em; }
.case-proof-visual figcaption span { color:#d9e0e2; font-family:var(--font-gothic); font-weight:700; letter-spacing:.02em; }
.case-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.case-card { position:relative; overflow:hidden; display:flex; flex-direction:column; min-width:0; background:#102a36; border:1px solid rgba(255,255,255,.14); transition:transform .25s,border-color .25s; }
.case-card:hover { transform:translateY(-5px); border-color:var(--amber); }
.case-card.featured { grid-column:1/-1; display:grid; grid-template-columns:1.65fr .75fr; min-height:430px; }
.case-image { overflow:hidden; aspect-ratio:16/9; background:#06141c; }
.case-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s; }
.case-card:hover .case-image img { transform:scale(1.035); }
.case-card.featured .case-image { aspect-ratio:auto; min-height:430px; }
.case-content { display:flex; flex:1; flex-direction:column; padding:20px; }
.case-card.featured .case-content { padding:38px 34px; }
.case-meta { display:flex; justify-content:space-between; gap:12px; color:#9eafb6; font-size:9px; font-weight:800; line-height:1.5; letter-spacing:.12em; }
.case-card.featured .case-meta span:first-child { color:var(--amber); }
.case-card h3 { margin:20px 0 28px; font-size:17px; line-height:1.65; font-weight:700; }
.case-card.featured h3 { margin:auto 0 32px; font-size:clamp(27px,3vw,44px); line-height:1.45; }
.case-link { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:15px; border-top:1px solid rgba(255,255,255,.2); font-size:11px; font-weight:700; }
.case-card:hover .case-link { border-color:rgba(247,167,25,.65); }
.case-link b { font-size:18px; }
.all-cases-link { width:max-content; display:flex; align-items:center; gap:65px; margin:38px 0 0 auto; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.45); font-size:13px; font-weight:700; }
.all-cases-link span { color:var(--amber); }
.front-blog { margin-top:88px; padding:48px 0 0; border-top:1px solid rgba(255,255,255,.2); }
.front-blog-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:32px; }
.front-blog-heading p { margin:0 0 14px; color:var(--amber); font-family:var(--font-latin); font-size:11px; font-weight:700; letter-spacing:.2em; }
.front-blog-heading h3 { margin:0; font-size:clamp(32px,3.3vw,48px); line-height:1.25; font-weight:800; letter-spacing:-.025em; }
.front-blog-heading > a,.front-blog-all-mobile { display:flex; align-items:center; justify-content:space-between; gap:64px; min-width:220px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.45); font-size:13px; font-weight:700; }
.front-blog-heading > a span,.front-blog-all-mobile span { color:var(--amber); }
.front-blog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.front-blog-card { min-width:0; overflow:hidden; background:#102a36; border:1px solid rgba(255,255,255,.14); transition:transform .25s,border-color .25s; }
.front-blog-card:hover { transform:translateY(-5px); border-color:var(--amber); }
.front-blog-image { display:block; overflow:hidden; aspect-ratio:12/7; background:#06141c; }
.front-blog-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.front-blog-card:hover .front-blog-image img { transform:scale(1.04); }
.front-blog-content { display:flex; min-height:210px; flex-direction:column; padding:20px; }
.front-blog-content > div { display:flex; justify-content:space-between; gap:10px; color:#98aab1; font-size:10px; font-weight:700; letter-spacing:.08em; }
.front-blog-content > div span { color:var(--amber); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.front-blog-content h4 { margin:18px 0 22px; font-size:17px; line-height:1.7; font-weight:700; }
.front-blog-more { display:flex; justify-content:space-between; margin-top:auto; padding-top:14px; border-top:1px solid rgba(255,255,255,.18); color:#dce3e5; font-family:var(--font-latin); font-size:10px; font-weight:700; letter-spacing:.15em; }
.front-blog-more span { color:var(--amber); font-size:16px; line-height:1; }
.front-blog-all-mobile { display:none; }
.price-panel { display:grid; grid-template-columns:1fr; gap:42px; margin-top:70px; padding:58px; border:1px solid rgba(255,255,255,.24); background:linear-gradient(135deg,#102d3a 0,#081922 70%); }
.price-intro { max-width:820px; }
.price-intro h3 { margin:0 0 24px; font-size:clamp(38px,4vw,58px); line-height:1.2; font-weight:800; letter-spacing:-.025em; }
.price-intro h3 em { display:inline-block; padding:0 .12em; background:var(--amber); color:var(--navy); transform:skewX(-6deg); }
.price-intro > p:last-child { margin:0; color:#d6dde0; font-size:17px; line-height:2; font-weight:600; }
.price-formula { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:16px; align-items:center; }
.price-formula > .price-card { min-height:285px; display:flex; flex-direction:column; justify-content:flex-start; padding:23px 26px 25px; border:1px solid rgba(255,255,255,.2); background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); transition:transform .25s,border-color .25s,background .25s; }
.price-formula > .price-card:hover { transform:translateY(-4px); border-color:rgba(247,167,25,.72); background:linear-gradient(145deg,rgba(247,167,25,.12),rgba(255,255,255,.03)); }
.price-card-top { display:flex; align-items:flex-start; justify-content:space-between; min-height:82px; }
.price-card-top > span { color:var(--amber); font-family:var(--font-latin); font-size:13px; font-weight:700; letter-spacing:.14em; }
.price-card-illustration { width:92px; height:72px; color:var(--amber); filter:drop-shadow(0 7px 14px rgba(0,0,0,.2)); }
.price-card-illustration .soft-fill { fill:rgba(247,167,25,.12); }
.price-card-illustration .white-fill { fill:rgba(255,255,255,.94); stroke:none; }
.price-card-illustration .accent-fill { fill:var(--amber); stroke:none; }
.price-formula > div > span { color:var(--amber); font-family:var(--font-latin); font-size:13px; font-weight:700; letter-spacing:.12em; }
.price-formula > div > strong { margin:6px 0 9px; font-size:22px; font-weight:700; }
.price-formula > div > small { color:#c2cdd1; font-size:14px; line-height:1.7; font-weight:500; }
.price-amount { margin-top:auto; padding-top:17px; color:#fff; font-size:20px; font-weight:700; }
.price-formula .price-note { margin-top:7px; color:#f7c76f; font-size:12px; }
.price-formula > b,.price-formula > i { color:var(--amber); font-size:28px; font-style:normal; }
.price-result { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; margin-top:8px; padding:23px 26px; background:var(--amber); color:var(--navy); }
.price-result span { color:var(--navy)!important; }
.price-result strong { margin:0!important; font-size:28px!important; }
.price-result a { padding:13px 18px; background:var(--navy); color:#fff; font-size:15px; font-weight:700; }
.management-fee { grid-column:1/-1; margin:0; color:#d9e0e2; font-size:13px; font-weight:500; text-align:right; }
.price-options { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:8px; }
.price-option { min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(247,167,25,.65); background:rgba(247,167,25,.08); transition:transform .25s,border-color .25s; }
.price-option:hover { transform:translateY(-4px); border-color:var(--amber); }
.price-option-image { overflow:hidden; aspect-ratio:16/9; background:#071b26; }
.price-option-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.price-option:hover .price-option-image img { transform:scale(1.035); }
.price-option-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:24px; }
.price-option-body > span { color:var(--amber); font-family:var(--font-latin); font-size:13px; font-weight:700; letter-spacing:.1em; }
.price-option-body > strong { margin:12px 0 9px; font-size:21px; line-height:1.45; font-weight:700; }
.price-option-body > strong em { margin-left:8px; font-size:1.05em; }
.price-option-body > small { color:#d2dadd; font-size:14px; line-height:1.75; font-weight:500; }
.price-option-link { width:100%; margin-top:auto; padding-top:16px; border-top:1px solid rgba(255,255,255,.2); color:#fff; font-size:13px; font-weight:700; }
.scene { display:grid; grid-template-columns:1.08fr .92fr; min-height:760px; background:var(--navy); color:#fff; overflow:hidden; }
.scene-copy { padding-right:6vw; }
.eyebrow.amber { color:var(--amber); margin-top:65px; }
.scene h2 { margin:0; font-family:var(--font-gothic); font-size:clamp(44px,5vw,72px); line-height:1.25; font-weight:800; }
.scene-copy > p:not(.eyebrow) { max-width:590px; color:#d2dadd; font-size:16px; line-height:2; margin:28px 0 32px; font-weight:500; }
.scene ul { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.2); }
.scene li { display:flex; align-items:center; gap:24px; border-bottom:1px solid rgba(255,255,255,.2); padding:17px 4px; font-family:var(--font-gothic); font-size:19px; font-weight:700; }
.scene li span { font-family:var(--font-latin); color:var(--amber); font-size:10px; }
.scene li b { margin-left:auto; color:var(--amber); }
.scene-visual { position:relative; display:grid; place-items:center; background:radial-gradient(circle at 50% 40%,#ffd974 0,#f2a515 34%,#db7f03 73%); }
.scene-visual:after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(100deg,transparent 0 20px,rgba(255,255,255,.025) 21px 23px); }
.scene-visual > p { position:absolute; left:28px; bottom:22px; color:rgba(7,27,38,.44); font-family:var(--font-latin); font-size:43px; font-weight:800; line-height:.9; letter-spacing:-.05em; }
.scene-guide-link { cursor:pointer; }
.scene-guide-link:focus-visible { outline:4px solid #fff; outline-offset:-4px; }
.scene-guide-cta { position:absolute; z-index:4; right:28px; bottom:28px; min-width:235px; padding:18px 20px; background:var(--navy); color:#fff; font-size:18px; line-height:1.55; font-weight:700; box-shadow:0 12px 30px rgba(7,27,38,.28); }
.scene-guide-cta b { float:right; color:var(--amber); font-size:22px; }
.keg { position:relative; z-index:2; width:210px; height:390px; filter:drop-shadow(20px 28px 25px rgba(52,29,0,.3)); transform:rotate(5deg); }
.keg-body { position:absolute; inset:35px 0 0; display:grid; place-items:center; align-content:center; height:330px; border-radius:45px 45px 55px 55px; background:linear-gradient(90deg,#8b969b,#f0f0e7 20%,#8a9699 51%,#e1e2d9 76%,#69767a); border:8px ridge #899295; color:#17313b; font-family:var(--font-latin); font-size:23px; font-weight:800; line-height:.85; text-align:center; }
.keg-body small { font-size:11px; letter-spacing:.17em; }
.keg-top { position:absolute; z-index:2; top:0; left:68px; width:75px; height:52px; border-radius:10px 10px 3px 3px; background:#758387; border:6px ridge #aeb6b5; }
.keg-hose { position:absolute; z-index:3; left:195px; top:65px; width:100px; height:210px; border:13px solid #17292f; border-left:0; border-radius:0 90px 90px 0; }
.flow { background:#f8f5ec; }
.flow-title { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:70px; }
.flow-title h2 span { display:inline-grid; place-items:center; color:#fff; background:var(--amber); width:1.1em; height:1.1em; border-radius:50%; margin:0 .12em; transform:rotate(-8deg); }
.flow-title h2 { font-family:var(--font-gothic); font-weight:800; letter-spacing:-.035em; text-shadow:2px 2px 0 rgba(247,167,25,.22); }
.flow-title > p { max-width:500px; color:#43555d; font-size:20px; line-height:1.9; font-weight:600; }
.steps { list-style:none; margin:0; padding:0; border-top:1px solid #bdc3c2; }
.steps li { display:grid; grid-template-columns:80px 125px 1fr; align-items:center; min-height:175px; border-bottom:1px solid #bdc3c2; }
.step-no { font-family:var(--font-latin); color:var(--amber); font-weight:700; font-size:14px; }
.step-icon { width:78px; height:78px; display:grid; place-items:center; border:1px solid #9ca7aa; border-radius:50%; font-size:30px; }
.steps h3 { margin:0 0 12px; font-family:var(--font-gothic); font-size:28px; font-weight:700; }
.steps p { margin:0; color:#43555d; font-size:18px; line-height:1.85; font-weight:500; }
.faq { background:#efe9dc; }
.faq-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:8vw; align-items:end; margin-bottom:55px; }
.faq-heading .eyebrow { margin-bottom:18px; }
.faq-heading h2 { margin:0; font-size:clamp(38px,4vw,62px); line-height:1.25; font-weight:800; letter-spacing:-.03em; }
.faq-heading > p { margin:0 0 7px; color:#43555d; font-size:16px; line-height:2; font-weight:500; }
.faq-list { border-top:2px solid var(--navy); }
.faq-list details { border-bottom:1px solid rgba(16,38,48,.3); }
.faq-list summary { list-style:none; display:grid; grid-template-columns:64px 1fr 34px; align-items:center; gap:18px; min-height:92px; padding:18px 6px; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary > span { color:var(--amber); font-family:var(--font-latin); font-size:12px; font-weight:700; letter-spacing:.12em; }
.faq-list summary strong { font-size:20px; line-height:1.6; font-weight:700; }
.faq-list summary i { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(16,38,48,.5); border-radius:50%; font-size:20px; font-style:normal; line-height:1; transition:.25s; }
.faq-list details[open] summary i { background:var(--amber); border-color:var(--amber); transform:rotate(45deg); }
.faq-answer { display:grid; grid-template-columns:64px 1fr; gap:18px; padding:0 52px 28px 6px; }
.faq-answer > span { color:#8c989c; font-family:var(--font-latin); font-size:12px; font-weight:700; }
.faq-answer p { max-width:900px; margin:0; color:#43555d; font-size:16px; line-height:2; font-weight:500; }
.contact { position:relative; overflow:hidden; padding:110px 8vw; background:var(--amber); color:var(--navy); text-align:left; }
.contact:before { content:"KANPAI?"; position:absolute; right:-2vw; bottom:-3vw; color:rgba(7,27,38,.075); font-family:var(--font-latin); font-size:17vw; line-height:.8; font-weight:800; letter-spacing:-.08em; }
.contact:after { content:""; position:absolute; inset:24px; border:1px solid rgba(7,27,38,.24); pointer-events:none; }
.contact-inner { position:relative; z-index:1; max-width:1120px; margin:auto; display:grid; grid-template-columns:1fr .92fr; gap:42px 50px; align-items:center; }
.contact .eyebrow { justify-content:flex-start; color:var(--navy); }
.contact .eyebrow span { background:var(--navy); }
.contact h2 { margin:0; font-family:var(--font-gothic); font-size:clamp(46px,5vw,72px); line-height:1.25; font-weight:800; }
.contact h2 em { color:#fff; text-shadow:3px 3px 0 var(--navy); }
.contact-copy > p:not(.eyebrow) { max-width:620px; color:#142f3a; line-height:2; font-size:17px; margin:28px 0 0; font-weight:600; }
.contact-media { position:relative; overflow:hidden; margin:0; border:8px solid #fff; box-shadow:18px 18px 0 rgba(7,27,38,.16); transform:rotate(1.5deg); }
.contact-media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.contact-media figcaption { position:absolute; left:0; bottom:0; padding:10px 14px; background:var(--navy); color:#fff; font-family:var(--font-latin); font-size:11px; font-weight:700; letter-spacing:.15em; }
.contact-button { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; width:100%; padding:30px 34px; background:var(--navy); color:#fff; transition:.2s; box-shadow:0 14px 30px rgba(7,27,38,.22); }
.contact-button strong { font-family:var(--font-gothic); font-size:26px; line-height:1.45; font-weight:700; }
.contact-button span { color:var(--amber); font-size:17px; font-weight:700; }
.contact small { grid-column:1/-1; display:block; color:#43555d; margin-top:-26px; font-size:12px; font-weight:500; }
.contact-sticker { position:absolute; z-index:2; top:62px; right:8vw; display:grid; place-items:center; width:150px; height:150px; border:3px solid var(--navy); border-radius:50%; font-family:var(--font-latin); font-size:23px; font-weight:800; line-height:.85; text-align:center; transform:rotate(9deg); }
footer { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; padding:65px 8.5vw 28px; background:#031018; color:#fff; }
.footer-brand-block { display:flex; flex-direction:column; align-items:flex-start; gap:25px; }
.footer-brand { align-self:start; }
.footer-brand-block > p { margin:0; color:#a8b3b7; font-size:14px; line-height:2; }
.footer-links { display:grid; grid-template-columns:.65fr 1.35fr; gap:45px; }
.footer-links > div { display:flex; flex-direction:column; gap:13px; }
.footer-links > div:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; align-content:start; }
.footer-links > div:last-child > strong { grid-column:1/-1; }
.footer-links strong { margin-bottom:4px; color:var(--amber); font-family:var(--font-latin); font-size:11px; font-weight:700; letter-spacing:.16em; }
.footer-links a { width:max-content; max-width:100%; color:#c3ccd0; font-size:13px; line-height:1.5; }
.footer-links a:hover { color:#fff; }
footer > small { grid-column:1/-1; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); color:#65757b; font-size:9px; letter-spacing:.12em; }

/* Guide page */
.guide-page { background:#f7f3e9; color:var(--ink); }
.guide-header { height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 7vw; background:var(--deep); color:#fff; border-bottom:1px solid rgba(255,255,255,.18); }
.guide-back { padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.55); font-size:15px; font-weight:700; }
.guide-hero { display:grid; grid-template-columns:1.05fr .95fr; min-height:650px; background:var(--navy); color:#fff; }
.guide-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:90px 5vw 90px 8vw; }
.guide-hero .eyebrow { margin-top:0; }
.guide-hero h1 { margin:0; font-size:clamp(44px,3.5vw,52px); line-height:1.3; font-weight:800; letter-spacing:-.035em; }
.guide-hero h1 > span,.guide-hero h1 > em { display:block; white-space:nowrap; }
.guide-hero-copy > p:not(.eyebrow) { max-width:720px; margin:30px 0; color:#d6dfe2; font-size:19px; line-height:2; font-weight:600; }
.guide-jump { width:max-content; padding:18px 24px; background:var(--amber); color:var(--navy); font-size:18px; font-weight:700; }
.guide-hero > figure { position:relative; overflow:hidden; margin:0; }
.guide-hero > figure:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,27,38,.25),transparent 50%); pointer-events:none; }
.guide-hero > figure img { width:100%; height:100%; object-fit:cover; }
.guide-hero > figure figcaption { position:absolute; z-index:2; right:24px; bottom:22px; padding:10px 14px; background:var(--amber); color:var(--navy); font-family:var(--font-latin); font-size:11px; font-weight:700; letter-spacing:.14em; }
.guide-summary { display:grid; grid-template-columns:1.05fr repeat(3,1fr); gap:1px; padding:0 8vw; background:var(--navy); color:#fff; }
.guide-summary > strong,.guide-summary > div { min-height:170px; padding:30px; border:1px solid rgba(255,255,255,.14); }
.guide-summary > strong { display:flex; align-items:center; color:var(--amber); font-size:24px; line-height:1.55; font-weight:800; }
.guide-summary > div { display:flex; gap:16px; }
.guide-summary > div > span { color:var(--amber); font-family:var(--font-latin); font-size:13px; font-weight:700; }
.guide-summary p { margin:0; }
.guide-summary b { display:block; margin-bottom:9px; font-size:19px; font-weight:700; }
.guide-summary small { display:block; color:#bdc9cd; font-size:14px; line-height:1.7; font-weight:700; }
.guide-steps-section { padding:110px 8vw; }
.guide-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:65px; }
.guide-section-heading h2 { flex:1 1 690px; margin:0; font-size:clamp(36px,3.8vw,54px); line-height:1.25; font-weight:800; letter-spacing:-.035em; }
.guide-section-heading h2 span,.guide-section-heading h2 em { display:block; white-space:nowrap; }
.guide-section-heading > p { flex:0 1 410px; max-width:410px; margin:0; color:#43555d; font-size:18px; line-height:2; font-weight:600; }
.guide-steps { list-style:none; margin:0; padding:0; border-top:2px solid var(--navy); }
.guide-steps > li { display:grid; grid-template-columns:125px 1fr; gap:34px; padding:48px 0; border-bottom:1px solid rgba(16,38,48,.25); }
.guide-steps > li.has-image { grid-template-columns:125px 1.05fr .95fr; }
.guide-step-number { color:#65747a; font-family:var(--font-latin); font-size:12px; font-weight:700; letter-spacing:.12em; }
.guide-step-number strong { display:block; margin-top:6px; color:var(--amber); font-size:34px; }
.guide-step-copy h3 { margin:0 0 16px; font-size:30px; line-height:1.45; font-weight:700; }
.guide-step-copy > p { margin:0 0 18px; color:#40545d; font-size:17px; line-height:2; font-weight:500; }
.guide-step-copy ul { margin:0; padding:0; list-style:none; }
.guide-step-copy li { position:relative; margin-top:8px; padding-left:20px; font-size:15px; line-height:1.7; font-weight:600; }
.guide-step-copy li:before { content:""; position:absolute; left:0; top:.65em; width:8px; height:8px; border-radius:50%; background:var(--amber); }
.guide-steps figure { overflow:hidden; margin:0; background:var(--navy); }
.guide-steps figure img { display:block; width:100%; height:100%; min-height:260px; object-fit:cover; }
.guide-safety { display:grid; grid-template-columns:.88fr 1.12fr; gap:70px; padding:82px 8vw; background:var(--amber); color:var(--navy); }
.guide-safety .eyebrow { color:var(--navy); }
.guide-safety .eyebrow span { background:var(--navy); }
.guide-safety h2 { margin:0; font-size:clamp(38px,4vw,58px); line-height:1.3; font-weight:800; }
.guide-safety h2 strong { display:block; color:#fff; font-weight:800; text-shadow:3px 3px 0 var(--navy); }
.guide-safety-illustration { width:min(100%,390px); margin-top:28px; padding:12px 18px 4px; border:2px solid rgba(7,27,38,.42); background:rgba(255,255,255,.2); }
.guide-safety-illustration svg { display:block; width:100%; height:auto; }
.guide-safety ul { margin:0; padding:0; list-style:none; border-top:2px solid var(--navy); }
.guide-safety li { padding:21px 4px; border-bottom:1px solid rgba(7,27,38,.32); font-size:17px; line-height:1.7; font-weight:600; }
.guide-cta { padding:95px 8vw; background:var(--deep); color:#fff; }
.guide-cta > p { margin:0 0 30px; font-size:clamp(30px,3.4vw,50px); line-height:1.45; font-weight:800; }
.guide-cta > a { display:flex; align-items:center; justify-content:space-between; width:100%; padding:30px 34px; background:var(--amber); color:var(--navy); }
.guide-cta strong { font-size:25px; font-weight:700; }
.guide-cta span { font-size:16px; font-weight:700; }
.guide-footer { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; padding:50px 8vw 25px; background:#020d13; color:#fff; }
.guide-footer > a { color:#c6d0d3; font-size:14px; font-weight:700; }
.guide-footer > small { grid-column:1/-1; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#68777c; font-size:10px; letter-spacing:.12em; }

/* Home links to detailed information */
.section-page-links { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:2px; }
.section-page-links a { display:flex; align-items:center; justify-content:space-between; min-height:74px; padding:18px 24px; background:var(--navy); color:#fff; font-size:15px; font-weight:700; transition:.2s; }
.section-page-links a:hover { background:#113441; }
.section-page-links span { color:var(--amber); font-size:20px; }
.faq-page-link { display:flex; align-items:center; justify-content:space-between; width:min(100%,430px); margin:34px 0 0 auto; padding:17px 0; border-bottom:1px solid rgba(16,38,48,.5); font-size:15px; font-weight:700; }
.faq-page-link span { color:var(--amber); font-size:20px; }

/* Shared lower-page framework */
.sub-page { min-height:100vh; background:#f7f3e9; color:var(--ink); }
.sub-header { position:relative; z-index:10; height:88px; display:flex; align-items:center; padding:0 5vw; background:var(--deep); color:#fff; border-bottom:1px solid rgba(255,255,255,.16); }
.sub-header nav { gap:21px; margin-left:auto; margin-right:24px; font-size:13px; }
.sub-header nav a.is-current { color:var(--amber); opacity:1; }
.breadcrumbs { display:block; margin:0; padding:14px 8vw; background:#0b2530; color:#b9c5c9; font-size:11px; font-weight:700; }
.breadcrumbs ol { display:flex; gap:10px; margin:0; padding:0; list-style:none; }
.breadcrumbs li:not(:last-child):after { content:"/"; margin-left:10px; color:#63757c; }
.breadcrumbs a:hover { color:#fff; }
.sub-hero { display:grid; grid-template-columns:1.05fr .95fr; min-height:570px; background:var(--navy); color:#fff; }
.sub-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:80px 5vw 80px 8vw; }
.sub-hero-copy > p,.faq-hero > p { margin:0 0 25px; color:var(--amber); font-family:var(--font-latin); font-size:12px; font-weight:800; letter-spacing:.21em; }
.sub-hero h1 { margin:0; font-size:clamp(42px,4.2vw,66px); line-height:1.25; font-weight:800; letter-spacing:-.045em; }
.sub-hero h1 em { display:inline-block; }
.sub-hero-copy > span { max-width:680px; margin-top:30px; color:#ccd6d9; font-size:18px; line-height:1.8; font-weight:600; }
.sub-hero figure { position:relative; overflow:hidden; margin:0; background:#0d2935; }
.sub-hero figure:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,27,38,.22),transparent 55%); }
.sub-hero figure img { display:block; width:100%; height:100%; object-fit:cover; }
.sub-hero figcaption { position:absolute; z-index:2; right:20px; bottom:20px; padding:10px 13px; background:var(--amber); color:var(--navy); font-family:var(--font-latin); font-size:10px; font-weight:800; letter-spacing:.15em; }
.sub-section { padding:105px 8vw; }
.sub-section.dark { background:#09212c; color:#fff; }
.sub-lead { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:end; margin-bottom:58px; }
.sub-lead > div > p,.photo-story > div > p { margin:0 0 20px; color:#63757c; font-family:var(--font-latin); font-size:11px; font-weight:800; letter-spacing:.2em; }
.sub-lead h2,.sub-split-heading h2,.related-pages h2,.photo-story h2 { margin:0; font-size:clamp(36px,4vw,58px); line-height:1.28; font-weight:800; letter-spacing:-.035em; }
.area-policy-title > span,.area-policy-title em,.area-policy-title em > span,.price-structure-title > span,.price-structure-title em,.price-structure-title em > span { display:block; }
.area-policy-title > span,.area-policy-title em > span,.price-structure-title > span,.price-structure-title em > span { width:max-content; max-width:100%; white-space:nowrap; }
.sub-lead > p,.sub-split-heading > p { margin:0; color:#43555d; font-size:17px; line-height:2; font-weight:600; }
.dark .sub-split-heading > p { color:#c8d2d5; }
.detail-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.detail-card-grid article { background:#fff; }
.detail-card-image { position:relative; overflow:hidden; height:250px; background:var(--navy); }
.detail-card-image img { width:100%; height:100%; object-fit:cover; }
.detail-card-image span { position:absolute; top:18px; left:18px; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--amber); color:var(--navy); font-family:var(--font-latin); font-size:11px; font-weight:800; }
.detail-card-grid h3 { margin:27px 25px 12px; font-size:25px; }
.detail-card-grid p { margin:0 25px 30px; color:#43555d; font-size:16px; line-height:1.9; }
.sub-split-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:end; margin-bottom:52px; }
.decision-list { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin:0; padding:0; list-style:none; background:rgba(255,255,255,.16); }
.decision-list > li { display:grid; grid-template-columns:60px 1fr; gap:22px; min-height:190px; padding:30px; background:#102e3a; }
.decision-list > li > span { color:var(--amber); font-family:var(--font-latin); font-size:13px; font-weight:800; }
.decision-list h3 { margin:0 0 12px; font-size:23px; }
.decision-list p { margin:0; color:#c5d0d4; font-size:15px; line-height:1.9; }
.timeline-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:2px solid var(--navy); border-bottom:1px solid rgba(16,38,48,.24); }
.timeline-grid article { min-height:250px; padding:30px 26px; border-right:1px solid rgba(16,38,48,.2); }
.timeline-grid article:last-child { border-right:0; }
.timeline-grid span,.option-detail-grid > article > span,.check-grid article > span,.scene-detail-grid article > span { color:var(--amber); font-family:var(--font-latin); font-size:12px; font-weight:800; letter-spacing:.12em; }
.timeline-grid h3 { margin:28px 0 14px; font-size:22px; line-height:1.5; }
.timeline-grid p { margin:0; color:#455860; font-size:15px; line-height:1.85; }
.inline-actions { display:flex; justify-content:flex-end; gap:20px; margin-top:34px; }
.inline-actions a { min-width:250px; padding:17px 4px; border-bottom:1px solid var(--navy); font-size:14px; font-weight:700; }
.sub-contact { display:grid; grid-template-columns:1.05fr .95fr; gap:6vw; align-items:center; padding:80px 8vw; background:var(--amber); color:var(--navy); }
.sub-contact > div > p { margin:0 0 15px; font-family:var(--font-latin); font-size:11px; font-weight:800; letter-spacing:.2em; }
.sub-contact h2 { margin:0 0 15px; font-size:clamp(31px,3.2vw,48px); line-height:1.4; font-weight:800; }
.sub-contact > div > span { font-size:14px; font-weight:600; }
.sub-contact > a { display:flex; align-items:center; justify-content:space-between; min-height:104px; padding:28px 30px; background:var(--navy); color:#fff; box-shadow:0 14px 30px rgba(7,27,38,.2); }
.sub-contact > a strong { font-size:20px; line-height:1.5; }
.sub-contact > a span { color:var(--amber); font-size:13px; font-weight:700; }
.related-pages { padding:90px 8vw; background:#f7f3e9; }
.related-pages h2 { margin-bottom:45px; }
.related-pages > div:last-child { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(16,38,48,.22); }
.related-pages > div:last-child a { display:grid; grid-template-columns:42px 1fr auto; gap:14px; align-items:center; min-height:95px; padding:22px; background:#fff; }
.related-pages a > span { color:var(--amber); font-family:var(--font-latin); font-size:11px; font-weight:800; }
.related-pages a > strong { font-size:16px; }
.related-pages a > b { color:var(--amber); }
.sub-footer { padding-top:58px; }

/* Price */
.price-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.price-detail-grid article { display:flex; flex-direction:column; min-height:315px; padding:30px; border:1px solid rgba(16,38,48,.22); background:#fff; }
.price-detail-grid article > span { color:var(--amber); font-family:var(--font-latin); font-size:12px; font-weight:800; }
.price-detail-grid h3 { margin:28px 0 10px; font-size:27px; }
.price-detail-grid p { margin:0; color:#43555d; font-size:15px; line-height:1.85; }
.price-detail-grid strong { margin-top:auto; padding-top:26px; font-size:22px; }
.price-detail-grid small { margin-top:8px; color:#7a878c; font-size:11px; line-height:1.65; }
.total-band { display:grid; grid-template-columns:auto auto 1fr; gap:30px; align-items:center; margin-top:16px; padding:25px 30px; background:var(--amber); color:var(--navy); }
.total-band > span { font-family:var(--font-latin); font-size:11px; font-weight:800; letter-spacing:.14em; }
.total-band > strong { font-size:25px; }
.total-band > small { text-align:right; font-size:12px; font-weight:700; }
.serving-table { border-top:2px solid var(--amber); }
.serving-table > div { display:grid; grid-template-columns:1fr 1fr 1fr; min-height:74px; align-items:center; border-bottom:1px solid rgba(255,255,255,.2); }
.serving-table > div > * { padding:0 20px; }
.serving-table > div:first-child { color:#9daeb5; font-size:12px; }
.serving-table span,.serving-table b { font-size:21px; }
.serving-table b { color:var(--amber); }
.fine-print { margin:20px 0 0; color:#aebcc1; font-size:12px; line-height:1.8; }
.option-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.option-detail-grid article { min-height:250px; overflow:hidden; background:#fff; border-top:5px solid var(--amber); font-family:var(--font-gothic); }
.option-detail-media { height:190px; margin:0; overflow:hidden; background:var(--navy); }
.option-detail-media img { display:block; width:100%; height:100%; object-fit:cover; }
.option-detail-copy { padding:26px 30px 30px; }
.option-detail-copy > span { color:var(--amber); font-family:var(--font-latin); font-size:12px; font-weight:800; letter-spacing:.12em; }
.option-detail-grid h3 { margin:20px 0 12px; font-size:25px; font-weight:800; }
.option-detail-grid strong { display:block; margin-bottom:12px; color:#d68500; font-size:21px; }
.option-detail-grid p { margin:0; color:#43555d; font-size:15px; line-height:1.9; font-weight:600; }
.notice-box { display:grid; grid-template-columns:.65fr 1.35fr; gap:40px; margin-top:42px; padding:35px; background:#e9e3d7; }
.notice-box > strong { font-size:25px; line-height:1.55; }
.notice-box ul { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 35px; margin:0; padding-left:22px; }
.notice-box li { color:#43555d; font-size:14px; line-height:1.7; }

/* Delivery and area */
.area-status { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); background:var(--navy); color:#fff; }
.area-status-copy { position:relative; z-index:1; padding:42px 44px; }
.area-status-copy > span { color:#a9b3b7; font-family:var(--font-latin); font-size:11px; font-weight:800; line-height:1; letter-spacing:.18em; }
.area-status-copy > strong { display:block; margin:13px 0 25px; color:var(--amber); font-size:clamp(38px,4vw,58px); line-height:1.1; font-weight:800; }
.area-status h3 { margin:0 0 10px; font-size:23px; }
.area-status p { margin:0; color:#c5d0d4; font-size:15px; line-height:1.8; }
.area-status small { display:block; margin-top:10px; color:#93a4aa; font-size:11px; line-height:1.75; }
.area-status-copy > a { display:inline-block; margin-top:24px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.45); color:var(--amber); font-size:14px; font-weight:700; }
.area-map { position:relative; isolation:isolate; min-height:360px; margin:0; display:grid; place-items:center; overflow:hidden; border-left:1px solid rgba(255,255,255,.14); background:radial-gradient(circle,rgba(247,167,25,.14),transparent 64%); }
.area-map:before,.area-map:after { content:""; position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.area-map:before { width:330px; aspect-ratio:1; }
.area-map:after { width:240px; aspect-ratio:1; }
.area-map-svg { position:relative; z-index:1; width:min(72%,270px); height:auto; color:var(--amber); filter:drop-shadow(12px 16px 0 rgba(0,0,0,.12)); }
.area-map-land > * { fill:currentColor; stroke:#ffd17d; stroke-width:2; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.director-support strong,.director-support span { display:block; }
.director-support strong { color:#fff; font-size:19px; font-weight:800; line-height:1.65; }
.director-support span { margin-top:8px; }
.check-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.15); }
.check-grid article { min-height:215px; padding:28px; background:#102e3a; }
.check-grid h3 { margin:26px 0 12px; font-size:22px; }
.check-grid p { margin:0; color:#c5d0d4; font-size:14px; line-height:1.85; }
.delivery-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.delivery-flow article { padding:32px; border:1px solid rgba(16,38,48,.22); background:#fff; }
.delivery-flow span { color:#d68500; font-family:var(--font-latin); font-size:11px; font-weight:800; letter-spacing:.15em; }
.delivery-flow h3 { margin:24px 0 12px; font-size:26px; }
.delivery-flow p { margin:0; color:#43555d; font-size:15px; line-height:1.9; }
.sub-page-area .delivery-flow article,.sub-page-area .notice-box { font-family:var(--font-gothic); font-style:normal; }
.sub-page-area .delivery-flow h3,.sub-page-area .notice-box > strong { font-weight:800; }
.sub-page-area .delivery-flow p,.sub-page-area .notice-box li { font-weight:600; }
.sub-page-area .notice-box li { font-size:15px; line-height:1.85; }

/* Cases */
.scene-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(16,38,48,.2); }
.scene-detail-grid article { min-height:245px; padding:28px; background:#fff; }
.scene-detail-grid h3 { margin:30px 0 12px; font-size:23px; }
.scene-detail-grid p { margin:0; color:#43555d; font-size:14px; line-height:1.85; }
.photo-story { display:grid; grid-template-columns:1.05fr .95fr; gap:6vw; align-items:center; }
.photo-story figure { margin:0; border:8px solid #fff; box-shadow:18px 18px 0 rgba(247,167,25,.22); }
.photo-story img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.photo-story > div > p { color:var(--amber); }
.photo-story > div > p:last-of-type { color:#c7d2d6; font-family:var(--font-gothic); font-size:16px; font-weight:500; line-height:2; letter-spacing:.01em; }
.photo-story a { display:inline-block; margin-top:15px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.5); color:var(--amber); font-size:14px; font-weight:700; }
.case-detail-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:42px; }
.case-detail-grid a { overflow:hidden; display:flex; flex-direction:column; min-width:0; padding-bottom:22px; background:#fff; border:1px solid rgba(16,38,48,.16); }
.case-detail-grid img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.case-detail-grid span { margin:20px 20px 0; color:#d68500; font-size:11px; font-weight:800; }
.case-detail-grid h3 { margin:12px 20px 22px; font-size:17px; line-height:1.65; }
.case-detail-grid b { margin:auto 20px 0; padding-top:14px; border-top:1px solid rgba(16,38,48,.2); font-size:12px; }

/* FAQ lower page */
.faq-hero { padding:95px 8vw; background:var(--navy); color:#fff; }
.faq-hero h1 { margin:0; font-size:clamp(43px,5vw,72px); line-height:1.25; font-weight:800; letter-spacing:-.04em; }
.faq-hero > span { display:block; max-width:720px; margin-top:28px; color:#c8d3d6; font-size:17px; line-height:1.9; }
.faq-page-body { padding:90px 8vw 110px; }
.faq-page-body > section + section { margin-top:75px; }
.faq-group-title { display:flex; align-items:baseline; gap:24px; margin-bottom:25px; }
.faq-group-title span { color:var(--amber); font-family:var(--font-latin); font-size:13px; font-weight:800; }
.faq-group-title h2 { margin:0; font-size:32px; }

@media (max-width:900px) {
  .site-header { height:72px; padding:0 22px; }
  .header-brands { gap:12px; }
  .grows-header-logo { padding-left:12px; }
  .grows-header-logo img { width:78px; }
  nav { display:none; }
  .header-cta { margin-left:auto; padding:11px 14px; }
  .hero { min-height:720px; height:92vh; align-items:flex-end; padding-bottom:80px; }
  .hero-photo { background-position:62% center; }
  .hero-copy { margin:0 24px; }
  .hero h1 { font-size:clamp(46px,7.5vw,60px); }
  .hero-lead { line-height:1.75; font-size:18px; }
  .desktop { display:none; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .primary-button { min-width:0; width:min(100%,430px); font-size:20px; }
  .hero-badge,.scroll-label { display:none; }
  .section-pad { padding:78px 24px; }
  .intro-heading { display:block; }
  .intro-heading > p { margin-bottom:20px; }
  .intro-text { margin:30px 0 48px; }
  .service-grid { grid-template-columns:1fr; gap:18px; }
  .cases-heading { grid-template-columns:1fr; gap:25px; }
  .case-grid { grid-template-columns:repeat(2,1fr); }
  .case-card.featured { grid-column:1/-1; grid-template-columns:1fr; min-height:0; }
  .case-card.featured .case-image { min-height:0; aspect-ratio:16/9; }
  .case-card.featured .case-content { padding:26px; }
  .case-card.featured h3 { margin:35px 0 30px; }
  .front-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .front-blog-heading > a { display:none; }
  .front-blog-all-mobile { display:flex; width:max-content; margin:28px 0 0 auto; }
  .price-panel { gap:35px; padding:38px; }
  .price-options { grid-template-columns:1fr; }
  .scene { grid-template-columns:1fr; }
  .scene-visual { min-height:540px; }
  .scene-guide-cta { right:22px; bottom:22px; }
  .scene-copy { padding-right:24px; }
  .eyebrow.amber { margin-top:38px; }
  .flow-title { display:block; }
  .flow-title > p { margin-top:24px; }
  .faq-heading { grid-template-columns:1fr; gap:24px; }
  .steps li { grid-template-columns:48px 85px 1fr; padding:24px 0; }
  .contact-inner { grid-template-columns:1fr; gap:34px; }
  .contact-media { max-width:700px; }
  .contact-button { padding:27px 28px; }
  .contact small { margin-top:-20px; }
  footer { grid-template-columns:1fr; gap:45px; }
  footer > small { grid-column:1; }
  .guide-header { padding:0 24px; }
  .guide-hero { grid-template-columns:1fr; }
  .guide-hero-copy { padding:85px 24px 65px; }
  .guide-hero > figure { min-height:430px; }
  .guide-summary { grid-template-columns:repeat(2,1fr); padding:0 24px; }
  .guide-summary > strong { grid-column:1/-1; min-height:120px; }
  .guide-steps-section { padding:80px 24px; }
  .guide-section-heading { display:block; }
  .guide-section-heading > p { margin-top:24px; }
  .guide-steps > li,.guide-steps > li.has-image { grid-template-columns:85px 1fr; gap:24px; }
  .guide-steps figure { grid-column:2; }
  .guide-safety { grid-template-columns:1fr; gap:35px; padding:75px 24px; }
  .guide-safety-illustration { width:min(100%,460px); }
  .guide-cta { padding:75px 24px; }
  .guide-footer { padding:45px 24px 24px; }
  .section-page-links { grid-template-columns:1fr; }
  .sub-header { height:74px; padding:0 22px; }
  .sub-header nav { display:none; }
  .breadcrumbs { padding:12px 24px; }
  .sub-hero { grid-template-columns:1fr; }
  .sub-hero-copy { padding:70px 24px; }
  .sub-hero figure { min-height:420px; }
  .sub-section { padding:78px 24px; }
  .sub-lead,.sub-split-heading { grid-template-columns:1fr; gap:25px; }
  .detail-card-grid,.price-detail-grid,.option-detail-grid,.delivery-flow { grid-template-columns:1fr; gap:16px; }
  .decision-list,.check-grid { grid-template-columns:repeat(2,1fr); }
  .timeline-grid { grid-template-columns:repeat(2,1fr); }
  .timeline-grid article:nth-child(2) { border-right:0; }
  .timeline-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(16,38,48,.2); }
  .sub-contact { grid-template-columns:1fr; padding:65px 24px; }
  .related-pages { padding:75px 24px; }
  .related-pages > div:last-child { grid-template-columns:repeat(2,1fr); }
  .area-status { grid-template-columns:1fr; }
  .area-map { min-height:280px; border-top:1px solid rgba(255,255,255,.14); border-left:0; }
  .notice-box { grid-template-columns:1fr; }
  .scene-detail-grid,.case-detail-grid { grid-template-columns:repeat(2,1fr); }
  .photo-story { grid-template-columns:1fr; gap:50px; }
  .faq-hero { padding:75px 24px; }
  .faq-page-body { padding:75px 24px; }
}
@media (max-width:1280px) {
  .guide-section-heading { display:block; }
  .guide-section-heading > p { max-width:620px; margin-top:24px; }
}
@media (max-width:520px) {
  .brand { font-size:13px; }
  .brand-mark { width:31px; height:31px; font-size:17px; }
  .header-brands { gap:8px; }
  .grows-header-logo { padding-left:8px; }
  .grows-header-logo img { width:58px; }
  .header-cta { font-size:11px; }
  .header-cta span { display:none; }
  .hero h1 { font-size:clamp(36px,10.5vw,42px); }
  .hero-lead { font-size:17px; }
  .section-label { margin-bottom:36px; }
  .intro h2,.flow h2 { font-size:46px; }
  .intro-heading > p { font-size:18px; }
  .intro-text { font-size:18px; }
  .service-visual { height:190px; }
  .scene h2 { font-size:42px; }
  .scene-guide-cta { left:20px; right:20px; bottom:20px; min-width:0; font-size:17px; }
  .steps li { grid-template-columns:40px 1fr; gap:8px; }
  .step-icon { display:none; }
  .contact { padding:85px 24px; }
  .contact h2 { font-size:43px; }
  .contact-copy > p:not(.eyebrow) { font-size:16px; }
  .contact-media { border-width:5px; box-shadow:10px 10px 0 rgba(7,27,38,.16); }
  .contact-button { align-items:flex-start; flex-direction:column; gap:10px; padding:24px 22px; }
  .contact-button strong { font-size:21px; }
  .contact-button span { font-size:14px; }
  .contact small { margin-top:-18px; line-height:1.6; }
  .contact-sticker { position:relative; top:auto; right:auto; width:92px; height:92px; margin:0 0 28px auto; font-size:15px; }
  .case-grid { grid-template-columns:1fr; }
  .front-blog { margin-top:64px; padding-top:38px; }
  .front-blog-heading { display:block; }
  .front-blog-grid { grid-template-columns:1fr; }
  .front-blog-content { min-height:0; }
  .price-panel { padding:26px 20px; }
  .price-formula { grid-template-columns:1fr; }
  .price-formula > b,.price-formula > i { text-align:center; line-height:1; }
  .price-formula > .price-card { min-height:0; }
  .price-card-top { min-height:74px; }
  .price-card-illustration { width:84px; height:66px; }
  .price-result { grid-template-columns:1fr; text-align:center; }
  .price-option-body { align-items:center; text-align:center; }
  .price-options { grid-template-columns:1fr; }
  .management-fee { text-align:left; }
  .faq-list summary { grid-template-columns:46px 1fr 32px; gap:10px; min-height:82px; }
  .faq-list summary strong { font-size:17px; }
  .faq-answer { grid-template-columns:36px 1fr; gap:10px; padding-right:8px; }
  .case-proof-visual { margin-bottom:38px; }
  .case-proof-visual img { height:260px; }
  .case-proof-visual figcaption { position:static; display:block; line-height:1.7; }
  .case-proof-visual figcaption span { display:block; margin-top:4px; }
  .footer-links { grid-template-columns:1fr; gap:32px; }
  .footer-links > div:last-child { grid-template-columns:1fr; }
  .guide-header { height:auto; padding:16px 14px; }
  .guide-header .brand > span:last-child { display:none; }
  .guide-back { font-size:12px; }
  .guide-hero h1 { font-size:clamp(26px,8.3vw,40px); letter-spacing:-.07em; }
  .guide-hero-copy > p:not(.eyebrow) { font-size:17px; }
  .guide-hero > figure { min-height:300px; }
  .guide-summary { grid-template-columns:1fr; }
  .guide-summary > strong { grid-column:1; min-height:105px; }
  .guide-summary > strong,.guide-summary > div { min-height:0; padding:24px 20px; }
  .guide-section-heading h2 { font-size:clamp(24px,6.2vw,32px); }
  .guide-steps > li,.guide-steps > li.has-image { grid-template-columns:1fr; gap:18px; padding:36px 0; }
  .guide-step-number { display:flex; align-items:center; gap:10px; }
  .guide-step-number strong { display:inline; margin:0; font-size:28px; }
  .guide-step-copy h3 { font-size:25px; }
  .guide-step-copy > p { font-size:16px; }
  .guide-steps figure { grid-column:1; }
  .guide-safety h2 { font-size:40px; }
  .guide-safety-illustration { margin-top:22px; padding:8px 10px 2px; }
  .guide-cta > a { align-items:flex-start; flex-direction:column; gap:10px; padding:24px 22px; }
  .guide-cta strong { font-size:21px; }
  .guide-footer { grid-template-columns:1fr; }
  .guide-footer > small { grid-column:1; }
  .section-page-links a { min-height:62px; padding:15px 18px; font-size:14px; }
  .sub-header { padding:14px; }
  .sub-header .brand > span:last-child { display:none; }
  .breadcrumbs { overflow:auto; padding:11px 16px; white-space:nowrap; }
  .sub-hero-copy { padding:58px 20px; }
  .sub-hero h1 { font-size:clamp(34px,10vw,45px); }
  .sub-hero-copy > span { font-size:16px; }
  .sub-hero figure { min-height:290px; }
  .sub-section { padding:65px 20px; }
  .sub-lead h2,.sub-split-heading h2,.related-pages h2,.photo-story h2 { font-size:34px; }
  .sub-lead > p,.sub-split-heading > p { font-size:16px; }
  .detail-card-image { height:210px; }
  .decision-list,.check-grid,.timeline-grid,.scene-detail-grid,.case-detail-grid { grid-template-columns:1fr; }
  .decision-list > li { grid-template-columns:45px 1fr; min-height:0; padding:24px 20px; }
  .timeline-grid article { min-height:0; border-right:0; border-bottom:1px solid rgba(16,38,48,.2); }
  .inline-actions { flex-direction:column; }
  .inline-actions a { min-width:0; }
  .sub-contact > a { align-items:flex-start; flex-direction:column; gap:10px; padding:24px 22px; }
  .sub-contact > a strong { font-size:19px; }
  .related-pages > div:last-child { grid-template-columns:1fr; }
  .price-detail-grid article { min-height:0; }
  .total-band { grid-template-columns:1fr; gap:10px; }
  .total-band > small { text-align:left; }
  .serving-table > div > * { padding:0 8px; }
  .serving-table span,.serving-table b { font-size:17px; }
  .notice-box { grid-template-columns:1fr; gap:20px; padding:25px 20px; }
  .notice-box ul { grid-template-columns:1fr; }
  .area-status-copy { padding:28px 22px; }
  .area-map { min-height:240px; }
  .area-map-svg { width:min(70%,210px); }
  .option-detail-media { height:170px; }
  .option-detail-copy { padding:24px 22px 28px; }
  .photo-story figure { border-width:5px; box-shadow:10px 10px 0 rgba(247,167,25,.22); }
  .faq-hero { padding:60px 20px; }
  .faq-hero h1 { font-size:38px; }
  .faq-page-body { padding:65px 20px; }
  .faq-group-title h2 { font-size:25px; }
}

/* WordPress-only compatibility retained on top of the static preview. */
.mobile-menu { display:none; }
body.admin-bar .site-header { top:32px; }
@media (max-width:900px) {
  .site-header .mobile-menu,.sub-header .mobile-menu { display:block; }
  .site-header .mobile-menu-nav,.sub-header .mobile-menu-nav { display:grid; }
}
@media screen and (max-width:782px) {
  body.admin-bar .site-header { top:46px; }
}
