:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
@font-face{font-family:'Ping Hebrew';src:url(../fonts/PingHebrew-Light.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Ping Hebrew';src:url(../fonts/PingHebrew-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Efrat Numerals';src:url(../fonts/EfratNumerals.woff2) format('woff2');font-weight:normal;font-display:swap}
@font-face{font-family:'Mugrabi Latin';src:url(../fonts/MugrabiDisplay-Light.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0041-005A,U+0061-007A}
/* Efrat Eisen · Brand language 2.0 — one deliberate light look */
:root{color-scheme:light;--paper:#f6f5eb;--paper2:#ebe9dc;--red:#ca3922;--sky:#abbce6;--ink:#1f1e1a;--ink2:#3d3b35;--mut:#6b6860;--line:#dcd9cc;--ok:#2f7a1a}
html,body{background:var(--paper);color:var(--ink)}
body{margin:0}
.root{--lat:'Mugrabi Latin';font-family:var(--lat),'Ping Hebrew','Noto Sans Hebrew',system-ui,sans-serif;font-weight:300;text-align:right;color:var(--ink);background:var(--paper);padding-bottom:env(safe-area-inset-bottom,0px)}
.root *{box-sizing:border-box}
.wrap{max-width:780px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:22px}
.wrap.row{flex-direction:row;align-items:center}
section{padding-block:64px;position:relative}
.paper{background:var(--paper)}.paper2{background:var(--paper2)}.red{background:var(--red)}.sky{background:var(--sky)}
p{margin:0;text-wrap:pretty}
b{font-weight:700;color:var(--ink)}
h1,h2,h3{margin:0;font-weight:700;color:var(--ink);text-wrap:balance}
.display{font-size:clamp(46px,12vw,80px);line-height:1.08}
h2{font-size:clamp(32px,8vw,48px);line-height:1.15}
h3{font-size:22px;line-height:1.25}
.lat{font-family:var(--lat),'Efrat Numerals',serif;font-weight:300}
.lead{font-size:20px;line-height:1.6;color:var(--ink2)}
.body{font-size:18px;line-height:1.6;color:var(--ink2)}
.body.b{font-weight:700;color:var(--ink)}
.big{font-size:21px;line-height:1.5;font-weight:700;color:var(--ink)}
.small{font-size:14px;color:var(--mut)}
.small-b{font-size:16px;font-weight:700;color:var(--mut)}
.stack{display:flex;flex-direction:column;gap:2px}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;padding-block:10px;background:rgba(246,245,235,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line)}
.root::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:31;background:var(--paper)}
.top .wrap{justify-content:space-between;gap:12px}
.btn.sm{min-height:48px;padding:6px 18px 6px 6px;gap:10px;font-size:15px;align-self:center}
.btn.sm .btn-ic,.btn.sm .btn-ic svg,.btn.sm .btn-ic::after{width:36px;height:36px;flex-basis:36px}
.btn.sm::before{left:6px;width:36px;height:36px}
.logo{height:30px;width:auto;display:block;flex:0 1 auto;min-width:0;object-fit:contain;object-position:right}
.hero{padding-top:36px}

/* eyebrow: 02 / COLOR + red dot */
.eyebrow{display:flex;align-items:center;gap:12px}
.eyebrow .lat{font-size:19px;letter-spacing:3px;color:var(--ink);direction:ltr}
.dot{width:12px;height:12px;border-radius:50%;background:var(--red);flex:0 0 12px}

/* brand shapes: drawn by page2.js as clip-paths (cut corner, top notch, top step) */
.shape{position:relative;border-radius:18px}
.shape[data-shape]{border-radius:0}
.shape-wrap{position:relative}
.corner-arrow{position:absolute;left:0;top:0;width:clamp(56px,14vw,84px);height:auto;z-index:2}

.patband{height:clamp(120px,32vw,210px);background-repeat:repeat;background-size:clamp(220px,46vw,340px) auto;background-position:center}
.patband.tall{height:clamp(160px,42vw,280px)}
section>.patband{margin:-64px 0 56px}
.patfill{background-repeat:repeat;background-size:clamp(200px,40vw,300px) auto;background-position:center}
/* hero visual */
.hero-vis .shape{aspect-ratio:16/11}

/* tasks crossed with X */
.tasks{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.task{position:relative;min-height:84px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 14px 14px 40px;background:var(--paper);border-radius:18px;font-size:18px;font-weight:700;color:var(--ink);opacity:0;transform:translateY(14px)}
.task .x{position:absolute;top:10px;left:10px;width:26px;height:26px}
.task .x path{fill:none;stroke:var(--red);stroke-width:5;stroke-linecap:round;stroke-dasharray:70;stroke-dashoffset:70}
.tasks.go .task{animation:taskIn .5s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--d) * .3s)}
.tasks.go .task .x path{animation:draw .45s ease forwards;animation-delay:calc(var(--d) * .3s + 2.1s)}
.tasks.go .task .task-t{animation:fadeT .4s ease forwards;animation-delay:calc(var(--d) * .3s + 2.1s)}
@keyframes taskIn{to{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeT{to{opacity:.4;text-decoration:line-through;text-decoration-color:var(--red)}}

/* essence card */
.pad-xl{padding:72px 26px 56px;display:flex;flex-direction:column;gap:14px;min-height:300px;justify-content:flex-end}
.tag{font-size:clamp(34px,9vw,52px);letter-spacing:4px;color:var(--paper);direction:ltr;text-align:right;line-height:1}
.essence{font-size:clamp(28px,7.4vw,44px);line-height:1.15;font-weight:700;color:var(--paper)}
.essence b{color:var(--paper)}

/* about */
.sym{display:flex;justify-content:center;align-items:center;padding:64px 24px 40px;min-height:280px}
.sym img{width:150px;height:auto}

/* placeholders + case */
.ph{border:2px dashed #8fa3d6;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.6;color:#41548a;background:rgba(171,188,230,.18)}
.case{padding:56px 22px 24px;display:flex;flex-direction:column;gap:14px}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.tile{background:var(--paper2);border-radius:14px;padding:14px}

/* method cards 1/3 2/3 3/3 */
.mcards{display:flex;flex-direction:column;gap:14px}
.mcard{min-height:340px;padding:28px 24px 26px 74px;display:flex;flex-direction:column;gap:10px}
.mcard .frac{font-size:84px;line-height:1;direction:ltr;text-align:right}
.mcard-b{margin-top:auto;display:flex;flex-direction:column;gap:6px}
.mcard h3{font-size:28px}
.mcard .q{font-size:16px;opacity:.85}
.vword{position:absolute;left:22px;bottom:26px;width:34px;height:180px;font-family:'Mugrabi Latin','Efrat Numerals',serif}
.on-light .frac,.on-light h3{color:var(--red)}
.on-red .frac,.on-red h3,.on-red .body,.on-red b{color:var(--paper)}
.on-sky .frac{color:var(--ink)}
.on-sky .body{color:var(--ink)}
.mcard[data-shape="notch"],.mcard[data-shape="steptop"]{padding-top:52px}
.mcard[data-shape="cut"]{padding-top:40px}

/* values cards 01-04 */
.vcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.vcard{min-height:300px;padding:52px 24px 26px;display:flex;flex-direction:column;gap:8px}
.vnum{font-size:64px;line-height:1;color:var(--ink);direction:ltr;text-align:right}
.spacer{flex:1;min-height:20px}
.vtitle{font-size:26px;line-height:1.2;font-weight:700;color:var(--ink)}
.vtitle b{color:inherit}
.vcard.on-red .vnum,.vcard.on-red .vtitle{color:var(--paper)}

/* option cards 01 / 02 */
.ocards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.ocard{padding:56px 24px 28px;display:flex;flex-direction:column;gap:14px}
.onum{font-size:72px;line-height:1;direction:ltr;text-align:right;color:var(--ink)}
.red-t{color:var(--red)}
.otitle{font-size:21px;line-height:1.4;font-weight:700}
.otitle b{color:inherit}
ul.dots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
ul.dots li{position:relative;padding-right:22px;font-size:18px;line-height:1.55;color:var(--ink2)}
ul.dots li::before{content:"";position:absolute;right:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--red)}
ul.dots.ink li{color:var(--ink)}ul.dots.ink li::before{background:var(--ink)}

/* say-it rows (process) */
.srows,.prows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.srow{display:flex;gap:16px;align-items:flex-start;padding:22px 20px;background:var(--paper);border-radius:18px}
.srow.alt{background:transparent;box-shadow:inset 0 0 0 2px var(--line)}
.sic{flex:0 0 46px;width:46px;height:46px;display:flex}
.sic svg{width:46px;height:46px}
.sic .c{fill:var(--red)}.sic .a{fill:none;stroke:var(--paper);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sb{display:flex;flex-direction:column;gap:4px;min-width:0}
.sh{font-size:20px;font-weight:700;line-height:1.4;color:var(--ink)}

/* price rows: cost -> saves */
.prow{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:12px;padding:20px 16px;background:var(--paper2);border-radius:18px}
.prow.alt{background:var(--paper);box-shadow:inset 0 0 0 2px var(--paper2)}
.prow .sic{flex-basis:44px;width:44px;height:44px}.prow .sic svg{width:44px;height:44px}
.pa{font-size:19px;line-height:1.35;font-weight:700;color:var(--ink)}
.pb{font-size:16px;line-height:1.5;color:var(--ink2)}

/* big idea frame */
.bigidea{padding:78px 26px 34px}
.bigidea .body{font-size:22px;line-height:1.5;color:var(--ink)}
.bigidea b{font-size:26px;display:inline-block;margin-bottom:4px}

/* calc */
.calc{padding:52px 22px 24px;display:flex;flex-direction:column;gap:12px}
.calc-q{font-size:21px;font-weight:700}
.field{display:flex;align-items:center;gap:10px}
.field input{flex:1;min-width:0;min-height:58px;padding:10px 18px;border:0;border-radius:14px;background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);font-family:inherit;font-size:20px;font-weight:700;color:var(--ink);text-align:right}
.field input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ink)}
.field span{font-size:20px;font-weight:700}
.hl{display:inline-block;min-width:1.6em;padding:0 8px;border-radius:999px;background:var(--red);color:var(--paper)!important;text-align:center}

