
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/hanken-grotesk-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/hanken-grotesk-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
body{margin:0;background:#FAFAF7;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
::selection{background:#E9D7AE;color:#1C2B22}
button,a{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}

/* Layout */
.nav-links{display:flex}
.nav-burger{display:none}
.grab{display:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"text visual" "cta visual";column-gap:clamp(48px,8vw,128px);row-gap:48px;align-items:center}
.hero-text{grid-area:text;align-self:end}
.hero-visual{grid-area:visual}
.hero-cta{grid-area:cta;align-self:start}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.step-track{display:grid}
.step-num{display:none}
.intent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.contact-grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,96px);align-items:start}
.cf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px 32px}
.legal-cols{column-count:2;column-gap:44px}
.legal-cols > div{break-inside:avoid;margin-bottom:18px}

/* Bausteine */
.navlink{padding:10px 14px;border-radius:999px;transition:background .3s}
.btn{transition:transform .35s cubic-bezier(.2,.7,.2,1),background-size .55s cubic-bezier(.2,.7,.2,1),box-shadow .35s;cursor:pointer}
.btn:active{transform:scale(.98)}
.btn-dark{background:linear-gradient(#35574A,#35574A) 0 0/0% 100% no-repeat #22392D;color:#F1F2ED}
.btn-light{background:#FFFFFF;color:#1C2B22;border:1px solid rgba(28,43,34,.14)}
.btn-gold{background:linear-gradient(#F3E2C0,#F3E2C0) 0 0/0% 100% no-repeat #E6CFA3;color:#1C2B22}
.btn-ghost{border:1px solid rgba(245,241,232,.35);color:#F1F2ED}
.arr{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.tile{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;cursor:pointer;text-align:left;border:0}
.tile:active{transform:scale(.985)}
.tile .plus{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tile .tile-art{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.faq{transition:background .3s}
.intent-opt{cursor:pointer;transition:background .35s,color .35s,border-color .35s,box-shadow .35s,transform .35s cubic-bezier(.2,.7,.2,1)}
.intent-opt:active{transform:scale(.98)}
.closebtn{transition:background .25s,transform .35s}
.foot-link{background:none;border:0;padding:6px 0;cursor:pointer;text-align:left;color:#4C5448;font-size:15px;transition:color .25s;text-decoration:none}
.inline-link{background:none;border:0;padding:0;cursor:pointer;color:#1C2B22;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(28,43,34,.35)}
.menulink{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;border-bottom:1px solid rgba(28,43,34,.1);font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:34px;line-height:1.1}
.stepcard{transition:background .7s cubic-bezier(.2,.7,.2,1),color .7s,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s;cursor:pointer;border:0;text-align:left}
.stepnode{transition:background .6s,color .6s,border-color .6s,transform .6s cubic-bezier(.2,.7,.2,1)}
.stepfill{transition:width 1.1s cubic-bezier(.6,.05,.2,1)}
.contact-row{transition:background .3s}

.field{width:100%;height:54px;padding:0 16px;border-radius:14px;border:1px solid rgba(28,43,34,.16);background:#fff;font-size:16px;color:#1C2B22;transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
textarea.field{height:auto;padding:14px 16px;line-height:1.55;resize:vertical}
select.field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231C2B22' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:44px;cursor:pointer}
.field:focus{outline:none;border-color:#22392D;box-shadow:0 0 0 4px rgba(34,57,45,.1)}
.field::placeholder{color:#8A9086}
.check{width:20px;height:20px;margin:2px 0 0;accent-color:#22392D;flex-shrink:0;cursor:pointer}

@media (hover: hover){
  .navlink:hover{background:rgba(34,57,45,.07)}
  .btn:hover{transform:translateY(-2px)}
  .btn-dark:hover{background-size:100% 100%;color:#F1F2ED;box-shadow:0 12px 26px -16px rgba(34,57,45,.55)}
  .btn-light:hover{background:#fff;color:#1C2B22;box-shadow:0 12px 26px -20px rgba(28,43,34,.3)}
  .btn-gold:hover{background-size:100% 100%;color:#1C2B22}
  .btn-ghost:hover{background:rgba(245,241,232,.08);color:#F1F2ED}
  .btn:hover .arr{transform:translateX(4px)}
  .tile:hover{transform:translateY(-5px);box-shadow:0 16px 36px -28px rgba(28,43,34,.28)}
  .tile:hover .plus{transform:rotate(90deg)}
  .tile:hover .tile-art{transform:scale(1.05) rotate(-2deg)}
  .faq:hover{background:#FFFFFF}
  .intent-opt:hover{border-color:#22392D}
  .closebtn:hover{background:#E6ECE3;transform:rotate(90deg)}
  .foot-link:hover{color:#1C2B22}
  .parcel:hover{fill:rgba(230,207,163,.16)}
  .stepcard:hover{transform:translateY(-4px)}
  .contact-row:hover{background:#FFFFFF}
}

.legal h4{font-family:'Hanken Grotesk',sans-serif;font-size:15px;font-weight:600;margin:0 0 6px;color:#1C2B22}
.legal p{margin:0 0 8px}
.legal strong{font-weight:600;color:#1C2B22}

/* Flurkarte */
.parcel{fill:transparent;pointer-events:all;transition:fill .4s}
.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.6,.05,.2,1) forwards}
.d1{animation-delay:.2s}.d2{animation-delay:.45s}.d3{animation-delay:.7s}.d4{animation-delay:1s}
.fadein{opacity:0;animation:fade 1s ease forwards;animation-delay:1.7s}
.pulse{animation:pulse 2.8s ease-in-out infinite}
.float1{animation:fadeUp 1s 1.4s cubic-bezier(.2,.7,.2,1) both,float 6s 2.4s ease-in-out infinite}
.float2{animation:fadeUp 1s 1.8s cubic-bezier(.2,.7,.2,1) both,float 7s 2.8s ease-in-out infinite reverse}

@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:1}}
@keyframes pulse{50%{opacity:.3}}
@keyframes float{50%{transform:translateY(-10px)}}
@keyframes fadeUp{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
@keyframes lineUp{from{opacity:0;translate:0 40%}to{opacity:1;translate:0 0}}
@keyframes sheetUp{from{translate:0 100%}to{translate:0 0}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(34,57,45,.35)}100%{box-shadow:0 0 0 14px rgba(34,57,45,0)}}
@keyframes bar{from{width:0}to{width:100%}}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes popIn{from{opacity:0;scale:.6}to{opacity:1;scale:1}}

.rise{animation:fadeUp 1.1s cubic-bezier(.2,.7,.2,1) both}
.ln{display:block;animation:lineUp 1.2s cubic-bezier(.2,.7,.2,1) both}
.r1{animation-delay:.05s}.r2{animation-delay:.18s}.r3{animation-delay:.34s}.r4{animation-delay:.5s}.r5{animation-delay:.66s}
.swap{animation:fadeUp .6s cubic-bezier(.2,.7,.2,1) both}
.ringpulse{animation:ring 1.6s ease-out infinite}
.stepbar{animation:bar 2.8s linear both}
.bob{animation:bob 3.2s cubic-bezier(.45,0,.55,1) infinite}
.pop-in{animation:popIn .6s cubic-bezier(.2,.9,.3,1.3) both}

.overlay{animation:fade .35s ease forwards;opacity:0}
.sheet{animation:pop .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes pop{from{opacity:0;translate:0 24px;scale:.97}to{opacity:1;translate:0 0;scale:1}}

.mark{background-image:linear-gradient(#EAD6A8,#EAD6A8);background-repeat:no-repeat;background-position:0 88%;background-size:100% 42%;-webkit-box-decoration-break:slice;box-decoration-break:slice}

@supports (animation-timeline: view()){
  .reveal{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  .reveal-2{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 12% cover 30%}
  .reveal-3{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 24% cover 38%}
  .mark-line{view-timeline-name:--markline}
  .mark{animation:mark linear both;animation-timeline:--markline;animation-range:cover 30% cover 62%}
  .drift{animation:drift linear both;animation-timeline:scroll();animation-range:0 800px}
  .doc-in{animation:docIn linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
  .clip-in{animation:clipIn linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  .nav-pill{animation:navSolid linear both;animation-timeline:scroll();animation-range:0 220px}
  .nav-progress{animation:navProg linear both;animation-timeline:scroll();animation-range:0 100%}
  .stmt-sec{view-timeline-name:--stmt}
  .wd{animation:ink linear both;animation-timeline:--stmt}
  .wd-gold{animation-name:inkGold}
}
@keyframes mark{from{background-size:0% 42%}to{background-size:100% 42%}}
@keyframes ink{from{color:rgba(28,43,34,.18)}to{color:#1C2B22}}
@keyframes inkGold{from{color:rgba(133,100,47,.2)}to{color:#85642F}}
@keyframes drift{to{transform:translateY(60px) scale(1.06) rotate(3deg)}}
@keyframes docIn{from{rotate:-7deg;translate:0 60px;opacity:0}to{rotate:0deg;translate:0 0;opacity:1}}
@keyframes clipIn{from{clip-path:inset(14% 14% 14% 14% round 28px)}to{clip-path:inset(0 0 0 0 round 28px)}}
@keyframes navSolid{to{max-width:1080px;background:rgba(255,255,255,.95);border-color:rgba(28,43,34,.12);box-shadow:0 20px 50px -22px rgba(28,43,34,.42)}}
@keyframes navProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* FAQ Hover */
.faq{transition:background .3s,box-shadow .45s,translate .45s cubic-bezier(.2,.7,.2,1)}
.faq-q{transition:color .3s}
.faq-ic{transition:transform .45s cubic-bezier(.2,.7,.2,1),scale .45s cubic-bezier(.2,.7,.2,1)}
.totop .totop-ic,.totop span{transition:translate .35s cubic-bezier(.2,.7,.2,1)}
@media (hover: hover){
  .faq:hover{box-shadow:0 14px 34px -26px rgba(28,43,34,.35);translate:0 -2px}
  .faq:hover .faq-q{color:#85642F}
  .faq:hover .faq-ic{scale:1.12}
  .totop:hover span{translate:0 -3px}
}

/* Überschriften-Einblendung */
@keyframes headIn{from{opacity:0;translate:0 .35em}to{opacity:1;translate:0 0}}
@supports (animation-timeline: view()){
}

/* Bebauungsplan im Abschluss */
.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.dv{stroke-dasharray:1;stroke-dashoffset:0}
.fv{opacity:1}
@keyframes drawIn{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fadeInV{from{opacity:0}to{opacity:1}}
@supports (animation-timeline: view()){
  .cta-map{view-timeline-name:--ctamap}
  .dv{animation:drawIn linear both;animation-timeline:--ctamap;animation-range:entry 5% cover 40%}
  .dv2{animation-range:entry 15% cover 48%}
  .dv3{animation-range:entry 25% cover 55%}
  .fv{animation:fadeInV linear both;animation-timeline:--ctamap;animation-range:entry 35% cover 58%}
}

/* Einheitliche Überschriften-Komponente */
.head-block{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:clamp(40px,5vw,64px)}
.head-block h2{margin:0 !important}
.head-block p{margin:0 !important;max-width:560px;color:#5E6659;font-size:18px}

/* Tiefe */
.tile:not(.tile-big),.cf-card,.intent-panel,.faq{box-shadow:0 1px 2px rgba(28,43,34,.04),0 14px 34px -26px rgba(28,43,34,.24)}
.tile-big{box-shadow:0 30px 60px -36px rgba(28,43,34,.55)}
.band{position:relative;overflow:clip}
.band-inner{position:relative;z-index:1}
.band-art{position:absolute;right:-90px;top:-50px;width:640px;pointer-events:none}
.band-art-l{left:-120px;right:auto;top:auto;bottom:-80px}
@media (hover: hover){
  .faq:hover{box-shadow:0 1px 2px rgba(28,43,34,.04),0 18px 40px -24px rgba(28,43,34,.32)}
}
@media (max-width: 640px){
  .band-art{width:380px;right:-120px;top:-30px}
  .head-block p{font-size:17px}
}

/* Fakten */
.fact{display:inline-flex;align-items:center}
.fact + .fact::before{content:"";display:inline-block;width:1px;height:16px;background:rgba(28,43,34,.2);margin:0 22px}
/* Überschriften */
.hero-h1,.h2,h2,h3,.sheet-h,.step-title{letter-spacing:-0.032em !important}
.statement{letter-spacing:-0.022em !important}
/* Ameisenlinie im Plan */
@keyframes ants{to{stroke-dashoffset:-14}}
.ants{animation:ants 1.4s linear infinite}

/* Hero-Überschrift: immer zwei saubere Zeilen */
.hero-text{container-type:inline-size}
.hl{display:block}
.hl-in{display:block;white-space:nowrap;animation:hlUp 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes hlUp{from{opacity:0;translate:0 .3em}to{opacity:1;translate:0 0}}
.hl-in.r2{animation-delay:.15s}.hl-in.r3{animation-delay:.28s}
@supports (font-size: 1cqi){.hero-h1{font-size:clamp(30px,10.5cqi,80px) !important}}
.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#A07D45;margin-right:10px;vertical-align:1px;box-shadow:0 0 0 0 rgba(160,125,69,.45);animation:dotPulse 2.6s ease-out infinite}
@keyframes dotPulse{0%{box-shadow:0 0 0 0 rgba(160,125,69,.45)}70%,100%{box-shadow:0 0 0 9px rgba(160,125,69,0)}}
.map-pan{animation:mapPan 30s ease-in-out infinite alternate;transform-origin:50% 50%}
@keyframes mapPan{from{transform:translate(0,0) scale(1)}to{transform:translate(-3%,2%) scale(1.06)}}
.hero-card svg.map-pan{transition:translate .9s cubic-bezier(.2,.7,.2,1)}

/* Überschriften Wort für Wort */
.hw{view-timeline-name:--hw}
.wm{display:inline-block;vertical-align:top}
.wi{display:inline-block}
@keyframes wordUp{from{opacity:0;translate:0 .32em}to{opacity:1;translate:0 0}}
@supports (animation-timeline: view()){
  .wi{animation:wordUp linear both;animation-timeline:--hw}
}

/* Footer */
.foot-h{margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#D9BC8A}
.site-foot .foot-link{color:rgba(233,236,228,.72);font-size:15px;padding:5px 0;position:relative;width:fit-content}
.site-foot .foot-link::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:#D9BC8A;transition:right .45s cubic-bezier(.2,.7,.2,1)}
.foot-inner{container-type:inline-size}
.foot-mark{font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:clamp(24px,12.85cqi,184px);line-height:1.1;letter-spacing:-.055em;color:rgba(233,236,228,.075);white-space:nowrap;user-select:none;margin:0 0 clamp(14px,2cqi,30px) -.05em}
@supports (animation-timeline: view()){
  .foot-mark{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
}
@media (hover: hover){
  .site-foot .foot-link:hover{color:#FFFFFF}
  .site-foot .foot-link:hover::after{right:0}
  .totop:hover{border-color:rgba(233,236,228,.4)}
}

/* Großer Schriftzug im Ablauf-Band */
.band-mark-box{container-type:inline-size;margin:clamp(56px,7vw,96px) 0 calc(-1 * clamp(80px, 11vw, 150px))}
.band-mark{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:14.6cqi;line-height:.86;letter-spacing:-.055em;color:rgba(34,57,45,.055);white-space:nowrap;user-select:none;pointer-events:none;margin-left:-.04em;padding-bottom:0}
@supports (animation-timeline: view()){
  .band-mark{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
}
@keyframes markSlide{from{translate:-47% 0}to{translate:-53% 0}}

/* Hero-Feinschliff */
.hero-person img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover: hover){.hero-person:hover img{transform:scale(1.06)}}

/* Überschrift links, Einleitung rechts */
.head-split{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 48px}
.head-split p{max-width:400px !important;padding-bottom:.35em}
@media (max-width: 760px){
  .head-split{flex-direction:column;align-items:flex-start;gap:16px}
  .head-split p{padding-bottom:0}
}

/* Tablet */
@media (max-width: 900px){
  .nav-links{display:none !important}
  .nav-burger{display:flex !important}
  .hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "visual" "cta";row-gap:28px}
  .hero-text,.hero-cta{align-self:auto}
  .steps-grid{grid-template-columns:minmax(0,1fr)}
  .step-track{display:none !important}
  .step-num{display:flex !important}
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  .cta-grid{grid-template-columns:minmax(0,1fr)}
  .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot-brand{grid-column:1 / -1}
}

/* Phone */
@media (max-width: 640px){
  .h2,.sheet h3,h3{line-height:1.1 !important}
  .hero-h1{line-height:1.1 !important}
  body{font-size:16px}
  .logo-text{font-size:17px !important}
  .nav-pill{padding:8px 8px 8px 12px !important}
  .hero-card{border-radius:18px !important;aspect-ratio:1 / 0.92 !important}
  .float1{width:80% !important;left:5% !important;bottom:6% !important;padding:13px 15px !important;border-radius:18px !important}
  .float1 p{font-size:19px !important}
  .float2{top:6% !important;right:5% !important;padding:7px 13px 7px 7px !important}
  .float2 span:last-child{font-size:13px !important}
  .full-m{width:100%;justify-content:center}
  .trust{flex-direction:column;align-items:flex-start !important;gap:8px !important;border-top:0 !important;padding-top:8px !important}
  .fact + .fact::before{display:none}
  .statement{text-align:left !important}
  .statement-mark{justify-content:flex-start !important}
  .h2{font-size:42px !important}
  .intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intent-panel{border-radius:18px !important;padding:24px !important}
  .tile{min-height:240px !important;padding:24px !important;border-radius:18px !important}
  .tile-big{min-height:320px !important}
  .tile-big .tile-art{width:46% !important;top:80px !important;right:24px !important}
  .doc{padding:28px 22px 34px !important}
  .doc-sticker{right:16px !important;top:-18px !important}
  .faq-btn{padding:18px !important;font-size:17px !important}
  .faq-a p{padding:0 20px 20px 18px !important}
  .about{border-radius:30px !important}
  .portrait{aspect-ratio:1 / 1 !important;max-width:none !important}
  .cf-card{border-radius:18px !important;padding:22px !important}
  .cf-row{grid-template-columns:minmax(0,1fr)}
  .cta{border-radius:30px !important}
  .overlay{align-items:flex-end !important;padding:0 !important}
  .sheet{border-radius:18px 28px 0 0 !important;max-height:92vh !important;padding:20px 20px 32px !important;animation:sheetUp .45s cubic-bezier(.2,.8,.2,1) both !important}
  .grab{display:block !important}
  .sheet h3{font-size:38px !important}
  .legal-cols{column-count:1}
  .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot-grid > :nth-child(3){grid-column:1 / -1;order:5}
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
  .draw{stroke-dashoffset:0}
  .fadein,.overlay{opacity:1}
}

/* ---- Zustände der statischen Version ---- */
body{font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:17px;line-height:1.6;color:#1C2B22}
[hidden]{display:none !important}
.skip{position:absolute;left:16px;top:-60px;z-index:200;padding:12px 18px;border-radius:999px;background:#22392D;color:#F1F2ED;font-weight:600;transition:top .2s}
.skip:focus{top:12px;color:#F1F2ED}
:focus-visible{outline:2px solid #A07D45;outline-offset:3px}
.field:focus-visible{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.intent-opt{display:flex;align-items:center;gap:14px;min-height:64px;padding:0 20px;border-radius:14px;border:1.5px solid rgba(28,43,34,.14);background:#FFFFFF;color:#1C2B22;text-align:left;box-shadow:0 1px 2px rgba(28,43,34,.04),0 10px 26px -22px rgba(28,43,34,.25)}
.intent-opt.is-active{background:#22392D;color:#F1F2ED;border-color:#22392D;box-shadow:0 14px 30px -20px rgba(28,43,34,.5)}
.intent-dot{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(28,43,34,.3);display:flex;align-items:center;justify-content:center;transition:border-color .3s}
.intent-dot span{width:10px;height:10px;border-radius:50%;background:transparent;transition:background .3s}
.intent-opt.is-active .intent-dot{border-color:#E6CFA3}
.intent-opt.is-active .intent-dot span{background:#E6CFA3}
.intent-label{font-size:17px;font-weight:600}

.faq{border-radius:16px;background:rgba(255,255,255,.58)}
.faq.is-open{background:#FFFFFF}
.faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border:0;background:none;cursor:pointer;text-align:left;font-weight:600;min-height:44px;color:#1C2B22}
.faq-ic{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:#22392D;display:flex;align-items:center;justify-content:center}
.faq.is-open .faq-ic{transform:rotate(45deg)}
.faq-a p{margin:0;padding:0 72px 24px 24px;color:#4C5448;font-size:16px;line-height:1.7;animation:fadeUp .6s cubic-bezier(.2,.7,.2,1) both}

.stepnode{position:relative;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:#FFFFFF;color:#5E6659;border:1.5px solid rgba(28,43,34,.18)}
.stepnode.is-done{background:#22392D;color:#F1F2ED;border-color:#22392D}
.stepnode.is-current{transform:scale(1.1)}
.stepnode .ringpulse{position:absolute;inset:-1.5px;border-radius:50%;display:none}
.stepnode.is-current .ringpulse{display:block}
.stepcard{position:relative;overflow:hidden;border-radius:18px;padding:30px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:#FFFFFF;color:#1C2B22;box-shadow:0 1px 2px rgba(28,43,34,.04),0 14px 34px -26px rgba(28,43,34,.24)}
.stepcard.is-current{background:#22392D;color:#F1F2ED;box-shadow:0 24px 50px -32px rgba(28,43,34,.5)}
.step-ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#F1F2ED;transition:background .6s}
.step-ic path{stroke:#22392D;transition:stroke .6s}
.stepcard.is-current .step-ic{background:rgba(230,207,163,.16)}
.stepcard.is-current .step-ic path{stroke:#E6CFA3}
.step-num{width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;font-size:14px;font-weight:600;border:1.5px solid rgba(28,43,34,.18)}
.stepcard.is-current .step-num{border-color:rgba(241,242,237,.4)}
.step-title{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:30px;line-height:1.05;margin-bottom:8px}
.step-text{display:block;font-size:16px;line-height:1.55;opacity:.82}
.stepbar-wrap{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(230,207,163,.25);display:none}
.stepcard.is-current .stepbar-wrap{display:block}
.stepbar{display:block;height:100%;width:0;background:#E6CFA3}
.stepcard.is-current .stepbar{animation:bar 2.8s linear both}

.intent-point{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:14px;background:#F1F2ED}
.intent-point-n{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#FFFFFF;border:1px solid rgba(28,43,34,.12);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#85642F}
.intent-point-t{font-size:17px;line-height:1.4}

.cf-form{display:flex;flex-direction:column;gap:16px}
.cf-field{display:flex;flex-direction:column;gap:6px}
.cf-field > label{font-size:14px;font-weight:600}
.cf-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:#4C5448}
.cf-consent label{cursor:pointer}
.cf-err{font-size:13px;font-weight:500;color:#A3402E}
.field.is-invalid{border-color:#C2614D}
.cf-status{margin:0;padding:14px 16px;border-radius:14px;background:#FBEDEA;color:#7A2E21;font-size:14px}
.cf-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:6px}
.cf-submit{border:0;height:56px;padding:0 30px;border-radius:999px;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.cf-submit[disabled]{opacity:.7;cursor:progress}
.cf-success{min-height:360px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}
.cf-success-ic{width:64px;height:64px;border-radius:50%;background:#22392D;display:flex;align-items:center;justify-content:center}
.cf-success-h{margin:0;font-family:'Hanken Grotesk',sans-serif;letter-spacing:-.03em;font-weight:600;font-size:44px;line-height:1.05}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:clamp(72px,10vw,120px);color:rgba(34,57,45,.22);letter-spacing:-.04em}
.portrait.has-photo .portrait-fallback{display:none}
.modal-open{overflow:hidden}

.sheet-h{font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:clamp(36px,4.4vw,52px);line-height:1.04;letter-spacing:-.02em}
@media (max-width:640px){.sheet-h{font-size:36px !important}}
