/* FLOW 02 / hub continuation. All rules are contained by the page root.
   Hero and equipment selector stay in flow02.css, without override stacking. */
/* Heading hierarchy: keep the two real Zen Kaku weights (500/700).
   H1/H2 receive restrained, current-color optical reinforcement, not a new
   font download or a fictitious 800/900 weight. Preserve all type metrics. */
.sf02{--sf02-weight-h1:700;--sf02-weight-h2:700;--sf02-weight-h3:700;--sf02-weight-h4:500;--sf02-stroke-h1:.025em;--sf02-stroke-h2:.012em}
.sf02 h1{font-weight:var(--sf02-weight-h1);-webkit-text-stroke:var(--sf02-stroke-h1) currentColor}
.sf02 h2{font-weight:var(--sf02-weight-h2);-webkit-text-stroke:var(--sf02-stroke-h2) currentColor}
.sf02 h3{font-weight:var(--sf02-weight-h3);-webkit-text-stroke:0 currentColor}
.sf02 h4,.sf02 h5,.sf02 h6{font-weight:var(--sf02-weight-h4);-webkit-text-stroke:0 currentColor}
.sf02 .sf02-chapter{position:relative;margin:0;scroll-margin-top:110px}
.sf02 .sf02-chapter [id]{scroll-margin-top:110px}
.sf02 .sf02-chapter h2,.sf02 .sf02-chapter h3{text-wrap:balance}
.sf02 .sf02-content{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}
.sf02 .sf02-section-head{max-width:850px;margin-bottom:42px}
.sf02 .sf02-section-head h2{font-size:clamp(29px,2.8vw,42px);line-height:1.6;letter-spacing:.035em;margin:24px 0}
.sf02 .sf02-section-head>p:not(.sf02-eyebrow){max-width:48em;line-height:2;color:var(--muted)}
.sf02 .sf02-mini{font-size:13px;font-weight:700;letter-spacing:.1em;color:#447563}
.sf02 .sf02-note{padding:22px 28px;border-left:3px solid #548d76;background:#eaf3ed;font-size:15px;line-height:1.9}
.sf02 .sf02-note a{display:inline;text-decoration:underline;text-underline-offset:4px}
.sf02 .sf02-scene-photo{--mask:url('./assets/photo-mask-leaf.svg');position:relative;margin:0;min-width:0}
.sf02 .sf02-scene-mask{aspect-ratio:1.24;mask:var(--mask) center/100% 100% no-repeat;-webkit-mask:var(--mask) center/100% 100% no-repeat;background:#e5f1f3}
.sf02 .sf02-mask-alt{--mask:url('./assets/photo-mask-lagoon.svg')}
.sf02 .sf02-scene-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--position,50% 50%)}
@media(prefers-reduced-motion:no-preference){.sf02.is-ready:not(.is-stopped) .sf02-scene-photo[data-entered]:not(.sf02-photo-done) .sf02-scene-mask{animation:sf02-picture-enter 1.35s var(--ease) both}.sf02 .sf02-photo-outside .sf02-scene-mask,.sf02.sf02-tab-hidden .sf02-scene-mask{animation-play-state:paused!important}}
@keyframes sf02-picture-enter{from{opacity:.82;transform:translateY(8px) scale(.988)}to{opacity:1;transform:none}}
.sf02 .sf02-scene-photo figcaption{font-size:12px;color:var(--muted);text-align:right;margin-top:10px;padding-right:12%}
.sf02 .sf02-divider--ice{background:#e5f1f3}
.sf02 .sf02-prices{background:var(--paper);padding-block:60px calc(var(--curve-h) + 52px)}
.sf02 .sf02-price-scene{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,90px);align-items:center;padding-block:72px;border-bottom:1px solid #c4d7ce;scroll-margin-top:110px}
.sf02 .sf02-price-visual{position:relative;min-width:0}
.sf02 .sf02-price-caption{padding:0 6% 18px}
.sf02 .sf02-price-caption h3{font-size:30px;line-height:1.6;margin:8px 0 16px}
.sf02 .sf02-price-caption>p:last-child{color:var(--muted);font-size:16px}
.sf02 .sf02-price-visual .sf02-scene-photo{margin-left:-12%;width:112%;margin-top:8px}
/* TYPE photo ornaments: circles sit behind the existing masked photo.
   Absolute layers preserve the image size, crop, and adjacent price layout. */
.sf02 .sf02-price-visual>.sf02-scene-photo{--type-orbit-fill:#dbece3;--type-orbit-line:#78a89a;isolation:isolate}
.sf02 .sf02-price-visual>.sf02-scene-photo::before,.sf02 .sf02-price-visual>.sf02-scene-photo::after{content:"";position:absolute;z-index:0;box-sizing:border-box;aspect-ratio:1;border-radius:50%;pointer-events:none}
.sf02 .sf02-price-visual>.sf02-scene-photo::before{width:54%;right:6%;top:-5%;background:var(--type-orbit-fill)}
.sf02 .sf02-price-visual>.sf02-scene-photo::after{width:38%;left:6%;bottom:-4%;border:1.5px solid var(--type-orbit-line)}
.sf02 .sf02-price-visual>.sf02-mask-alt{--type-orbit-fill:#e5f1f3;--type-orbit-line:#87afba}
.sf02 .sf02-price-visual>.sf02-mask-alt::before{right:auto;left:6%}
.sf02 .sf02-price-visual>.sf02-mask-alt::after{left:auto;right:6%}
.sf02 .sf02-price-visual>.sf02-scene-photo>.sf02-scene-mask{position:relative;z-index:1}
/* End TYPE photo ornaments. */
.sf02 .sf02-price-scene:nth-of-type(even){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.sf02 .sf02-price-scene:nth-of-type(even) .sf02-price-visual{grid-column:2;grid-row:1}
.sf02 .sf02-price-scene:nth-of-type(even) .sf02-price-card{grid-column:1;grid-row:1}
.sf02 .sf02-price-scene:nth-of-type(even) .sf02-scene-photo{margin-left:0;margin-right:-12%}
/* Approved B card: two quiet mint layers; only the corner tool is raster.
   The white surface protects readable HTML. Decorations never receive input. */
.sf02 .sf02-price-card{--price-radius:36px 78px 36px 78px;--price-pad:26px 32px;--wrench-width:100px;position:relative;isolation:isolate;min-width:0;border-radius:var(--price-radius)}
.sf02 .sf02-price-card::before,.sf02 .sf02-price-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.sf02 .sf02-price-card::before{z-index:-3;transform:translate(12px,17px);background:#91b59f;box-shadow:0 10px 20px #44756316}
.sf02 .sf02-price-card::after{z-index:-2;transform:translate(6px,9px);background:#e1eee4;border:1px solid #c4dace}
.sf02 .sf02-price-wrench{position:absolute;z-index:1;right:-2px;top:-82px;width:var(--wrench-width);height:auto;max-width:none;transform:scaleX(-1);pointer-events:none;user-select:none}
.sf02 .sf02-price-sheet{position:relative;z-index:0;min-width:0;background:#fff;border:1px solid #d5e3dc;border-radius:var(--price-radius);padding:var(--price-pad);box-shadow:0 3px 12px #44756312}
.sf02 .sf02-price-key::before{content:"";position:absolute;inset:0 -12px;z-index:-1;background:#eef5f0;border-radius:16px 46px 0 0;pointer-events:none}
@media(max-width:800px){.sf02 .sf02-price-card{margin-top:32px;--wrench-width:86px}.sf02 .sf02-price-wrench{top:-66px}}
@media(max-width:600px){.sf02 .sf02-price-card{--wrench-width:76px;margin-top:26px}.sf02 .sf02-price-card::before{transform:translate(8px,12px)}.sf02 .sf02-price-card::after{transform:translate(4px,6px)}.sf02 .sf02-price-wrench{right:-4px;top:-56px}.sf02 .sf02-price-key::before{inset:0 -6px;border-radius:13px 28px 0 0}}
/* End approved B card. */
/* 03 detail navigation: reuse the existing mint secondary button, not a new CTA. */
.sf02 .sf02-price-detail-button{display:block;width:100%;min-width:0;margin-top:24px;font-size:16px;text-decoration:none}
.sf02 .sf02-price-detail-button .sf02-button-face{min-height:64px;padding:10px 12px 10px 24px;gap:14px;border:1px solid #8dab9d}
.sf02 .sf02-price-detail-label{display:flex;flex:1;min-width:0;flex-wrap:wrap;justify-content:center;line-height:1.65;text-align:center}
.sf02 .sf02-price-detail-label>span{display:inline-block}
.sf02 .sf02-price-detail-button .sf02-arrow{flex-basis:38px;height:38px;background:#21677a;color:#fff;border-color:#21677a;font-size:22px}
.sf02 .sf02-price-detail-button:focus-visible{outline:3px solid #21677a;outline-offset:4px}
@media(max-width:600px){.sf02 .sf02-price-detail-button{font-size:15px;margin-top:20px}.sf02 .sf02-price-detail-button .sf02-button-face{min-height:64px;padding:10px 10px 10px 16px;gap:10px}.sf02 .sf02-price-detail-button .sf02-arrow{flex-basis:34px;height:34px}}
/* End 03 detail navigation. */
.sf02 .sf02-price-key{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,2fr) minmax(112px,1fr);gap:22px;color:#21677a;font-weight:700;font-size:13px;padding-block:14px;margin-top:-8px;border-bottom:1px solid #b5cec8}
.sf02 .sf02-price-key>span:last-child{padding-left:18px}
.sf02 .mpg-rate{display:grid;grid-template-columns:minmax(0,2fr) minmax(112px,1fr);gap:22px;align-items:start;padding-block:26px;border-bottom:1px solid #dce6e0}
.sf02 .sf02-rate-type{min-width:0}
.sf02 .mpg-rate-name{margin:0;font:var(--sf02-weight-h4) 18px/1.65 "Zen Kaku Gothic New",sans-serif;color:var(--ink)}
.sf02 .sf02-rate-type p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:5px}
.sf02 .sf02-rate-name-part{display:inline-block}
/* Apply the tinted shadow outside the mask so it follows the organic photo,
   without clipping, changing the crop, or making the photo look clickable. */
.sf02 .sf02-rate-photo{--rate-mask:url('./assets/photo-mask-rate-leaf.svg');--rate-photo-shadow:#548d76;--rate-photo-ambient:#44756326;width:min(100%,210px);margin:16px 0 0;filter:drop-shadow(0 5px 0 var(--rate-photo-shadow)) drop-shadow(0 4px 5px var(--rate-photo-ambient))}
.sf02 .sf02-rate-photo--alt{--rate-mask:url('./assets/photo-mask-rate-lagoon.svg')}
.sf02 .sf02-rate-mask{aspect-ratio:var(--rate-photo-ratio,1.5);mask:var(--rate-mask) center/100% 100% no-repeat;-webkit-mask:var(--rate-mask) center/100% 100% no-repeat;background:#e5f1f3}
.sf02 .sf02-rate-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--position,50% 50%)}
.sf02 .sf02-rate-photo-note{font-size:14px;color:var(--muted);line-height:1.9;margin-top:16px}
.sf02 .mpg-rate-price{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;padding-left:18px;border-left:1px solid #dce6e0;font-variant-numeric:tabular-nums}
.sf02 .mpg-rate-price>div+div{border-top:1px solid #dce6e0;padding-top:16px}
.sf02 .mpg-rate-price span{display:block;color:var(--muted);font-size:13px;margin-bottom:3px}
.sf02 .mpg-rate-price strong,.sf02 .mpg-rate-price b{display:block;white-space:normal;overflow-wrap:anywhere;font-size:clamp(22px,1.85vw,26px);line-height:1.4;letter-spacing:0;color:#21677a;font-weight:700}
.sf02 .mpg-rate.sf02-price-expanded{grid-template-columns:minmax(0,1fr)}
.sf02 .mpg-rate.sf02-price-expanded .mpg-rate-price{padding-left:0;border-left:0;padding-top:18px;border-top:1px solid #dce6e0}
.sf02 .mpg-rate-price b{color:#447563}
.sf02 .sf02-inline-help{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:40px}
.sf02 .sf02-inline-help h3{font-size:23px;margin-bottom:10px}
.sf02 .sf02-inline-help p{color:var(--muted);max-width:42em}
.sf02 .sf02-inline-help .sf02-button{flex-shrink:0}
.sf02 .sf02-conditions{background:#e5f1f3;padding-block:60px calc(var(--curve-h) + 36px)}
/* 04 / Approved B illustrated cards. Section background, label and divider stay unchanged. */
.sf02 .sf02-basis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-bottom:65px}
.sf02 .sf02-basis-card{--condition-color:#447563;--condition-line:#a9c9b1;--condition-shadow:#d2e2d6;min-width:0;overflow:hidden;padding:0;background:#fff;border:2px solid var(--condition-line);border-radius:46% 54% 28px 28px / 92px 115px 28px 28px;box-shadow:0 4px 0 var(--condition-shadow),0 10px 18px #4475630d}
.sf02 .sf02-basis-card+ .sf02-basis-card{--condition-color:#307d86;--condition-line:#91bfc1;--condition-shadow:#d2e5e6;border-radius:54% 46% 28px 28px / 115px 92px 28px 28px}
.sf02 .sf02-basis-visual{aspect-ratio:1.7;background:#e5f0eb;pointer-events:none}
.sf02 .sf02-basis-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.sf02 .sf02-basis-copy{position:relative;isolation:isolate;background:#fff;padding:26px clamp(24px,2.6vw,40px) 34px}
.sf02 .sf02-basis-copy::before{content:"";position:absolute;z-index:-1;top:-35px;left:-1px;width:calc(100% + 2px);height:36px;background:#fff;mask:url('./assets/divider-coast.svg') center/100% 100% no-repeat;-webkit-mask:url('./assets/divider-coast.svg') center/100% 100% no-repeat;pointer-events:none}
.sf02 .sf02-basis-card h3{display:table;max-width:100%;font-size:clamp(22px,1.9vw,27px);line-height:1.65;margin:0 0 20px;padding-bottom:9px;border-bottom:2px dotted var(--condition-line);color:#21677a}
.sf02 .sf02-basis-card ul,.sf02 .mpg-estimate ul{list-style:none;padding:0;margin:0}
.sf02 .sf02-basis-card li,.sf02 .mpg-estimate li{position:relative;padding:6px 0 6px 27px;font-size:16px;line-height:1.9}
.sf02 .sf02-basis-card li::before,.sf02 .mpg-estimate li::before{content:"";position:absolute;left:0;top:13px;width:16px;height:16px;border-radius:50%;background:var(--condition-color,#447563);pointer-events:none}
.sf02 .sf02-basis-card li::after,.sf02 .mpg-estimate li::after{content:"";position:absolute;left:5px;top:16px;width:5px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(42deg);pointer-events:none}
.sf02 .mpg-basis-note{font-size:15px;line-height:1.9;color:var(--muted);margin-top:22px;padding:17px 0 0;border-top:1px dashed #c6dcdd}
.sf02 .mpg-subhead h3{font-size:25px;line-height:1.65;margin-bottom:20px}
.sf02 .mpg-subhead{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:20px}
.sf02 .mpg-subhead h3{margin:0}.sf02 .mpg-subhead p{color:var(--muted);font-size:15px}
.sf02 .mpg-add-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sf02 .mpg-add-card{display:grid;grid-template-columns:clamp(78px,7.2vw,108px) minmax(0,1fr);align-items:start;gap:17px;min-width:0;padding:26px 22px;background:#fff;border:2px solid #c8dddd;border-radius:20px;box-shadow:0 3px 0 #d2e2dd,0 6px 12px #4475630a}
.sf02 .mpg-add-card:nth-child(2n){border-color:#d0dfd5}
.sf02 .sf02-work-art{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;margin-top:7px;border-radius:50%;pointer-events:none}
.sf02 .sf02-work-art img{display:block;position:absolute;width:300%;height:200%;max-width:none;left:calc(var(--art-column) * -100%);top:calc(var(--art-row) * -100%)}
.sf02 .sf02-work-copy{display:flex;flex-direction:column;gap:9px;min-width:0;align-self:stretch}
.sf02 .mpg-add-card strong{font-size:17px;line-height:1.65;color:#21677a}
.sf02 .mpg-add-card b{font-size:25px;line-height:1.5;color:#21677a}
.sf02 .mpg-add-card small{font-size:15px;color:var(--muted);line-height:1.8}
.sf02 .sf02-card-link{font-size:14px;line-height:1.8;align-self:flex-end;margin-top:auto;padding-top:6px;border-bottom:1px solid #8db6b4;color:#21677a}
.sf02 .mpg-add-grid a{transition:border-color .24s var(--ease),box-shadow .24s var(--ease)}
.sf02 .mpg-add-grid a:focus-visible{outline:3px solid #21677a;outline-offset:5px}
.sf02 .mpg-add-grid a:active{box-shadow:0 1px 0 #b5cec2;border-color:#447563}
.sf02 .mpg-estimate{position:relative;isolation:isolate;overflow:hidden;background:#fff;border:2px solid #c3d8d1;border-radius:24px;margin-top:28px;padding:32px 40px;box-shadow:0 3px 0 #d2e2dd,0 6px 12px #4475630a}
.sf02 .mpg-estimate::before{content:"";position:absolute;z-index:-1;left:0;top:0;width:85px;height:74px;border-radius:0 0 100% 0;background:#deebe0;border-right:2px solid #acc8ad;pointer-events:none}
.sf02 .mpg-estimate h4{position:relative;display:table;margin:0 auto 22px;font-size:23px;line-height:1.7;padding-bottom:8px;border-bottom:2px dotted #a5c4b8;color:#21677a}
.sf02 .mpg-estimate ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 36px}
.sf02 .mpg-estimate li{border-bottom:1px dashed #c8dcd2;padding-block:9px}
.sf02 .mpg-estimate li::before{top:16px}.sf02 .mpg-estimate li::after{top:19px}
@media(hover:hover){.sf02 .mpg-add-grid a:hover{border-color:#80ac9b;box-shadow:0 4px 0 #a9c9b7,0 8px 18px #44756315}}
@media(max-width:1100px){.sf02 .mpg-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sf02 .sf02-basis{grid-template-columns:1fr;gap:32px}.sf02 .sf02-basis-visual{aspect-ratio:1.8}.sf02 .sf02-basis-copy{padding:24px 30px 30px}}
@media(max-width:600px){.sf02 .sf02-basis{margin-bottom:38px}.sf02 .sf02-basis-card{border-radius:46% 54% 24px 24px / 65px 85px 24px 24px}.sf02 .sf02-basis-card+ .sf02-basis-card{border-radius:54% 46% 24px 24px / 85px 65px 24px 24px}.sf02 .sf02-basis-visual{aspect-ratio:1.65}.sf02 .sf02-basis-copy{padding:24px 23px 28px}.sf02 .sf02-basis-card h3{font-size:22px}.sf02 .mpg-add-grid{grid-template-columns:1fr;gap:16px}.sf02 .mpg-add-card{grid-template-columns:82px minmax(0,1fr);gap:16px;padding:22px 20px}.sf02 .mpg-add-card b{font-size:24px}.sf02 .mpg-estimate{padding:30px 23px}.sf02 .mpg-estimate h4{font-size:22px;margin-bottom:18px}.sf02 .mpg-estimate ul{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.sf02 .mpg-add-grid a{transition:none}}
/* End 04 illustrated cards. */
.sf02 .sf02-warranty{padding-block:56px 95px;background:var(--paper)}
/* Warranty ornaments: quiet aqua shapes at the edges, below all policy content.
   Background layers cannot change layout, intercept clicks, or add asset requests. */
.sf02 .sf02-warranty{--warranty-orbit:clamp(110px,16vw,230px);--warranty-ring:clamp(65px,10vw,145px);isolation:isolate}
.sf02 .sf02-warranty::before,.sf02 .sf02-warranty::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-repeat:no-repeat}
.sf02 .sf02-warranty::before{background-image:radial-gradient(circle at 98% max(240px,19%),#e1eff3 0 var(--warranty-orbit),transparent calc(var(--warranty-orbit) + 1px)),radial-gradient(circle at 0% 65%,#e7f2f5 0 var(--warranty-orbit),transparent calc(var(--warranty-orbit) + 1px))}
.sf02 .sf02-warranty::after{background-image:radial-gradient(circle at 97% 15%,transparent 0 var(--warranty-ring),#a5c9d4 calc(var(--warranty-ring) + 1px) calc(var(--warranty-ring) + 2px),transparent calc(var(--warranty-ring) + 3px)),radial-gradient(circle at 5% 87%,transparent 0 46px,#a5c9d4 47px 48px,transparent 49px),radial-gradient(circle at 88% 6%,#86b5c5 0 7px,transparent 8px),radial-gradient(circle at 97% 47%,#bbdbe4 0 17px,transparent 18px),radial-gradient(circle at 2% 42%,#86b5c5 0 6px,transparent 7px),radial-gradient(circle at 92% 96%,#bbdbe4 0 10px,transparent 11px)}
.sf02 .sf02-warranty>.sf02-content{position:relative;z-index:1}
@media(max-width:600px){.sf02 .sf02-warranty{--warranty-orbit:110px;--warranty-ring:78px}}
/* End warranty ornaments. */
/* Warranty ownership: each supply method contains its own scope and conditions.
   Static information panels: shaped color caps and tonal shadows, no button affordance. */
.sf02 .sf02-warranty h2{font-size:clamp(25px,2.4vw,35px);line-height:1.65;margin:22px 0 36px}
.sf02 .sf02-warranty-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,2.5vw,36px);align-items:stretch}
.sf02 .sf02-warranty-option{--policy-color:#366953;--policy-tint:#edf5ef;--policy-cap:#e5f0e9;--policy-line:#c4d8ce;--policy-edge:#d5e5dc;--policy-shadow:#36695312;--policy-inset:clamp(22px,2.5vw,38px);min-width:0;padding:var(--policy-inset);background:#fff;border:1px solid var(--policy-line);border-radius:36px 28px 36px 28px;box-shadow:0 5px 0 var(--policy-edge),0 16px 32px var(--policy-shadow);cursor:auto}
.sf02 .sf02-warranty-option--carry{--policy-color:#21677a;--policy-tint:#edf6f8;--policy-cap:#e4f1f5;--policy-line:#bed8df;--policy-edge:#d1e4ea;--policy-shadow:#21677a12}
.sf02 .sf02-warranty-option-head{position:relative;isolation:isolate;overflow:clip;min-height:196px;margin:calc(0px - var(--policy-inset)) calc(0px - var(--policy-inset)) 28px;padding:var(--policy-inset) var(--policy-inset) 34px;background:var(--policy-cap);border-radius:35px 27px 52% 12% / 35px 27px 22px 10px}
.sf02 .sf02-warranty-option-head::before,.sf02 .sf02-warranty-option-head::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.sf02 .sf02-warranty-option-head::before{width:116px;height:116px;right:-32px;top:-48px;border:1px solid var(--policy-line);border-radius:50%;box-shadow:0 0 0 17px #ffffff38}
.sf02 .sf02-warranty-option-head::after{width:100px;height:60px;right:28px;bottom:14px;background:#ffffff85;border-radius:85% 15% 82% 18%;transform:rotate(-19deg)}
.sf02 .sf02-warranty-category{display:table;max-width:100%;padding:5px 14px;background:var(--policy-color);color:#fff;border-radius:13px 13px 13px 3px;font-size:14px;line-height:1.7;font-weight:700;letter-spacing:.04em;margin:0 0 16px}
.sf02 .sf02-warranty-option h3{color:var(--ink);font-size:clamp(20px,1.6vw,24px);line-height:1.65;margin:0;overflow-wrap:anywhere}
.sf02 .sf02-warranty-option h3>span{display:inline-block;max-width:100%}
.sf02 .sf02-warranty-scope{padding:24px;background:var(--policy-tint);border:1px solid var(--policy-line);border-left:3px solid var(--policy-color);border-radius:18px 18px 18px 6px}
.sf02 .sf02-warranty-option h4{font-family:inherit;font-weight:var(--sf02-weight-h4);line-height:1.65;letter-spacing:.02em;margin:0 0 12px;color:var(--policy-color);font-size:18px}
.sf02 .sf02-warranty-scope h4{font-size:clamp(21px,1.7vw,25px)}
.sf02 .sf02-warranty-option p:not(.sf02-warranty-category),.sf02 .sf02-warranty-checks li{font-size:16px;line-height:1.9;color:var(--muted);margin:0}
.sf02 .sf02-warranty-detail{border-top:1px dashed var(--policy-line);margin-top:26px;padding-top:24px}
.sf02 .sf02-warranty-detail>h4{position:relative;padding-left:14px}
.sf02 .sf02-warranty-detail>h4::before{content:"";position:absolute;left:0;top:.34em;width:5px;height:1em;border-radius:3px;background:var(--policy-color)}
.sf02 .sf02-warranty-checks{list-style:none;margin:0;padding:0}
.sf02 .sf02-warranty-checks li{position:relative;padding-left:18px}
.sf02 .sf02-warranty-checks li+li{margin-top:12px}
.sf02 .sf02-warranty-checks li::before{content:"";position:absolute;left:0;top:.78em;width:5px;height:5px;border-radius:50%;background:var(--policy-color)}
@media(max-width:900px){.sf02 .sf02-warranty-options{grid-template-columns:1fr;gap:30px}.sf02 .sf02-warranty-option-head{min-height:0}.sf02 .sf02-warranty-option{--policy-inset:28px}}
@media(max-width:600px){.sf02 .sf02-warranty h2{margin-bottom:28px}.sf02 .sf02-warranty-option{--policy-inset:20px;border-radius:30px 22px 30px 22px;padding-bottom:26px;box-shadow:0 4px 0 var(--policy-edge),0 12px 24px var(--policy-shadow)}.sf02 .sf02-warranty-option-head{padding-top:26px;padding-bottom:30px;margin-bottom:24px;border-radius:29px 21px 52% 12% / 29px 21px 16px 8px}.sf02 .sf02-warranty-category{padding:4px 12px;margin-bottom:14px}.sf02 .sf02-warranty-option-head::after{right:10px;width:84px;height:52px}.sf02 .sf02-warranty-scope{padding:20px 16px}.sf02 .sf02-warranty-detail{margin-top:24px;padding-top:22px}}
/* End warranty ownership. */
.sf02 .sf02-repair{background:var(--paper);padding-block:35px calc(var(--curve-h) + 30px)}
/* Repair ornaments: the warranty palette, with a mirrored composition.
   Keep photographs, copy, links and the existing transition above the decoration. */
.sf02 .sf02-repair{--repair-orbit:clamp(105px,15vw,215px);--repair-ring:clamp(64px,9vw,130px);isolation:isolate}
.sf02 .sf02-repair::before,.sf02 .sf02-repair::after{content:"";position:absolute;inset:0 0 var(--curve-h);z-index:0;pointer-events:none;background-repeat:no-repeat}
.sf02 .sf02-repair::before{background-image:radial-gradient(circle at 0% max(225px,22%),#e7f2f5 0 var(--repair-orbit),transparent calc(var(--repair-orbit) + 1px)),radial-gradient(circle at 98% 73%,#e1eff3 0 var(--repair-orbit),transparent calc(var(--repair-orbit) + 1px))}
.sf02 .sf02-repair::after{background-image:radial-gradient(circle at 5% max(180px,20%),transparent 0 var(--repair-ring),#a5c9d4 calc(var(--repair-ring) + 1px) calc(var(--repair-ring) + 2px),transparent calc(var(--repair-ring) + 3px)),radial-gradient(circle at 94% 84%,transparent 0 58px,#a5c9d4 59px 60px,transparent 61px),radial-gradient(circle at 92% 8%,#86b5c5 0 7px,transparent 8px),radial-gradient(circle at 98% 44%,#bbdbe4 0 15px,transparent 16px),radial-gradient(circle at 2% 68%,#86b5c5 0 6px,transparent 7px),radial-gradient(circle at 80% 95%,#bbdbe4 0 10px,transparent 11px)}
.sf02 .sf02-repair>.sf02-content{position:relative;z-index:1}
@media(max-width:600px){.sf02 .sf02-repair{--repair-orbit:105px;--repair-ring:70px}}
/* End repair ornaments. */
.sf02 .sf02-signs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:45px}
.sf02 .sf02-signs .sf02-scene-mask{aspect-ratio:1.2}
.sf02 .sf02-signs article:nth-child(even) .sf02-scene-photo{--mask:url('./assets/photo-mask-lagoon.svg')}
.sf02 .sf02-signs h3{display:flex;align-items:center;gap:10px;font-size:18px;margin-top:22px}
.sf02 .sf02-signs h3 span{font-size:13px;color:#548d76}
.sf02 .sf02-repair-options{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-block:1px solid #c5d9ce;padding-block:34px;margin-bottom:30px}
.sf02 .sf02-repair-options>div+div{border-left:1px solid #c5d9ce;padding-left:40px}
.sf02 .sf02-repair-options h3{font-size:24px;margin:13px 0 18px;line-height:1.65}
.sf02 .sf02-repair-options p:last-child{color:var(--muted);line-height:2}
.sf02 .sf02-single{display:grid;grid-template-columns:170px 1fr;gap:40px;max-width:800px;align-items:center;margin-top:52px}
.sf02 .sf02-single h3{font-size:22px;margin-bottom:14px}
.sf02 .sf02-single p{color:var(--muted)}
.sf02 .sf02-photo-check{background:var(--mint);padding-block:50px calc(var(--curve-h) + 30px)}
.sf02 .sf02-photo-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px;margin-bottom:40px}
.sf02 .sf02-photo-tips .sf02-scene-photo{width:85%;margin-bottom:23px}
.sf02 .sf02-photo-tips article:nth-child(2){padding-top:55px}
.sf02 .sf02-photo-tips article:nth-child(2) .sf02-scene-photo{--mask:url('./assets/photo-mask-lagoon.svg')}
.sf02 .sf02-photo-tips h3{font-size:23px;margin:12px 0}
.sf02 .sf02-photo-tips article>p:last-child{color:var(--muted);font-size:16px}
.sf02 .sf02-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:44px 0 0;gap:40px}
.sf02 .sf02-process li{position:relative;border-top:1px solid #93b5a3;padding-top:24px}
.sf02 .sf02-process li>b{display:grid;place-items:center;width:44px;height:44px;background:#e8f2eb;border:1px solid #acc7b8;border-radius:50%;box-shadow:0 3px 0 #8dab9d;margin-bottom:18px;color:#21677a}
.sf02 .sf02-process strong{display:block;font-size:20px;margin-bottom:14px}
.sf02 .sf02-process p{color:var(--muted);font-size:15px}
.sf02 .sf02-craft{padding-block:40px 80px;background:var(--paper)}
.sf02 .sf02-craft-top{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.sf02 .sf02-craft-top .sf02-scene-photo{width:113%;margin-right:-13%}
.sf02 .sf02-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 40px;margin-top:35px}
.sf02 .sf02-reasons article{display:flex;gap:18px;border-top:1px solid #b5cec1;padding-top:26px}
.sf02 .sf02-reason-num{font-size:14px;color:#447563;padding-top:6px}
.sf02 .sf02-reasons h3{font-size:21px;line-height:1.6;margin-bottom:17px}
.sf02 .sf02-reasons p{color:var(--muted);font-size:15px;line-height:2}
.sf02 .sf02-craft-details{display:flex;align-items:center;gap:36px;margin-top:50px}
.sf02 .sf02-craft-details .sf02-scene-photo{width:24%;flex-shrink:0}
.sf02 .sf02-craft-details .sf02-scene-photo:nth-child(2){margin-top:70px}
.sf02 .sf02-craft-details p{color:var(--muted);padding-left:25px}
.sf02 .sf02-access{background:#e5f1f3;padding:75px var(--gutter) calc(var(--curve-h) + 25px)}
.sf02 .sf02-access .fca-intro,.sf02 .fca-content,.sf02 .sf02-visit-note{max-width:1312px;margin-inline:auto}
.sf02 .sf02-access .fca-kicker,.sf02 .fpc-kicker{font-size:13px;letter-spacing:.13em;color:#447563;font-weight:700}
.sf02 .sf02-access .fca-title{font-size:clamp(29px,2.8vw,42px);line-height:1.6;margin:24px 0}
.sf02 .fca-lead{line-height:2;color:var(--muted);margin-bottom:45px}
.sf02 .fca-content{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.sf02 .fca-company{font-size:26px;line-height:1.7;margin-bottom:25px}
.sf02 .fca-info p{margin-top:20px;line-height:2;font-size:16px}
.sf02 .fca-info i{display:none}
.sf02 .fca-actions{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:30px}
.sf02 .fca-actions .sf02-button{font-size:15px}.sf02 .fca-actions .sf02-button-face{padding-left:22px;gap:14px}
.sf02 .fca-map-card{padding:24px;background:#f7faf8;border:1px solid #cadad7;border-radius:28px}
.sf02 .fca-map-head{font-size:13px;letter-spacing:.1em;margin-bottom:16px;color:#447563}
.sf02 .fca-map-frame{height:290px;border-radius:12px;overflow:hidden;background:#e5f1f3}
.sf02 .fca-map-frame iframe{height:100%;width:100%;border:0}
.sf02 .fca-map-address{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:20px}
.sf02 .fca-map-address small{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}
.sf02 .fca-map-address strong{font-size:15px;font-weight:500}
.sf02 .fca-map-note{font-size:13px;line-height:1.9;color:var(--muted);margin-top:20px}.sf02 .fca-map-note a{text-decoration:underline;text-underline-offset:3px}
.sf02 .fca-map-address>a{display:grid;place-items:center;width:44px;height:44px;background:#e8f2eb;border:1px solid #b5cec1;border-radius:50%;flex-shrink:0;box-shadow:0 3px 0 #8dab9d}
.sf02 .sf02-visit-note{margin-top:42px;border-top:1px solid #b5cec8;padding-top:28px}
.sf02 .sf02-visit-note h3{font-size:22px;margin-bottom:15px}.sf02 .sf02-visit-note p{color:var(--muted);font-size:15px;margin-top:12px}
.sf02 .sf02-faq{background:var(--paper);padding-block:55px calc(var(--curve-h) + 25px)}
.sf02 .sf02-faq-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:70px}
.sf02 .sf02-faq-grid>.sf02-scene-photo{max-width:350px}
/* FAQ panels: native details remain the interaction; no additional click targets. */
.sf02 .sf02-faq-list{--faq-inset:24px;--faq-gap:14px;--faq-badge:44px;--faq-toggle:36px;padding-top:10px}
.sf02 .sf02-faq-item{border:1px solid #c5d9d7;border-radius:22px;background:#fff;margin-bottom:16px;box-shadow:0 3px 0 #d7e6df;transition:border-color .24s var(--ease),box-shadow .24s var(--ease)}
.sf02 .sf02-faq-item[open]{border-color:#91b8c2;box-shadow:0 3px 0 #c3dce2}
.sf02 .sf02-faq-item summary{display:grid;grid-template-columns:var(--faq-badge) minmax(0,1fr) var(--faq-toggle);align-items:center;gap:var(--faq-gap);cursor:pointer;padding:var(--faq-inset);list-style:none;border-radius:21px;transition:background-color .24s var(--ease)}
.sf02 .sf02-faq-item summary::-webkit-details-marker{display:none}
.sf02 .sf02-faq-item summary>span{display:grid;place-items:center;min-height:var(--faq-badge);border-radius:14px 14px 14px 5px;background:#e8f2eb;color:#356552;font-size:12px;font-weight:700;letter-spacing:.025em}
.sf02 .sf02-faq-item summary h3{font-size:17px;line-height:1.85;min-width:0;text-wrap:pretty;color:#21677a}
.sf02 .sf02-faq-item summary>b{position:relative;display:block;width:var(--faq-toggle);height:var(--faq-toggle);border:1px solid #b3cfd4;border-radius:50%;background:#e5f1f3;box-shadow:0 2px 0 #b7d1d7;font-size:0;color:#21677a;transition:background-color .24s var(--ease),color .24s var(--ease)}
.sf02 .sf02-faq-item summary>b::before,.sf02 .sf02-faq-item summary>b::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%);pointer-events:none}
.sf02 .sf02-faq-item summary>b::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .24s var(--ease),opacity .24s var(--ease)}
.sf02 .sf02-faq-item[open] summary{background:#eaf4f5;border-radius:21px 21px 0 0}
.sf02 .sf02-faq-item[open] summary>b{background:#21677a;color:#fff;border-color:#21677a;box-shadow:0 2px 0 #103f4e}
.sf02 .sf02-faq-item[open] summary>b::after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.sf02 .sf02-faq-item summary:focus-visible{outline:3px solid #21677a;outline-offset:4px}
.sf02 .sf02-faq-answer{color:var(--muted);padding:20px var(--faq-inset) 26px;font-size:16px;line-height:2.05;border-top:1px solid #d1e4e7;border-radius:0 0 21px 21px;background:#f5f9f9;overflow-wrap:anywhere}
@media(hover:hover){.sf02 .sf02-faq-item:not([open]) summary:hover{background:#f0f7f4}.sf02 .sf02-faq-item summary:hover>b{background:#21677a;color:#fff}.sf02 .sf02-faq-item:hover{border-color:#91b8c2}}
@media(prefers-reduced-motion:reduce){.sf02 .sf02-faq-item,.sf02 .sf02-faq-item summary,.sf02 .sf02-faq-item summary>b,.sf02 .sf02-faq-item summary>b::after{transition:none}}
/* End FAQ panels. */
/* Related destinations: quieter than primary CTAs; the entire card is one link. */
.sf02 .sf02-related{border-top:1px solid #c4d7cc;margin-top:64px;padding-top:40px}
.sf02 .sf02-related>h3{position:relative;font-size:24px;line-height:1.7;margin-bottom:14px;padding-top:24px;color:#21677a}
.sf02 .sf02-related>h3::before{content:"";position:absolute;left:0;top:0;width:40px;height:4px;border-radius:3px;background:#21677a;box-shadow:18px 0 0 #9abdac}
.sf02 .sf02-related>p{color:var(--muted);font-size:16px;line-height:1.9}
.sf02 .sf02-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.sf02 .sf02-related a{--related-shade:#dcecef;--related-edge:#bdd5db;--related-shadow:#cbdfe1;position:relative;isolation:isolate;overflow:hidden;min-width:0;display:flex;flex-direction:column;border:1px solid var(--related-edge);border-radius:24px;padding:26px 28px 28px;background:#fff;box-shadow:0 4px 0 var(--related-shadow);text-decoration:none;transition:background-color .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}
.sf02 .sf02-related a::before{content:"";position:absolute;z-index:-1;top:0;right:0;width:112px;height:min(100px,100%);border-radius:0 23px 0 100%;background:var(--related-shade);pointer-events:none}
.sf02 .sf02-related a:nth-child(3),.sf02 .sf02-related a:nth-child(4),.sf02 .sf02-related a:last-child{--related-shade:#e8f2eb;--related-edge:#c4d9ca;--related-shadow:#d4e4d9}
.sf02 .sf02-related a strong{display:flex;justify-content:space-between;align-items:center;gap:18px;min-width:0;font-size:19px;line-height:1.65;margin-bottom:16px;color:#21677a}
.sf02 .sf02-related a strong>span{flex:0 0 36px;display:grid;place-items:center;min-height:36px;border:1px solid #a8c5cd;border-radius:50%;background:#fff;color:#21677a;font-size:20px;line-height:1;box-shadow:0 2px 0 #bbd2d8;transition:background-color .24s var(--ease),color .24s var(--ease),box-shadow .24s var(--ease)}
.sf02 .sf02-related a>span{display:block;font-size:16px;color:var(--muted);line-height:1.95;overflow-wrap:anywhere}
.sf02 .sf02-related a:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr);align-items:center;gap:28px;padding-right:88px;background:#f2f7f3}
.sf02 .sf02-related a:last-child strong{margin:0;display:block;padding-right:0}
.sf02 .sf02-related a:last-child strong>span{position:absolute;right:28px;top:50%;transform:translateY(-50%);width:36px}
.sf02 .sf02-related a:last-child>span{padding-right:0}
.sf02 .sf02-related a:focus-visible{outline:3px solid #21677a;outline-offset:5px}
@media(hover:hover){.sf02 .sf02-related a:hover{background:#f3f8f7;border-color:#85b0b7;box-shadow:0 6px 0 var(--related-shadow)}.sf02 .sf02-related a:hover strong>span{background:#21677a;color:#fff;box-shadow:0 3px 0 #103f4e}}
.sf02 .sf02-related a:active{box-shadow:0 2px 0 var(--related-shadow)}
.sf02 .sf02-related a:active strong>span{background:#21677a;color:#fff;box-shadow:0 1px 0 #103f4e}
@media(max-width:800px){.sf02 .sf02-related a{padding:24px}.sf02 .sf02-related a:last-child{grid-template-columns:1fr;gap:12px;padding-right:80px}.sf02 .sf02-related a:last-child>span{padding-right:0}.sf02 .sf02-related a:last-child strong>span{right:24px}}
@media(max-width:600px){.sf02 .sf02-related{margin-top:48px;padding-top:32px}.sf02 .sf02-related>h3{font-size:22px}.sf02 .sf02-related>div{grid-template-columns:1fr;gap:18px;margin-top:24px}.sf02 .sf02-related a{padding:22px}.sf02 .sf02-related a strong{font-size:18px;margin-bottom:12px}.sf02 .sf02-related a:last-child{display:flex;align-items:stretch;padding:22px;gap:0}.sf02 .sf02-related a:last-child strong{display:flex;margin-bottom:12px}.sf02 .sf02-related a:last-child strong>span{position:static;transform:none}.sf02 .sf02-related a:last-child>span{padding-right:0}}
@media(prefers-reduced-motion:reduce){.sf02 .sf02-related a,.sf02 .sf02-related a strong>span{transition:none}}
/* End related destinations. */
/* Reuse CF7 markup and behaviour. Only presentation changes; radio inputs stay
   focusable and the original shared file input remains available without JS. */
.sf02 .sf02-form{padding:55px var(--gutter) 80px;background:var(--mint)}
.sf02 .fpc-head,.sf02 .fpc-body,.sf02 .fpc-next{max-width:1312px;margin-inline:auto}
.sf02 .fpc-title{font-size:clamp(29px,2.8vw,42px);line-height:1.6;margin:24px 0}
.sf02 .fpc-lead{max-width:50em;color:var(--muted);line-height:2;margin-bottom:40px}
.sf02 .fpc-body{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:44px;align-items:start}
.sf02 .fpc-guide-title{font-size:22px;line-height:1.7;margin-bottom:24px}
.sf02 .fpc-status{display:inline-block;margin-left:6px;padding:2px 7px;background:#eef5f0;color:#49666d;border-radius:5px;font-size:12px;font-weight:500;vertical-align:middle}
.sf02 .fpc-status--required{background:#d3e7eb;color:#154e60}
.sf02 .fpc-guide-list{display:grid;gap:28px}
.sf02 .fpc-guide-card{display:grid;grid-template-columns:1fr 130px;gap:20px;border-bottom:1px solid #b5cec1;padding-bottom:24px;align-items:center}
.sf02 .fpc-guide-copy b{display:block;font-size:18px;margin:5px 0 10px}
.sf02 .fpc-guide-copy small{font-size:15px;color:var(--muted);display:block;line-height:1.8}
.sf02 .fpc-guide-number{font-size:13px;color:#447563}
.sf02 .fpc-guide-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;mask:url('./assets/photo-mask-leaf.svg') center/100% 100% no-repeat;-webkit-mask:url('./assets/photo-mask-leaf.svg') center/100% 100% no-repeat}
.sf02 .fpc-guide-trigger{background:#e8f2eb;color:#193e48;border:1px solid #a6c5b5;border-radius:99px;padding:8px 9px;min-height:44px;box-shadow:0 3px 0 #8dab9d;cursor:pointer;font-size:13px;font-weight:700;width:100%;margin-top:10px;transition:box-shadow .24s,transform .24s}
.sf02 .fpc-guide-card.is-selected .fpc-guide-trigger{outline:3px solid #21677a}
.sf02 .fpc-guide-note{font-size:15px;color:var(--muted);margin-top:22px;display:flex;gap:9px;line-height:1.9}
.sf02 .fpc-form-wrap{padding:36px;background:var(--paper);border:1px solid #bdd4c6;border-radius:26px;min-width:0}
.sf02 .fpc-form{margin:0}.sf02 .fpc-group{padding:0;margin:0 0 30px;border:0;min-width:0}
.sf02 .fpc-label,.sf02 .fpc-field>label{display:block;font-weight:700;font-size:16px;margin-bottom:14px;line-height:1.8}
.sf02 .fpc-type-grid,.sf02 .fpc-place-grid{display:flex;flex-wrap:wrap;gap:10px}
.sf02 .fpc-type-grid label,.sf02 .fpc-place-grid label{position:relative;display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #bacfc4;border-radius:12px;background:#fff;font-size:15px;cursor:pointer;min-height:48px;line-height:1.7}
.sf02 .fpc-type-grid label:has(:checked),.sf02 .fpc-place-grid label:has(:checked){background:#e0eee6;border-color:#548d76;box-shadow:inset 0 0 0 1px #548d76}
.sf02 .fpc-place-grid i{display:none}
.sf02 .fpc-form input[type=radio],.sf02 .fpc-form input[type=checkbox]{width:18px;height:18px;accent-color:#21677a;flex-shrink:0;cursor:pointer}
.sf02 .fpc-form label:has(input:focus-visible){outline:3px solid #21677a;outline-offset:3px}
.sf02 .fpc-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.sf02 .fpc-check{display:flex;align-items:center;gap:10px;font-size:15px;min-height:44px;cursor:pointer}
.sf02 .fpc-textarea,.sf02 .fpc-input,.sf02 .fpc-select{display:block;border:1px solid #a9c1b5;border-radius:9px;padding:13px 14px;background:#fff;width:100%;max-width:100%;font:500 16px/1.6 "Zen Kaku Gothic New",sans-serif;color:var(--ink);min-height:50px}
.sf02 .fpc-textarea{height:135px;resize:vertical}
.sf02 .fpc-input:focus-visible,.sf02 .fpc-textarea:focus-visible,.sf02 .fpc-select:focus-visible,.sf02 .fpc-file-control input:focus-visible{outline:3px solid #21677a;outline-offset:3px}
.sf02 .fpc-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sf02 .fpc-field--wide{grid-column:1/-1}
.sf02 .fpc-field-help{display:block;font-size:13px;color:var(--muted);line-height:1.8;margin-top:9px}
.sf02 .fpc-counter{display:block;text-align:right}
.sf02 .fpc-file-control{display:block;margin-top:30px;padding:20px;background:#e8f2eb;border-radius:12px}
.sf02 .fpc-file-control input{width:100%;font-size:14px}
.sf02 .fpc-file-control input::file-selector-button{border:1px solid #8dab9d;border-radius:8px;background:#fff;padding:10px 14px;margin-right:12px;color:#193e48;cursor:pointer}
.sf02 .fpc-file-status{font-size:13px;margin-top:12px;overflow-wrap:anywhere;color:var(--muted)}
.sf02 .fpc-privacy{display:flex;align-items:flex-start;gap:10px;font-size:15px;margin:25px 0;line-height:1.9}
.sf02 .fpc-privacy input{margin-top:5px}.sf02 .fpc-privacy a{text-decoration:underline;text-underline-offset:3px}
.sf02 .fpc-actions{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding-block:15px}
.sf02 .fpc-submit{font:700 16px/1.6 "Zen Kaku Gothic New",sans-serif;white-space:normal;cursor:pointer;border:1px solid #ffffff29;background:#21677a;color:#fff;border-radius:999px;padding:20px 22px;min-height:66px;box-shadow:0 6px 0 #103f4e,0 12px 20px #21677a26;transition:transform .24s,box-shadow .24s;width:100%}
.sf02 .fpc-submit:focus-visible{outline:3px solid #21677a;outline-offset:7px}
.sf02 .fpc-line{display:flex;justify-content:center;align-items:center;gap:14px;border-radius:999px;border:1px solid #aec6b8;padding:16px 22px;background:#e8f2eb;box-shadow:0 6px 0 #8dab9d;min-height:60px;font-weight:700;font-size:15px;transition:transform .24s,box-shadow .24s}
.sf02 .fpc-reply{font-size:13px;color:var(--muted);margin-top:20px}
.sf02 .fpc-next{text-align:center;padding-top:35px;color:var(--muted);font-size:14px}
.sf02 .fpc-response{font-size:15px}
@media(hover:hover){.sf02 .fpc-submit:hover{transform:translateY(-2px);box-shadow:0 8px 0 #103f4e,0 14px 24px #21677a26}.sf02 .fpc-line:hover{transform:translateY(-2px);box-shadow:0 8px 0 #8dab9d}.sf02 .fpc-guide-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 0 #8dab9d}}
.sf02 .fpc-submit:active{transform:translateY(4px);box-shadow:0 2px 0 #103f4e}.sf02 .fpc-line:active{transform:translateY(4px);box-shadow:0 2px 0 #8dab9d}.sf02 .fpc-guide-trigger:active{transform:translateY(2px);box-shadow:0 1px 0 #8dab9d}
@media(max-width:1100px){.sf02 .sf02-price-scene{gap:32px}.sf02 .sf02-price-card{--price-pad:24px}.sf02 .sf02-price-caption h3{font-size:27px}.sf02 .sf02-craft-top{gap:24px}.sf02 .sf02-reasons{grid-template-columns:1fr 1fr}.sf02 .fca-content{gap:35px}.sf02 .fpc-body{grid-template-columns:1fr;gap:36px}.sf02 .fpc-guide-list{grid-template-columns:repeat(3,1fr);gap:25px}.sf02 .fpc-guide-card{grid-template-columns:1fr;gap:15px}.sf02 .fpc-guide-photo{max-width:150px}.sf02 .sf02-faq-grid{gap:40px}}
@media(max-width:800px){.sf02 .sf02-price-scene,.sf02 .sf02-price-scene:nth-of-type(even){grid-template-columns:1fr;padding-block:50px;gap:25px}.sf02 .sf02-price-scene:nth-of-type(even) .sf02-price-visual,.sf02 .sf02-price-scene:nth-of-type(even) .sf02-price-card{grid-column:auto;grid-row:auto}.sf02 .sf02-price-visual{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.sf02 .sf02-price-caption{padding:0}.sf02 .sf02-price-visual .sf02-scene-photo{width:112%;margin:0 -12% 0 0}.sf02 .sf02-inline-help{align-items:flex-start;flex-direction:column;gap:24px}.sf02 .sf02-signs{grid-template-columns:1fr 1fr;gap:28px}.sf02 .sf02-photo-tips{gap:28px}.sf02 .sf02-photo-tips h3{font-size:20px}.sf02 .sf02-process{gap:24px}.sf02 .sf02-process strong{font-size:18px}.sf02 .fca-content{grid-template-columns:1fr}.sf02 .fca-map-frame{height:280px}.sf02 .sf02-faq-grid{grid-template-columns:1fr}.sf02 .sf02-faq-grid>div:first-child{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.sf02 .sf02-faq-grid .sf02-section-head{margin-bottom:0}}
@media(max-width:600px){.sf02 .sf02-section-head{margin-bottom:28px}.sf02 .sf02-section-head h2{font-size:29px;margin:22px 0;line-height:1.65}.sf02 .sf02-section-head>p:not(.sf02-eyebrow){font-size:16px}.sf02 .sf02-note{padding:20px;font-size:15px}.sf02 .sf02-prices{padding-top:30px}.sf02 .sf02-price-visual{gap:14px}.sf02 .sf02-price-caption h3{font-size:24px;margin:7px 0 12px}.sf02 .sf02-price-caption>p:last-child{font-size:15px}.sf02 .sf02-price-caption br{display:none}.sf02 .sf02-price-scene{padding-block:38px}.sf02 .sf02-price-card{--price-radius:26px 46px 26px 46px;--price-pad:22px 14px}.sf02 .sf02-price-key{font-size:12px;gap:14px;line-height:1.6}.sf02 .sf02-price-key>span:last-child{padding-left:12px}.sf02 .mpg-rate-name{font-size:17px}.sf02 .mpg-rate{gap:14px;padding-block:23px}.sf02 .mpg-rate-price{gap:14px;padding-left:12px}.sf02 .mpg-rate-price>div+div{padding-top:14px}.sf02 .mpg-rate-price strong,.sf02 .mpg-rate-price b{font-size:23px} .sf02 .sf02-rate-photo{max-width:180px;margin-top:14px}.sf02 .mpg-rate-price span{font-size:12px}.sf02 .sf02-conditions{padding-top:30px}.sf02 .mpg-subhead h3{font-size:23px}.sf02 .mpg-subhead{display:block;margin-bottom:24px}.sf02 .mpg-subhead p{margin-top:12px}.sf02 .sf02-warranty{padding-top:32px;padding-bottom:55px}.sf02 .sf02-signs{gap:25px 18px}.sf02 .sf02-signs h3{font-size:16px;gap:7px;margin-top:16px}.sf02 .sf02-signs h3 span{font-size:12px}.sf02 .sf02-repair-options{grid-template-columns:1fr;gap:26px;padding-block:26px}.sf02 .sf02-repair-options>div+div{border-left:0;border-top:1px solid #c5d9ce;padding-left:0;padding-top:26px}.sf02 .sf02-repair-options h3{font-size:23px}.sf02 .sf02-repair>.sf02-content>.sf02-button{font-size:14px}.sf02 .sf02-repair>.sf02-content>.sf02-button .sf02-button-face{padding-left:20px;gap:12px}.sf02 .sf02-single{grid-template-columns:100px 1fr;gap:20px;margin-top:34px}.sf02 .sf02-single h3{font-size:19px}.sf02 .sf02-single p{font-size:15px}.sf02 .sf02-single .sf02-text-link{font-size:14px}.sf02 .sf02-photo-check{padding-top:30px}.sf02 .sf02-photo-tips{grid-template-columns:1fr;gap:28px}.sf02 .sf02-photo-tips article{display:grid;grid-template-columns:110px 1fr;gap:5px 22px;align-items:start}.sf02 .sf02-photo-tips article:nth-child(2){padding:0}.sf02 .sf02-photo-tips .sf02-scene-photo{grid-row:1/4;width:100%;margin:0}.sf02 .sf02-photo-tips h3{margin:3px 0 8px}.sf02 .sf02-photo-tips article>p:last-child{font-size:15px}.sf02 .sf02-process{grid-template-columns:1fr;gap:23px;margin-top:30px}.sf02 .sf02-process li{display:grid;grid-template-columns:45px 1fr;gap:10px 18px}.sf02 .sf02-process li>b{grid-row:1/3;margin:0}.sf02 .sf02-process strong{margin:0}.sf02 .sf02-process p{grid-column:2}.sf02 .sf02-inline-help h3{font-size:22px}.sf02 .sf02-craft{padding-top:30px;padding-bottom:45px}.sf02 .sf02-craft-top{grid-template-columns:1fr}.sf02 .sf02-craft-top .sf02-scene-photo{width:100%;margin:0}.sf02 .sf02-reasons{grid-template-columns:1fr;gap:25px;margin-top:34px}.sf02 .sf02-reasons article{gap:20px;padding-top:22px}.sf02 .sf02-reasons h3{font-size:21px}.sf02 .sf02-craft-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px}.sf02 .sf02-craft-details .sf02-scene-photo{width:100%}.sf02 .sf02-craft-details .sf02-scene-photo:nth-child(2){margin-top:30px}.sf02 .sf02-craft-details p{grid-column:1/-1;padding:0;font-size:15px}.sf02 .sf02-access{padding-top:48px}.sf02 .fca-company{font-size:24px}.sf02 .fca-actions{display:grid;gap:16px}.sf02 .fca-map-card{padding:20px}.sf02 .sf02-faq{padding-top:32px}.sf02 .sf02-faq-grid>div:first-child{grid-template-columns:1fr;gap:20px}.sf02 .sf02-faq-grid>div:first-child>.sf02-scene-photo{width:58%;justify-self:end}.sf02 .sf02-faq-list{--faq-inset:18px;--faq-gap:10px;--faq-badge:36px;--faq-toggle:32px}.sf02 .sf02-faq-item summary h3{font-size:16px}.sf02 .sf02-form{padding-top:32px;padding-bottom:55px}.sf02 .fpc-body{gap:30px}.sf02 .fpc-guide-list{grid-template-columns:1fr;gap:22px}.sf02 .fpc-guide-card{grid-template-columns:1fr 115px;gap:24px}.sf02 .fpc-form-wrap{padding:26px 20px;border-radius:20px}.sf02 .fpc-type-grid,.sf02 .fpc-place-grid{display:grid;grid-template-columns:1fr;width:100%}.sf02 .fpc-condition-grid{grid-template-columns:1fr;gap:10px}.sf02 .fpc-fields{grid-template-columns:1fr;gap:24px}.sf02 .fpc-group{margin-bottom:28px}.sf02 .fpc-label,.sf02 .fpc-field>label{font-size:16px}.sf02 .fpc-file-control{padding:16px 12px}.sf02 .fpc-file-control input{font-size:12px}.sf02 .fpc-file-control input::file-selector-button{padding:8px;margin-right:5px}.sf02 .fpc-submit{font-size:14px;padding:19px 14px}.sf02 .fpc-line{font-size:14px;padding-inline:12px}}