/* price */
.price{padding:54px 22px 24px;display:flex;flex-direction:column;gap:12px}
.price hr{border:0;border-top:2px solid var(--paper2);margin:6px 0}
.price-n{font-size:clamp(32px,8.4vw,44px);line-height:1.15;font-weight:700;color:var(--ink)}
.price-n.was{font-size:24px;color:var(--mut);text-decoration:line-through;text-decoration-color:var(--red)}
.badge{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:10px 16px;border-radius:999px;background:var(--paper2);font-size:16px;font-weight:700;line-height:1.4}
.badge.no{box-shadow:inset 0 0 0 2px var(--red)}
.badge.ok{box-shadow:inset 0 0 0 2px var(--ok)}
.bi{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.no .bi{background:var(--red)}.ok .bi{background:var(--ok)}
.bi svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.nw{white-space:nowrap}
#sp-notfrom{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.mini{display:inline-flex;padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--paper2);font-weight:700;text-decoration:none;font-size:16px}
.deal{padding:72px 26px 30px;display:flex;flex-direction:column;gap:4px}
.deal p,.deal b{color:var(--paper)}

/* faq */
.faqs{display:flex;flex-direction:column;gap:8px}
.faq{background:var(--paper);border-radius:18px;padding:0 20px}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;padding:18px 0;font-size:19px;line-height:1.35;font-weight:700;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.plus{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--red);position:relative;transition:transform .3s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.5px;border-radius:2px;background:var(--paper);transform:translate(-50%,-50%)}
.plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s}
.faq[open] .plus{transform:rotate(180deg)}
.faq[open] .plus::after{transform:translate(-50%,-50%) rotate(0)}
.ans{display:flex;flex-direction:column;gap:12px;padding:0 0 22px}

/* final */
.final{padding-top:0}
.final>.patband{margin:0 0 48px}
.final-card{padding:72px 26px 34px;display:flex;flex-direction:column;gap:16px}
.final-card h2,.final-card .body,.final-card .big,.final-card b{color:var(--paper)}

/* buttons — brand pill: circle + arrow at the leading-left, label */
.btn{--bg:var(--ink);--fg:var(--paper2);--cbg:var(--red);--arw:var(--ink);position:relative;overflow:hidden;isolation:isolate;display:inline-flex;flex-direction:row-reverse;align-items:center;gap:20px;align-self:flex-start;max-width:100%;min-height:68px;padding:9px 34px 9px 9px;background:var(--bg);color:var(--fg);border-radius:999px;text-decoration:none;font-family:inherit;font-weight:700;font-size:19px;line-height:1.2;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.btn-ic{flex:0 0 50px;width:50px;height:50px;display:flex;border-radius:50%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.btn-ic svg{width:50px;height:50px;overflow:visible}
.btn-ic .c{fill:var(--cbg);transition:r .45s cubic-bezier(.2,.8,.2,1)}
.btn-ic .a{fill:none;stroke:var(--arw);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;animation:arrowNudge 2.8s cubic-bezier(.4,0,.2,1) infinite}
.btn-t{position:relative;z-index:1}
/* liquid fill from the circle on hover */
.btn::before{content:"";position:absolute;z-index:-1;left:9px;top:50%;width:50px;height:50px;border-radius:50%;background:var(--cbg);transform:translateY(-50%) scale(1);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.btn:hover::before,.btn:focus-visible::before{transform:translateY(-50%) scale(14)}
.btn:hover,.btn:focus-visible{color:var(--hfg,var(--paper));transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(31,30,26,.55)}
.btn:hover .btn-ic,.btn:focus-visible .btn-ic{transform:translateX(-6px)}
.btn:hover .btn-ic .c{fill:var(--bg)}
.btn:hover .btn-ic .a{stroke:var(--cbg);animation:none}
.btn:active{transform:scale(.97)}
.btn.on-red{--bg:var(--paper);--fg:var(--red);--cbg:var(--ink);--arw:var(--sky);--hfg:var(--paper)}
@keyframes arrowNudge{0%,62%,100%{transform:translateX(0)}74%{transform:translateX(-5px)}86%{transform:translateX(1px)}}
/* soft breathing ring to invite the tap */
.btn-ic::after{content:"";position:absolute;width:50px;height:50px;border-radius:50%;box-shadow:0 0 0 0 rgba(202,57,34,.45);animation:ring 2.8s ease-out infinite}
.btn-ic{position:relative}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(202,57,34,.45)}70%,100%{box-shadow:0 0 0 12px rgba(202,57,34,0)}}
.btn.on-red .btn-ic::after{animation:none}
.btn:focus-visible,.mini:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:3px}

/* sticky */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(246,245,235,.92);backdrop-filter:blur(8px);transform:translateY(110%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.sticky.show{transform:none}
.sticky .btn{align-self:center;min-height:62px}

@media (min-width:760px){
 section{padding-block:96px}
 section>.patband{margin:-96px 0 72px}
 .mcards{flex-direction:row}.mcard{flex:1}
}
@media (prefers-reduced-motion:reduce){
 .task{opacity:1;transform:none}
 .tasks.go .task,.tasks.go .task .x path,.tasks.go .task .task-t{animation-duration:.01s;animation-delay:0s}
 .btn-ic .a,.btn-ic::after{animation:none}
 .btn,.btn::before,.btn-ic,.sticky{transition:none}
}

.btn{white-space:nowrap}
.top .btn.sm{font-size:14px;padding-right:14px}
.logo{height:26px}
.mcard[data-shape="cut"],.ocard[data-shape="cut"]{padding-bottom:62px}
.final-card,.deal{padding-bottom:58px}
.prow{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"pa pa" "ic pb";row-gap:10px}
.prow .pa{grid-area:pa}.prow .sic{grid-area:ic}.prow .pb{grid-area:pb;font-size:17px}
@media (min-width:600px){.prow{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);grid-template-areas:"pa ic pb"}}
/* pattern used sparingly: thin strips */
.patband,.patband.tall{height:clamp(52px,13vw,76px);background-size:clamp(150px,30vw,210px) auto}
section>.patband{margin:-64px 0 44px}
.final>.patband{margin:0 0 44px}
.hero-vis .shape{aspect-ratio:auto;height:clamp(120px,30vw,180px)}
.hero-vis .patfill{background-size:clamp(170px,34vw,240px) auto}
@media (min-width:760px){section>.patband{margin:-96px 0 64px}}

/* single pattern pieces as accents */
.wrap{position:relative}
.deco{position:absolute;left:max(20px,env(safe-area-inset-left,0px));top:-6px;width:clamp(54px,14vw,84px);height:auto;transform:rotate(var(--rot,0deg));transition:transform .2s linear;pointer-events:none}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.plist li{display:flex;gap:14px;align-items:flex-start;font-size:18px;line-height:1.55;color:var(--ink)}
.pb-ic{flex:0 0 24px;width:24px;height:24px;margin-top:3px;transform:rotate(var(--rot,0deg))}
/* accents sit in the empty band above the eyebrow, never over text */
.deco{top:-50px;left:max(14px,env(safe-area-inset-left,0px));width:40px}
@media (min-width:760px){.deco{top:-70px;width:56px}}
/* the brand has no shadows */
.btn,.btn:hover,.btn:focus-visible{box-shadow:none}
.btn-ic::after{content:none}
.top{box-shadow:none;border-bottom:1px solid var(--line)}

/* about: the symbol card sits at the side of the heading */
.about-head{display:flex;align-items:flex-start;gap:16px}
.about-head h2{flex:1;min-width:0}
.about-head .sym{flex:0 0 clamp(96px,26vw,150px);min-height:0;aspect-ratio:4/5;padding:40px 14px 14px}
.about-head .sym img{width:100%;max-width:90px}
.about-head .sym{flex-basis:clamp(80px,21vw,140px);padding:34px 12px 12px}
.about-head h2{font-size:clamp(28px,7.2vw,48px)}

/* gold cards: light at rest, red on hover */
.vcard{transition:background-color .35s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.vcard .vnum,.vcard .vtitle,.vcard .body{transition:color .35s ease}
.vcard .vtitle,.vcard .body{color:var(--ink)}
@media (hover:hover){
 .vcard:hover{background:var(--red);transform:translateY(-4px)}
 .vcard:hover .vnum,.vcard:hover .vtitle,.vcard:hover .body,.vcard:hover b{color:var(--paper)}

 /* more hover throughout */
 .mcard,.ocard,.task,.srow,.prow,.faq,.tile,.calc,.price,.case{transition:transform .35s cubic-bezier(.2,.8,.2,1),background-color .3s ease}
 .mcard:hover,.ocard:hover{transform:translateY(-6px)}
 .mcard:hover .vword{transform:translateY(-10px);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
 .vword{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
 .ocard li{transition:transform .25s ease}
 .ocard li:hover{transform:translateX(-6px)}
 .task:hover{transform:scale(1.04)}
 .srow:hover{background:var(--sky)}
 .srow .sic,.prow .sic{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
 .srow:hover .sic,.prow:hover .sic{transform:translateX(-8px)}
 .prow:hover{background:var(--sky)}
 .faq:hover{background:#fbfaf3}
 .faq summary:hover .plus{transform:scale(1.12)}
 .faq[open] summary:hover .plus{transform:rotate(180deg) scale(1.12)}
 .tile:hover{background:var(--sky)}
 .plist li .pb-ic{transition:transform .35s ease}
 .plist li:hover .pb-ic{transform:rotate(90deg) scale(1.2)}
 .mini{transition:background-color .3s ease}
 .mini:hover{background:var(--red)}
 .logo{transition:transform .35s ease}
 .logo:hover{transform:scale(1.04)}
}

/* full-screen layout */
.wrap{max-width:1280px;padding-left:max(24px,env(safe-area-inset-left,0px),4vw);padding-right:max(24px,env(safe-area-inset-right,0px),4vw)}
.body,.lead,.big,.plist li,ul.dots li{max-width:70ch}
.grid2{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.grid2 .col{display:flex;flex-direction:column;gap:22px}
.hero-t{display:flex;flex-direction:column;gap:22px}
@media (min-width:1000px){
 section{padding-block:110px}
 section>.patband{margin:-110px 0 80px}
 .display{font-size:clamp(72px,7vw,112px)}
 h2{font-size:clamp(44px,4vw,60px)}
 .body{font-size:20px}.lead{font-size:23px}.big{font-size:24px}
 .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
 .hero-vis .shape{height:clamp(300px,30vw,440px)}
 .hero-vis .patfill{background-size:300px auto}
 .tasks{grid-template-columns:repeat(6,minmax(0,1fr))}
 .task{min-height:120px;font-size:19px}
 .grid2{grid-template-columns:1fr 1fr;gap:28px}
 .vcards{grid-template-columns:repeat(4,minmax(0,1fr))}
 .vcard{min-height:420px}
 .mcard{min-height:440px}
 .mcard .frac{font-size:110px}
 .ocards{grid-template-columns:1fr 1fr}
 .srows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .srow{flex-direction:column}
 .prows{display:grid;grid-template-columns:1fr 1fr;gap:14px}
 .plist{display:grid;grid-template-columns:1fr 1fr;gap:18px 48px}
 .faqs{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
 .pad-xl{min-height:380px;padding:90px 60px 70px}
 .final-card{padding:100px 60px 80px}
 .about-head .sym{flex-basis:200px}
 .case{padding:64px 40px 32px}
 .deal .price-n,.price .price-n{font-size:52px}
 .about-head h2{font-size:clamp(44px,4vw,60px)}
 .deco{width:64px}
}

.display{font-size:clamp(38px,9.6vw,64px)}
@media (min-width:1000px){.display{font-size:clamp(56px,5.2vw,84px)}}
/* EISE-WORK card: compact */
.pad-xl{min-height:0;padding:56px 24px 52px;gap:8px}
.pad-xl .tag{font-size:clamp(26px,6.4vw,38px)}
.pad-xl .essence{font-size:clamp(22px,5.6vw,32px)}
@media (min-width:1000px){.pad-xl{min-height:0;padding:64px 48px 58px}}

/* about: column 1 symbol + heading, column 2 text */
.about{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
.about-a{display:flex;flex-direction:column;gap:22px}
.about-a .sym{width:clamp(130px,36vw,260px);min-height:0;aspect-ratio:4/5;padding:44px 20px 20px}
.about-a .sym img{width:70%;max-width:150px}
.about-b{display:flex;flex-direction:column;gap:18px}
@media (min-width:760px){.about{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}.about-a{position:sticky;top:110px}}

/* for whom: cards */
.fitcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.fitcard{background:var(--paper);border-radius:18px;padding:24px 22px;display:flex;flex-direction:column;gap:18px;min-height:170px;transition:background-color .35s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.fitcard p{font-size:19px;line-height:1.5;color:var(--ink);max-width:none}
.fc-ic{width:40px;height:40px;transform:rotate(var(--rot,0deg))}
.fc-ic path{transition:fill .35s ease}
@media (hover:hover){
 .fitcard:hover{background:var(--red);transform:translateY(-4px)}
 .fitcard:hover p{color:var(--paper)}
 .fitcard:hover .fc-ic path{fill:var(--paper)}
}
@media (min-width:1000px){.fitcards{grid-template-columns:repeat(3,minmax(0,1fr))}.fitcard{min-height:220px}}
@media (max-width:999px){.fitcard{min-height:0;flex-direction:row;align-items:flex-start;gap:16px;padding:20px}.fc-ic{flex:0 0 32px;width:32px;height:32px}}

/* calculator tabs */
.tabs{display:flex;gap:8px;max-width:760px}
.panel[hidden]{display:none!important}
@media (max-width:560px){.tabs .tab{flex:1;font-size:15px;padding:10px 12px}}
.tab{appearance:none;border:0;cursor:pointer;font-family:inherit;font-weight:700;font-size:17px;min-height:50px;padding:10px 22px;border-radius:999px;background:var(--paper2);color:var(--ink);transition:background-color .3s ease,color .3s ease,transform .3s ease}
.tab.on{background:var(--ink);color:var(--paper2)}
.tab:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
@media (hover:hover){.tab:not(.on):hover{background:var(--red);color:var(--paper)}}
.panels{position:relative;max-width:760px}
.panel{animation:panelIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.panel{animation:none}}

/* ===================================================================
   Additions (server build) — built from the same tokens and parts
   =================================================================== */
/* pattern backgrounds (were inline styles; moved here for CSP) */
.pat-hero{background-image:url(../assets/pattern-hero.svg)}
.pat-band{background-image:url(../assets/pattern-band.svg)}
.pat-final{background-image:url(../assets/pattern-final.svg)}
.task.d0{--d:0}.task.d1{--d:1}.task.d2{--d:2}.task.d3{--d:3}.task.d4{--d:4}.task.d5{--d:5}
/* crossed-out tasks stay readable (AA): muted ink instead of 40% opacity */
@keyframes fadeT{to{color:var(--mut);text-decoration:line-through;text-decoration-color:var(--red)}}
.sky .small{color:var(--ink2)}
.on-red .q{opacity:1}

/* accessibility */
.skip{position:absolute;top:8px;right:8px;z-index:100;padding:12px 20px;border-radius:999px;background:var(--ink);color:var(--paper2);font-weight:700;text-decoration:none;transform:translateY(-200%)}
.skip:focus{transform:none;outline:3px solid var(--sky);outline-offset:3px}
.root a:focus-visible,.root button:focus-visible,.root input:focus-visible,.root textarea:focus-visible,.root summary:focus-visible,.root [tabindex]:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.sky a:focus-visible,.sky button:focus-visible,.red a:focus-visible,.red button:focus-visible,.foot a:focus-visible{outline-color:var(--ink)}
.foot a:focus-visible{outline-color:var(--sky)}
.btn:focus-visible,.mini:focus-visible,.tab:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.btn.on-red:focus-visible{outline-color:var(--paper)}
.field input:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
main:focus{outline:none}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* header link to home */
.logo-link{display:block;flex:0 1 auto;min-width:0;border-radius:6px}
.logo-link .logo{max-width:100%}

/* footer */
.foot{background:var(--ink);color:var(--paper2);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));font-size:15px;line-height:1.6}
.foot .wrap{flex-direction:column;gap:6px}
.foot p{margin:0;color:var(--paper2)}
.foot a{color:var(--paper2);text-decoration:underline;text-underline-offset:3px;border-radius:4px}
.foot a:hover{color:var(--sky)}
.foot-nav{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.foot-sep{opacity:.7}
@media (min-width:1000px){.foot .wrap{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 32px}.foot .foot-credit{margin-inline-start:auto}}

/* client cases */
.cases{display:flex;flex-direction:column;gap:18px}
.case-status{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;padding:6px 16px;border-radius:999px;background:var(--paper2);font-size:15px;font-weight:700;color:var(--ink)}
.case-status::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ok)}
.case-status.building::before{background:var(--red)}
.case-status.planned::before{background:var(--ink)}
.case-sub{margin:6px 0 0;font-size:19px;line-height:1.4;font-weight:700;color:var(--ink)}
.case .dots li b{color:var(--ink)}
.case-quote{margin:4px 0 0;padding:20px 22px;border-radius:18px;background:var(--sky)}
.case-quote p{font-size:19px;line-height:1.55;font-weight:700;color:var(--ink)}
.case-quote footer{margin-top:6px;font-size:15px;color:var(--ink)}
.gallery{list-style:none;margin:0;padding:0 0 6px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.gallery li{flex:0 0 82%;scroll-snap-align:start}
.shot{display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--paper2);cursor:zoom-in;line-height:0}
.shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}
@media (min-width:760px){.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding:0}.gallery li{flex:none}}
@media (min-width:1000px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (hover:hover){.shot img{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.shot:hover img{transform:scale(1.03)}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px 16px;background:rgba(31,30,26,.92)}
.lb[hidden]{display:none}
.lb-fig{margin:0;display:flex;flex-direction:column;gap:12px;align-items:center;max-width:min(1200px,100%);max-height:100%}
.lb-img{max-width:100%;max-height:calc(100vh - 140px);border-radius:14px;background:var(--paper)}
.lb-cap{color:var(--paper2);font-size:16px;line-height:1.5;text-align:center}
.lb-bar{position:absolute;top:max(12px,env(safe-area-inset-top,0px));left:12px;right:12px;display:flex;justify-content:space-between;gap:8px}
.lb-btn{appearance:none;border:0;cursor:pointer;min-width:48px;min-height:48px;padding:0 16px;border-radius:999px;background:var(--paper);color:var(--ink);font-family:inherit;font-weight:700;font-size:16px}
.lb-btn:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.lb-nav{display:flex;gap:8px}
.no-scroll{overflow:hidden}

/* subpages */
.page-head{padding-top:48px;padding-bottom:24px}
.page-head .display{font-size:clamp(34px,8.6vw,56px)}
.legal{padding-top:8px}
.legal .wrap{max-width:900px;gap:16px}
.legal h2{font-size:clamp(24px,6vw,32px);margin-top:18px}
.legal .body a{color:var(--ink);text-underline-offset:3px}
.legal .updated{margin-top:12px}

/* booking form */
.booking .wrap{max-width:900px}
.form-card{padding:56px 22px 34px;display:flex;flex-direction:column;gap:22px}
@media (min-width:760px){.form-card{padding:64px 44px 44px}}
.fg{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0;min-width:0}
.fg>label,.fg legend{font-size:18px;font-weight:700;color:var(--ink);padding:0;line-height:1.4}
.fg legend{margin-bottom:8px}
.req{color:var(--red);margin-inline-start:4px}
.inp{width:100%;min-height:56px;padding:12px 18px;border:2px solid var(--line);border-radius:14px;background:var(--paper);font-family:inherit;font-size:18px;font-weight:300;color:var(--ink);text-align:right}
textarea.inp{min-height:140px;resize:vertical;line-height:1.5}
.inp[type=tel],.inp[type=email]{direction:ltr;text-align:right}
.inp::placeholder{color:var(--mut);opacity:1}
.inp:focus{border-color:var(--red);outline:3px solid var(--red);outline-offset:2px}
.inp[aria-invalid=true]{border-color:var(--red)}
.counter{font-size:14px;color:var(--ink2);align-self:flex-end}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;justify-content:center;min-height:52px;min-width:72px;padding:10px 22px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);font-size:17px;font-weight:700;color:var(--ink);cursor:pointer;transition:background-color .25s ease,color .25s ease}
.chip input:checked+span{background:var(--ink);color:var(--paper2);box-shadow:none}
.chip input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}
@media (hover:hover){.chip input:not(:checked)+span:hover{background:var(--sky)}}
.err{display:flex;gap:8px;align-items:flex-start;font-size:16px;font-weight:700;color:var(--ink);line-height:1.4}
.err::before{content:"!";flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--red);color:var(--paper);font-size:14px;display:flex;align-items:center;justify-content:center}
.err:empty{display:none}
.check{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.5;color:var(--ink);cursor:pointer}
.check input{flex:0 0 26px;width:26px;height:26px;margin:1px 0 0;accent-color:var(--red);cursor:pointer}
.check input:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.notice{font-size:15px;line-height:1.6;color:var(--ink2)}
.notice a{color:var(--ink);text-underline-offset:3px}
.power-note{background:var(--paper)}
.form-actions{display:flex;flex-direction:column;gap:14px}
.form-actions .btn{border:0;cursor:pointer}
.result{display:flex;flex-direction:column;gap:18px}
.result .btns{display:flex;flex-wrap:wrap;gap:12px}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.form-card-in{display:flex;flex-direction:column;gap:24px}
/* numeric ranges (2–5, 6–15) must read left-to-right inside RTL */
.chip span{direction:ltr}
/* long CTA label inside the narrow form card: allow wrapping instead of clipping */
.form-actions .btn{white-space:normal;text-align:right;gap:14px;padding-right:26px}
.counter{direction:ltr}
