/* Noto Sans Hebrew, self-hosted (SIL OFL 1.1, see fonts/OFL.txt) */
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/noto-sans-hebrew-hebrew.woff2) format("woff2");unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F}
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/noto-sans-hebrew-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/noto-sans-hebrew-latin.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}
:root{--font-site:"Noto Sans Hebrew",sans-serif;--ink:#191F2A;--muted:#697062;--soft:#F7FAEE;--line:#E3E8D9;--white:#FFFFFF;--deep:#151B25;--lime:#E5FF82;--cta-accent:#E5FF82}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:400 18px/1.65 var(--font-site)}button,a{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-site)}h2{font-size:48px;font-weight:400;line-height:1.25;letter-spacing:-1.3px}h3{font-size:27px;font-weight:500;line-height:1.4}p{color:var(--muted)}.shell{width:calc(100% - 128px);max-width:1200px;margin-inline:auto}.header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:var(--font-site);font-size:19px;font-weight:500}.brand-mark{display:grid;grid-template-columns:5px 5px;gap:3px;direction:ltr}.brand-mark i{width:5px;height:5px;background:var(--ink)}.contact-link{border:0;background:none;display:flex;align-items:center;gap:22px;font-weight:600;color:var(--ink);padding:10px 0}.contact-link span{font-size:24px}.hero{min-height:650px;height:calc(81vh - 88px);max-height:790px;display:grid;grid-template-columns:1.08fr 1.25fr;align-items:center;gap:0;position:relative;padding-block:68px 82px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(54px,5vw,72px);font-weight:700;line-height:1.12;letter-spacing:-2.4px;white-space:nowrap}.hero-sub{font-size:21px;line-height:1.65;margin-top:30px}.primary{margin-top:32px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:12px;padding:15px 24px;display:inline-flex;align-items:center;gap:30px;font-weight:600;font-size:18px;transition:transform 260ms ease,background 260ms ease}.primary span{font-size:23px}.primary:hover{background:var(--deep);transform:translateY(-2px)}button:focus-visible,a:focus-visible{outline:2px solid var(--muted);outline-offset:6px}.problem{background:var(--soft);padding-block:116px}.problem-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.eyebrow{display:block;font-size:15px;margin-bottom:22px;color:var(--muted)}.section-copy p{font-size:20px;max-width:465px;margin-top:26px}.scatter-visual{position:relative;height:335px;direction:rtl}.scatter-axis{position:absolute;inset:60px 45px;border:1px dashed #d9dde0;border-radius:50%}.note{position:absolute;width:180px;min-height:140px;background:white;border:1px solid var(--line);border-radius:14px;padding:23px;font-size:16px}.note-one{top:12px;right:28px;transform:rotate(7deg)}.note-two{top:95px;left:5px;transform:rotate(-8deg);z-index:2}.note-three{bottom:0;right:73px;transform:rotate(-4deg)}.note-lines{display:grid;gap:9px;margin-top:20px}.note-lines i{height:3px;width:75%;background:var(--line)}.note-lines i:last-child{width:50%}.note b{position:absolute;left:23px;top:22px;font-weight:400}.check-line{display:flex;align-items:center;gap:10px;color:#9fa5aa;margin-top:6px}.check-line i{height:3px;width:75px;background:var(--line)}.sheet-grid{height:45px;margin-top:14px;background:repeating-linear-gradient(0deg,transparent 0 14px,var(--line) 14px 15px),repeating-linear-gradient(90deg,transparent 0 38px,var(--line) 38px 39px);border:1px solid var(--line)}.thought{position:absolute;left:8px;bottom:12px;font-size:15px;color:var(--muted);transform:rotate(-5deg)}.services{padding-block:120px}.section-heading p{margin-top:23px;font-size:20px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.service-card{border:1px solid var(--line);border-radius:18px;padding:36px 40px 40px}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.service-index{font-size:14px;color:#858b90}.service-icon{font-size:37px;line-height:40px}.service-card p{font-size:20px;margin-top:16px;max-width:445px}.squares{display:grid;grid-template-columns:13px 13px;gap:5px;width:40px;height:40px;align-content:center}.squares i{border:1px solid var(--ink);height:13px;border-radius:2px}.squares i:first-child{background:var(--ink)}.automation{margin-top:24px;background:var(--soft);border-radius:18px;padding:29px 34px;display:grid;grid-template-columns:35px 245px 1fr;gap:24px;align-items:center}.automation h3{font-size:22px}.automation p{font-size:18px}.automation-symbol{font-size:32px}.process{padding-block:108px 120px;border-top:1px solid var(--line)}.process-layout{display:grid;grid-template-columns:360px 1fr;gap:65px}.steps{padding:0;margin:0;list-style:none}.steps li{display:grid;grid-template-columns:54px 1fr;gap:32px;position:relative;padding-bottom:54px}.steps li:not(:last-child):before{content:'';position:absolute;right:26px;top:54px;bottom:0;width:1px;background:var(--line)}.step-number{border:1px solid var(--line);border-radius:50%;height:54px;width:54px;display:flex;align-items:center;justify-content:center;font-size:15px;background:white}.steps h3{padding-top:8px}.steps p{margin-top:15px;font-size:20px;max-width:585px}.steps li:last-child{padding-bottom:0}.skip{position:fixed;top:-100px;right:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}dialog{border:1px solid var(--line);border-radius:18px;padding:42px;color:var(--ink);max-width:calc(100% - 40px)}dialog::backdrop{background:#333a4055}dialog p{margin-top:16px}.close-dialog{position:absolute;top:5px;left:10px;background:none;border:0;font-size:28px;color:var(--ink)}@media(min-width:1600px){.hero h1{font-size:72px}}@media(max-width:1100px){.shell{width:calc(100% - 80px)}.hero h1{font-size:56px}.system-visual{transform:scale(.8);transform-origin:center left;margin-right:-30px}.problem-layout{gap:30px}h2{font-size:40px}.process-layout{grid-template-columns:270px 1fr;gap:30px}.automation{grid-template-columns:30px 205px 1fr;gap:16px}}@media(max-width:760px){.shell{width:calc(100% - 40px)}.header{height:76px}.brand{font-size:17px}.hero{height:auto;max-height:none;min-height:0;grid-template-columns:1fr;padding-block:52px 25px;overflow:hidden}.hero h1{font-size:clamp(38px,8.8vw,60px);letter-spacing:-1.2px}.hero-sub{font-size:20px}.system-visual{height:380px;width:540px;transform:scale(.68);transform-origin:top right;margin:30px -5px -100px 0}.problem,.services,.process{padding-block:72px}.problem-layout,.process-layout{grid-template-columns:1fr;gap:40px}h2{font-size:36px;letter-spacing:-.7px}.scatter-visual{width:100%;max-width:440px;margin:auto;height:320px}.service-grid{grid-template-columns:1fr;margin-top:32px}.service-card{padding:28px}.service-top{margin-bottom:28px}.automation{grid-template-columns:28px 1fr;padding:24px;gap:10px 16px}.automation p{grid-column:2}.steps li{gap:20px;padding-bottom:40px}.section-copy p,.steps p,.service-card p{font-size:19px}.thought{font-size:14px;left:0}.note{width:155px}.note-three{right:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Header and type-led hero. Accent awaits the selected palette. */
.brand{gap:10px;flex-wrap:wrap}
.brand-description{font-family:var(--font-site);font-size:18px;font-weight:400;color:var(--muted)}
.hero{grid-template-columns:1fr}
.hero-copy{max-width:850px}
.cta-glass{display:inline-flex;margin-top:32px;padding:7px;border:1px solid rgba(190,198,204,.5);border-radius:19px;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(230,234,237,.45));box-shadow:inset 0 1px 0 #fff,0 4px 16px rgba(51,58,64,.04);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cta-glass .primary{margin-top:0;padding:13px 21px;gap:24px}
.cta-arrow{width:23px;height:23px;color:var(--cta-accent,#fff);flex:none}
@media(max-width:760px){.brand{gap:2px 8px}.brand-description{font-size:15px}.header{height:auto;min-height:76px;padding-block:16px}.hero-copy{max-width:100%}.hero{padding-bottom:64px}}

/* White and pale lime: connected business components. */
.hero{grid-template-columns:1.08fr 1.12fr;gap:30px}
.connections{position:relative;width:100%;aspect-ratio:560/480;isolation:isolate;background:radial-gradient(ellipse at center,rgba(229,255,130,.38),rgba(247,250,238,.3) 43%,transparent 70%)}
.connection-paths{position:absolute;inset:0;width:100%;height:100%}
.connection-node{position:absolute;transform:translate(-50%,-50%);width:94px;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 3px 0 #f1f4e9;font-size:16px;font-weight:500;left:16.07%;top:18.75%}
.connection-node svg{width:29px;height:29px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.node-tasks{left:83.93%}.node-info{top:81.25%}.node-web{left:83.93%;top:81.25%}
.connection-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:158px;height:158px;border:7px solid rgba(255,255,255,.65);outline:1px solid #dfedb9;border-radius:42px;background:var(--lime);background-clip:padding-box;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 10px 35px #c4d79222}
.connection-core strong{font-family:var(--font-site);font-size:18px;font-weight:500;margin-top:12px}.connection-core>span:last-child{font-size:14px;color:#59633e}
.core-symbol{display:grid;grid-template-columns:10px 10px;gap:4px}.core-symbol i{height:10px;border:1.5px solid var(--ink);border-radius:2px}.core-symbol i:nth-child(2){background:var(--ink)}
.cta-glass{border-color:#e0e7cb;background:linear-gradient(135deg,#ffffffdc,#e5ff8255)}
.automation{background:#F1F8DA}.steps li:first-child .step-number{background:var(--lime);border-color:var(--lime)}
.service-icon{background:var(--lime);border-radius:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.service-icon.squares{display:grid;align-content:center;justify-content:center}
.note-one{border-color:#d8e6b3;background:#fbfff1}.scatter-axis{border-color:#cbd9aa}
@media(max-width:1100px) and (min-width:761px){.hero{gap:10px}.hero h1{font-size:50px}.connection-node{width:78px;height:78px;border-radius:20px}.connection-core{width:132px;height:132px;border-radius:34px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:30px}.connections{max-width:520px;margin-inline:auto}.connection-node{width:72px;height:72px;border-radius:19px;font-size:14px;gap:5px}.connection-node svg{width:24px;height:24px}.connection-core{width:125px;height:125px;border-radius:32px}.connection-core strong{font-size:16px;margin-top:7px}}

/* Transparent contact control with a lime arrow disc. */
.cta-glass{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.cta-glass .primary{background:transparent;border:1px solid transparent;box-shadow:none;color:#000;padding:8px 0;gap:18px;font-weight:400}
.cta-glass .primary:hover{background:transparent;transform:translateY(-1px)}
.cta-arrow-circle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;border-radius:50%;background:var(--lime)}
.cta-arrow{color:#000;width:23px;height:23px}

/* Text-only second section. */
.problem-layout{grid-template-columns:1fr;gap:0}
.problem .section-copy{max-width:760px}
.problem .section-copy p{max-width:650px}

/* Final vector illustration: preserve the entire artwork without cropping. */
.hero-art{min-width:0;width:100%;display:flex;align-items:center;justify-content:center}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.hero-art{max-width:560px;margin-inline:auto}}

/* Soft user-provided lime glow, isolated to the hero illustration. */
.hero-art{position:relative;isolation:isolate}
.hero-art::before{content:"";position:absolute;inset:-16% -10%;background:url("hero-glow.svg") center/contain no-repeat;opacity:.72;z-index:-1;pointer-events:none}
.hero-art img{mix-blend-mode:multiply}
@media(max-width:760px){.hero-art::before{inset:-8% -4%}}

/* From Uiverse.io by sekaiking — scoped to the hero contact button. */
.primary.hero-contact{background-color:var(--lime);color:black;border-radius:10em;font-family:var(--font-site);font-size:17px;font-weight:600;padding:1em 2em;cursor:pointer;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;border:1px solid black;box-shadow:0 0 0 0 black}
.primary.hero-contact:hover{background-color:var(--lime);transform:translateY(-4px) translateX(-2px);box-shadow:2px 5px 0 0 black}
.primary.hero-contact:active{transform:translateY(2px) translateX(1px);box-shadow:0 0 0 0 black}
@media(prefers-reduced-motion:reduce){.primary.hero-contact:hover,.primary.hero-contact:active{transform:none}}

/* From Uiverse.io by cssbuttons-io — Hebrew RTL and brand colors. */
.learn-more.hero-contact,.learn-more.process-contact{position:relative;display:inline-block;cursor:pointer;border:0;vertical-align:middle;text-decoration:none;background:transparent;padding:0;font:600 18px/1.6 var(--font-site);color:#000;margin-top:32px;width:15.5rem;min-height:3.25rem;text-align:right}
.learn-more .circle{position:absolute;display:block;left:0;top:0;bottom:0;margin:auto;width:3.25rem;height:100%;background:var(--lime);border-radius:2rem;transition:width .45s cubic-bezier(.65,0,.076,1)}
.learn-more .icon.arrow{position:absolute;top:0;bottom:0;left:1.05rem;margin:auto;width:1.125rem;height:.125rem;background:none;transition:transform .45s cubic-bezier(.65,0,.076,1),background .45s ease}
.learn-more .icon.arrow::before{position:absolute;content:"";top:-.29rem;left:.0625rem;width:.625rem;height:.625rem;border-top:.125rem solid #000;border-left:.125rem solid #000;transform:rotate(-45deg)}
.learn-more .button-text{position:relative;display:block;padding:.8rem .6rem .8rem 3.6rem;color:#000;text-align:center;font-weight:600}
.learn-more:hover .circle,.learn-more:focus-visible .circle{width:100%}
.learn-more:hover .icon.arrow,.learn-more:focus-visible .icon.arrow{background:#000;transform:translateX(-.25rem)}
.learn-more:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.learn-more .circle,.learn-more .icon.arrow{transition:none}.learn-more:active{transform:none}}

/* Gateway Flow — adapted from Meng To / ThreeUI, light lime edition. */
.gateway-flow{position:relative;width:100%;height:480px;overflow:hidden;background:radial-gradient(ellipse at center,#e5ff8238,transparent 62%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 74%)}
.gateway-flow canvas{display:block;width:100%;height:100%}
@media(max-width:760px){.gateway-flow{height:320px}}

/* Centered hero: copy above the converging flow. */
.hero{display:flex;flex-direction:column;align-items:center;gap:0;height:auto;min-height:0;max-height:none;padding-block:76px 24px;text-align:center}
.hero-copy{width:100%;max-width:950px}
.hero h1{white-space:normal}
.hero-sub{margin-top:26px}
.gateway-flow{width:100%;max-width:1100px;height:340px;margin-top:12px;flex-shrink:0}
@media(max-width:760px){.hero{padding-block:48px 16px}.hero-copy{max-width:100%}.gateway-flow{height:240px;margin-top:20px}.hero h1{font-size:clamp(36px,8.8vw,60px)}}

/* Flow sits behind the centered hero copy. */
.hero{position:relative;isolation:isolate;min-height:650px;justify-content:center;padding-block:90px;overflow:hidden}
.hero-copy{position:relative;z-index:1}
.hero .gateway-flow{position:absolute;inset:0;width:100%;max-width:none;height:100%;margin:0;z-index:0;opacity:.7475;pointer-events:none}
@media(max-width:760px){.hero{min-height:560px;padding-block:64px}.hero .gateway-flow{height:100%;margin:0;opacity:.5175}}



/* Broad problem section: heading right, explanation left. */
.problem-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:96px;align-items:center}
.problem .section-copy{max-width:none}
.problem-description{font-size:21px;line-height:1.85;max-width:500px;margin:0;padding-top:38px}
@media(max-width:1100px){.problem-layout{gap:48px}.problem-description{font-size:20px}}
@media(max-width:760px){.problem-layout{grid-template-columns:1fr;gap:24px}.problem-description{padding-top:0;max-width:none;font-size:19px}}

/* Dark contrast section in the lime/charcoal palette. */
.problem{background:var(--ink);color:#F7FAEE}
.problem .eyebrow{color:var(--lime)}
.problem-description{color:#D9DFD2}

/* Rounded upper edge for the dark problem section. */
.problem{border-radius:48px 48px 0 0;overflow:hidden}
@media(max-width:760px){.problem{border-radius:28px 28px 0 0}}

/* RTL line-by-line block reveal for the second section. */
.reveal-line{display:block;position:relative;width:fit-content;max-width:100%;overflow:hidden;padding-block:.1em;margin-block:-.1em}
.reveal-line-text{display:block}
.reveal-line-block{position:absolute;inset:0;background:var(--lime);transform:scaleX(0);transform-origin:right center;pointer-events:none}

/* Service cards adapted from the supplied animated-service-card design. */
.service-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:450px;overflow:hidden;border-radius:24px;padding:36px;border:1px solid #e1e9ce;background:linear-gradient(125deg,#F6FAEB,#E5FF82)}
.service-card:nth-child(2){background:linear-gradient(125deg,#F8FAF3,#DCE8BE);border-color:#dce4ce}
.service-top{flex-direction:column;align-items:flex-start;gap:32px;margin:0 0 64px}
.service-index{order:-1;color:#697062;font:400 14px/1.5 var(--font-site);font-variant-numeric:tabular-nums}
.service-index:before{content:'( ';}.service-index:after{content:' )';}
.service-card .service-icon{background:transparent;border-radius:0;width:48px;height:48px;font-size:44px}
.service-card .squares{grid-template-columns:18px 18px;gap:6px}.service-card .squares i{height:18px}
.service-details h3{font-size:27px;font-weight:700}
.service-details p{color:#525B48;font-size:20px;line-height:1.7;max-width:460px;margin-top:16px}
@media(max-width:760px){.service-card{min-height:360px;padding:28px}.service-top{margin-bottom:48px;gap:24px}.service-details h3{font-size:24px}.service-details p{font-size:19px}}

.service-line-icon svg{display:block;width:44px;height:44px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Equal text zones align both service cards. */
.service-details{display:grid;grid-template-rows:auto 1fr;min-height:154px}
.service-details h3{margin:0;align-self:start}
.service-details p{margin-top:16px;max-width:460px;align-self:start}
@media(max-width:760px){.service-details{min-height:0}}

/* Lavender companion to the lime website card. */
.service-card:nth-child(2){background:linear-gradient(125deg,#F5F1FF,#DDD0F5);border-color:#DDD3ED;color:#302A3B}
.service-card:nth-child(2) .service-index{color:#71677F}
.service-card:nth-child(2) .service-details p{color:#5B516B}

.automation-symbol img{display:block;width:32px;height:32px;object-fit:contain;transform:scaleX(-1)}

/* Three-step horizontal process, adapted from HowItWorks09. */
.process-layout{display:flex;flex-direction:column;align-items:center;gap:56px;max-width:1100px}
.process-layout>h2{text-align:center}
.steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;width:100%}
.steps::before{content:"";position:absolute;top:27px;inset-inline:calc(100% / 6);height:1px;background:var(--line)}
.steps li{display:flex;flex-direction:column;align-items:center;gap:24px;padding:0;text-align:center;min-width:0}
.steps li:not(:last-child)::before{content:none}
.step-number{position:relative;z-index:1;flex-shrink:0;background:#fff;color:var(--ink);font-weight:600}
.steps h3{padding:0;font-size:25px;font-weight:700}
.steps p{margin-top:14px;font-size:19px;line-height:1.8;max-width:330px}
.process-action{display:flex;justify-content:center}
.process-action .process-contact{margin-top:0}
@media(max-width:760px){.process-layout{gap:40px}.steps{grid-template-columns:1fr;gap:40px;max-width:440px}.steps::before{content:none}.steps li{gap:18px}.steps li:not(:last-child)::after{content:'↓';color:var(--muted);font-size:22px;margin-top:4px}.steps p{max-width:390px}}

/* Vertical process for comfortable Hebrew reading. */
.process .steps{display:flex;flex-direction:column;gap:0;width:100%;max-width:760px}
.process .steps::before{content:none}
.process .steps li{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:32px;text-align:right;padding-bottom:48px}
.process .steps li:last-child{padding-bottom:0}
.process .steps li:not(:last-child)::before{content:"";position:absolute;right:26px;top:54px;bottom:0;width:1px;height:auto;background:var(--line)}
.process .steps li::after{content:none}
.process .steps h3{padding-top:8px}
.process .steps p{max-width:640px;margin-top:14px}
@media(max-width:760px){.process .steps li{gap:20px;padding-bottom:36px}.process .steps li:last-child{padding-bottom:0}}

/* User-supplied dots, isolated behind the workflow content. */
.process{position:relative;isolation:isolate;background:#fff}
.process::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("process-dots.svg");background-repeat:repeat;background-size:200px 200px;background-position:center top;opacity:.35}

/* Dark green step markers with light numbers. */
.process .steps li .step-number{background:var(--ink);border-color:var(--ink);color:#F7FAEE}

/* Image-led portfolio cards, matching the site's existing palette. */
.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}
.projects{padding-block:112px 120px;border-top:1px solid var(--line);scroll-margin-top:32px}
.projects>h2{text-align:center;margin-bottom:56px}
.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.project-card{display:flex;flex-direction:column;min-width:0;border-radius:24px;overflow:hidden;background:#fafbf7;border:1px solid var(--line)}
.project-copy{padding:30px 30px 34px;display:flex;flex-direction:column;flex:1}
.project-copy .eyebrow{margin-bottom:14px;font-size:15px}
.project-copy h3{font-size:28px;font-weight:400;line-height:1.45}
.project-number{font:400 22px/1.4 var(--font-site);color:var(--muted);margin-inline-end:10px;white-space:nowrap}
.project-copy p{font-size:19px;line-height:1.8;margin-top:18px;margin-bottom:24px}
.project-link{display:inline-flex;align-items:center;align-self:flex-start;gap:20px;margin-top:auto;font-size:18px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:5px}
.project-link span[aria-hidden]{font-size:24px;transition:transform .2s}
.project-link:hover span[aria-hidden]{transform:translateX(-4px)}
.project-visual{order:-1;min-width:0;aspect-ratio:1.25;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.project-website{padding:10px;background:var(--soft)}
.browser-preview{display:flex;flex-direction:column;width:100%;height:100%;border:1px solid #cbd7b5;border-radius:14px;overflow:hidden;background:#f6f3eb}
.browser-bar{display:flex;align-items:center;gap:20px;direction:ltr;padding:9px 12px;background:#fff;color:var(--muted);font-size:14px;line-height:1.4;flex-shrink:0}
.browser-dots{color:#b7bea9;font-size:10px;letter-spacing:3px}
.browser-preview img{display:block;width:100%;height:0;min-height:0;flex:1;object-fit:cover;object-position:top}
.project-screens{gap:26px;background:linear-gradient(125deg,#F5F1FF,#DDD0F5);padding:22px}
.phone-preview{display:block;padding:0;border:4px solid #fff;border-radius:22px;background:#fff;width:35%;max-height:95%;aspect-ratio:1290/2796;overflow:hidden;box-shadow:0 16px 30px #302a3b18;transition:transform .25s;cursor:zoom-in}
.phone-preview:hover{transform:translateY(-5px)}
.phone-preview:nth-child(2){transform:translateY(12px)}
.phone-preview:nth-child(2):hover{transform:translateY(7px)}
.phone-preview img{display:block;width:100%;height:100%;object-fit:contain}
.project-hint{display:block;margin-top:auto;padding-block:7px;font-size:16px;color:var(--muted)}
#project-dialog{padding:52px 24px 24px;width:560px;max-height:90dvh;overscroll-behavior:contain}
#project-dialog::backdrop{background:#20261cbb}
#project-dialog p{margin:0 0 20px;font-size:18px}
#project-full-image{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:14px}
.project-close{position:absolute;top:8px;left:12px;border:0;background:var(--soft);border-radius:50%;width:36px;height:36px;font-size:26px;line-height:1;color:var(--ink)}
body:has(#project-dialog[open]){overflow:hidden}

@media(max-width:1000px){.project-copy{padding:24px}.project-copy h3{font-size:24px}.project-number{font-size:20px}.project-screens{gap:18px;padding:18px}.phone-preview{border-radius:16px;border-width:3px}}
@media(max-width:760px){.projects{padding-block:72px}.projects>h2{margin-bottom:32px}.project-list{grid-template-columns:1fr;gap:28px}.project-copy{padding:26px}.project-visual{aspect-ratio:1.15}.project-screens{padding:24px;gap:22px}.browser-bar{font-size:12px;gap:12px}.browser-dots{letter-spacing:1px}#project-dialog{padding-inline:16px}}

/* Scroll from the full workflow to a compact three-row summary. */
.process .steps li,.process .steps li:last-child{padding-block:22px;min-height:99px}
.process .steps li:not(:last-child){border-bottom:1px solid #cbd3bf}
.process .steps li:not(:last-child)::before{content:none}
.process .steps h3{min-height:54px;display:flex;align-items:center;padding-top:0}
.process.process-animated .process-layout{position:sticky;top:var(--process-sticky-top,24px)}
.process-animated .steps p{overflow:hidden;will-change:height,opacity}
@media(prefers-reduced-motion:reduce){.process.process-animated .process-layout{position:static}.process-animated .steps p{will-change:auto}}

.project-arrow{display:block;width:28px;height:28px;object-fit:contain;transform:scaleX(-1)}

/* About: a personal portrait on the dark green side of the existing palette. */
.about{position:relative;isolation:isolate;background:var(--deep);color:#f7faee;padding-block:104px;scroll-margin-top:0}
.about::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("process-dots.svg") repeat center top/200px 200px;opacity:.11;mask-image:linear-gradient(to right,#000 0%,#0003 20%,#0003 53%,#000 85%)}
.about-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:72px;align-items:center}
.about-portrait{position:relative;align-self:stretch;min-height:620px;overflow:hidden;border-radius:32px;border:1px solid #ffffff20;background:#a7a99e}
.about-portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%;transform:scale(1.23);transform-origin:50% 75%}
.about-copy{padding-block:12px}
.about-label{display:inline-flex;border:1px solid #e5ff823b;border-radius:30px;padding:7px 20px;color:var(--lime);font-size:16px;background:#20261ca6}
.about .about-intro{color:#d7decd;font-size:20px;margin-top:0}
.about h2{color:#fff;font-weight:700;font-size:clamp(36px,3.7vw,52px);line-height:1.3;margin-top:16px;letter-spacing:-1px}
.about .about-lead{color:var(--lime);font-family:var(--font-site);font-size:clamp(22px,2.1vw,28px);line-height:1.6;margin-top:22px}
.about-story{display:grid;gap:22px;margin-top:30px}
.about-story p{color:#d6ddcf;font-size:20px;line-height:1.9}
.about .about-background{margin-top:30px;padding-top:22px;border-top:1px solid #e5ff8233;color:#adb9a3;font-size:16px;line-height:1.9}
@media(max-width:1100px){.about-layout{gap:40px}.about-portrait{min-height:620px}.about-story p{font-size:19px}}
@media(max-width:760px){.about{padding-block:64px}.about-layout{grid-template-columns:1fr;gap:36px}.about-portrait{min-height:0;aspect-ratio:4/4.5;max-width:460px;width:100%;margin-inline:auto;border-radius:24px}.about-portrait img{height:100%;max-height:none;object-position:center 56%}.about-copy{padding:0}.about .about-intro{margin-top:24px}.about h2{font-size:36px}.about .about-lead{font-size:23px}.about-story{margin-top:24px}.about-story p{font-size:19px}}

.about-background p{color:inherit;font-size:16px;line-height:1.9}.about-background p+p{margin-top:6px}.about-background strong{font-weight:600;color:#d6ddcf}
@media(max-width:760px){.about::before{opacity:.075;mask-image:none}.about .about-intro{margin-top:0}}

/* A quiet, light closing invitation after the dark portrait section. */
.contact{position:relative;isolation:isolate;overflow:hidden;background:#fff;padding-block:72px 80px;text-align:center;color:var(--ink)}
.contact-content{position:relative;max-width:900px}
.contact-eyebrow{display:block;font-size:16px;color:var(--muted);margin-bottom:28px}
.contact h2{font-size:clamp(40px,5vw,66px);line-height:1.32;letter-spacing:-1.5px;font-weight:400}
.contact h2 span{color:var(--ink)}
.contact-description{font-size:22px;line-height:1.7;margin:22px auto 0;max-width:540px;color:var(--ink)}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:38px}
.contact-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 28px;background:var(--lime);color:var(--ink);border-radius:40px;font-size:20px;font-weight:600;box-shadow:0 6px 18px #20261c0d;transition:background .2s,transform .2s}
.contact-whatsapp>span[aria-hidden]{font-size:27px;font-weight:400;line-height:1;transition:transform .2s}
.contact-whatsapp:hover{background:#daff57;transform:translateY(-2px)}
.contact-whatsapp:hover>span[aria-hidden]{transform:translateX(-4px)}
.contact-email{display:inline-block;padding:6px;font-size:17px;color:#5d6751}
.contact-email span{text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.contact-email:hover span{text-decoration-thickness:2px}
@media(max-width:760px){.contact{padding-block:88px 96px}.contact h2{font-size:clamp(34px,9vw,46px);letter-spacing:-.7px}.contact-description{font-size:20px;margin-top:24px}.contact-eyebrow{margin-bottom:22px}.contact-whatsapp{font-size:18px;padding:15px 24px;gap:20px}.contact-actions{margin-top:30px;gap:18px}}
@media(prefers-reduced-motion:reduce){.contact-flow{will-change:auto;transform:none!important}.contact-whatsapp:hover{transform:none}}

.contact-button-stage{position:relative;width:100%;isolation:isolate;padding-block:18px}
.contact-flow{position:absolute;inset:-20px max(0px, calc((100% - 700px) / 2));z-index:-1;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent);will-change:transform}
.contact-flow canvas{display:block;width:100%;height:100%}
.contact-whatsapp{position:relative;box-shadow:none}
.contact-actions{gap:6px;margin-top:12px}
.contact-email{position:relative;background:#fff;border-radius:10px}
@media(max-width:760px){.contact{padding-block:60px 68px}.contact-flow{inset:-12px -12px}.contact-button-stage{padding-block:18px}.contact-actions{gap:6px}}

.contact h2 .contact-highlight{background:linear-gradient(transparent 48%,var(--lime) 48%,var(--lime) 90%,transparent 90%);padding-inline:.06em}
.contact-reassurance{font-size:16px;color:var(--muted);position:relative}
.contact-email{margin-top:12px}

/* Approved jasmine badge, cropped from the original concept sheet in presentation only. */
.header .brand{flex-wrap:nowrap;gap:12px}
.jasmine-logo{position:relative;display:block;width:23.1px;height:23.1px;flex:0 0 23.1px;overflow:hidden;border-radius:50%;animation:jasmine-turn 10s linear infinite}
.jasmine-logo img{position:absolute;display:block;width:289.8113%;height:auto;max-width:none;left:-23.9623%;top:-31.5094%}
@keyframes jasmine-turn{to{transform:rotate(360deg)}}
@media(max-width:760px){.jasmine-logo{width:19.95px;height:19.95px;flex-basis:19.95px}}
@media(prefers-reduced-motion:reduce){.jasmine-logo{animation:none}}

/* Compact portfolio: separate device displays and short captions. */
.compact-projects{padding-block:64px 72px}
.compact-projects>h2{margin-bottom:32px}
.compact-projects .project-list{gap:28px}
.compact-projects .project-card{padding:24px 24px 20px;align-items:center;background:#f7f8f5;border:1px solid #e8eae3;border-radius:24px}
.project-category{display:inline-flex;padding:5px 18px;border:1px solid #cbd4ba;border-radius:30px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5}
.device-stage{display:flex;align-items:center;justify-content:center;width:100%;height:340px;margin-block:18px 12px}
.portfolio-monitor{display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px;filter:drop-shadow(0 12px 10px #20261c12)}
.monitor-display{display:block;width:100%;aspect-ratio:16/9;padding:9px;background:#202020;border-radius:12px 12px 0 0;overflow:hidden;border:1px solid #454545}
.monitor-display img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.monitor-chin{width:100%;height:24px;border-radius:0 0 10px 10px;background:linear-gradient(100deg,#d5d6d7,#f3f3f3 50%,#b9bbbe);border-bottom:1px solid #aeb0b1}
.monitor-stand{width:19%;height:37px;background:linear-gradient(#97999c,#e6e7e8);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}
.monitor-foot{width:32%;height:7px;border-radius:50% 50% 3px 3px;background:linear-gradient(#f3f3f3,#a2a4a6)}
.portfolio-phone{display:block;position:relative;height:330px;aspect-ratio:1/2;width:auto;padding:0;border:6px solid #242424;border-radius:25px;background:#242424;overflow:hidden;box-shadow:0 12px 22px #20261c20,0 0 0 1px #777;cursor:zoom-in}
.portfolio-phone img{display:block;width:100%;height:100%;object-fit:contain;background:#f8f9fb;border-radius:18px}
.compact-project-caption{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.compact-project-caption h3{font-size:22px;font-weight:400}
.compact-project-caption>a,.compact-project-caption>span{font-size:16px;color:var(--muted)}
.compact-project-caption>a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:760px){.compact-projects{padding-block:44px 48px}.compact-projects .project-list{gap:20px}.compact-projects .project-card{padding:20px 18px}.device-stage{height:310px;margin-block:14px 10px}.portfolio-phone{height:300px}.portfolio-monitor{max-width:360px}.compact-project-caption h3{font-size:21px}}

/* A second app view floats beside the main phone without extending the card. */
.app-device-pair{position:relative;width:290px;max-width:100%;height:330px;direction:ltr}
.app-device-pair .portfolio-phone{position:absolute;left:0;top:0;z-index:2}
.portfolio-floating-screen{position:absolute;right:0;top:24px;z-index:1;display:block;height:294px;aspect-ratio:1290/2796;padding:0;border:1px solid #d9ddd3;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 12px 22px #20261c18;cursor:zoom-in}
.portfolio-floating-screen img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.app-device-pair{width:264px;height:300px}.portfolio-floating-screen{height:268px;top:22px}}
@media(max-width:360px){.app-device-pair{width:238px;height:282px}.app-device-pair .portfolio-phone{height:282px}.portfolio-floating-screen{height:250px;top:20px}}

/* Services: clear editorial sections on a dark field, without oversized cards. */
.services-section{background:var(--ink);color:#fff;border-radius:40px 40px 0 0;padding-block:80px;scroll-margin-top:24px}
.services-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
.services-intro{display:flex;flex-direction:column;align-items:flex-start;gap:36px}
.services-intro h2{font-size:clamp(34px,3.5vw,48px);line-height:1.3}
.services-intro h2>span,.service-entry h3>span{color:var(--lime)}
.services-contact{display:inline-flex;align-items:center;gap:42px;padding:10px 24px;background:var(--lime);border-radius:30px;color:var(--ink);font-size:18px;font-weight:600}
.services-contact span{font-size:24px;transition:transform .2s}
.services-contact:hover span{transform:translateX(-4px)}
.services-list{min-width:0}
.service-entry{display:grid;grid-template-columns:24px minmax(0,1fr);gap:22px;padding-block:30px;border-top:1px solid #e5ff824d}
.service-entry:first-child{padding-top:0;border-top:0}
.service-entry:last-child{padding-bottom:0}
.service-entry-number{color:var(--lime);font-size:14px;padding-top:7px}
.service-entry h3{font-size:26px;font-weight:400;line-height:1.5}
.service-entry p{color:#dce1d4;font-size:19px;line-height:1.85;margin-top:16px;max-width:600px}
@media(max-width:900px){.services-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px}.service-entry{gap:14px}.service-entry h3{font-size:23px}}
@media(max-width:600px){.services-section{padding-block:48px;border-radius:26px 26px 0 0}.services-layout{grid-template-columns:1fr;gap:32px}.services-intro{gap:22px}.services-intro h2{font-size:34px}.service-entry p{font-size:18px;line-height:1.8}.service-entry{padding-block:24px}.services-contact{font-size:17px;padding:8px 20px}}

/* Thin lime frames and separate scroll depths at the portfolio/services boundary. */
.services-list{display:grid;gap:28px}
.services-list .service-entry{padding:30px;border:1px solid #e5ff8270;border-radius:32px;gap:18px}
.services-section{position:relative;z-index:1}
.services-layout{translate:0 var(--services-depth,0px)}
.compact-projects .project-list{translate:0 var(--projects-depth,0px)}
@media(max-width:900px){.services-layout{gap:36px;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}.services-list .service-entry{padding:25px;gap:14px}}
@media(max-width:600px){.services-layout{grid-template-columns:1fr;gap:30px}.services-list{gap:20px}.services-list .service-entry{padding:24px 20px;border-radius:25px;grid-template-columns:20px minmax(0,1fr);gap:10px}}
@media(prefers-reduced-motion:reduce){.services-layout,.compact-projects .project-list{translate:none}}

/* Supplied circle/arrow silhouette, recolored with a mask and turned left. */
.services-list .service-entry{grid-template-columns:34px minmax(0,1fr)}
.service-entry-icon{display:block;width:30px;height:30px;margin-top:5px;border-radius:50%;background:var(--ink)}
.service-entry-icon::before{content:"";display:block;width:100%;height:100%;background:var(--lime);mask:url("service-arrow-circle.png") center/contain no-repeat;transform:rotate(180deg)}
@media(max-width:600px){.services-list .service-entry{grid-template-columns:28px minmax(0,1fr)}.service-entry-icon{width:26px;height:26px}}

/* Section stacking adapted from the supplied sticky-card scroll example. */
.portfolio-services-stack{position:relative;isolation:isolate}
.portfolio-services-stack.stack-enabled .compact-projects{position:sticky;top:var(--stack-top,24px);z-index:0;transform:scale(var(--stack-scale,1));transform-origin:center top;background:#fff}
.portfolio-services-stack .services-section{position:relative;z-index:2;box-shadow:0 -20px 45px #151b2512}
.portfolio-services-stack .services-layout,.portfolio-services-stack .project-list{translate:none}
@media(prefers-reduced-motion:reduce){.portfolio-services-stack.stack-enabled .compact-projects{position:relative;top:auto;transform:none}}

/* Frequently asked questions: native keyboard-accessible accordion. */
.faq-section{background:var(--ink);color:#fff;padding-block:72px 80px;scroll-margin-top:24px}
.faq-section h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:32px}
.faq-section h2>span{color:var(--lime)}
.faq-item{border-bottom:1px solid #e5ff8270}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px;cursor:pointer;list-style:none;font-size:22px;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-arrow{color:var(--lime);font-size:29px;line-height:1;flex-shrink:0;transition:transform .25s}
.faq-item[open] .faq-arrow{transform:rotate(180deg)}
.faq-item summary:hover{color:var(--lime)}
.faq-item summary:focus-visible{outline:2px solid var(--lime);outline-offset:5px;border-radius:4px}
.faq-answer{padding:0 0 26px 48px;max-width:850px}
.faq-answer p{font-size:19px;line-height:1.85;color:#dce1d9}
@media(max-width:600px){.faq-section{padding-block:48px}.faq-section h2{margin-bottom:20px}.faq-item summary{font-size:19px;padding-block:21px;gap:18px}.faq-arrow{font-size:25px}.faq-answer{padding:0 0 22px 22px}.faq-answer p{font-size:18px;line-height:1.8}}

/* Light FAQ surface separates it clearly from the dark about section. */
.faq-section{background:#F7F8F5;color:var(--ink)}
.faq-item{border-bottom:1px solid #d9dde2;transition:background-color .2s}
.faq-item summary{padding-inline:16px}
.faq-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:23px}
.faq-item summary:hover{color:var(--ink);background:#eef2e6}
.faq-item[open]{background:#eff5dd}
.faq-item summary:focus-visible{outline-color:var(--ink)}
.faq-answer{padding-inline:16px 64px}
.faq-answer p{color:#515a67}
.faq-section+.contact{border-top:1px solid #e1e4e8}
@media(max-width:600px){.faq-item summary{padding-inline:10px}.faq-arrow{width:28px;height:28px;font-size:21px}.faq-answer{padding-inline:10px 48px}}

/* A smaller portrait keeps the biography in focus. */
.about-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:64px}
.about-portrait{align-self:center;min-height:0;width:100%;max-width:360px;aspect-ratio:4/5;justify-self:center;border-radius:26px}
@media(max-width:1100px){.about-layout{gap:36px}}
@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:28px}.about-portrait{max-width:280px;border-radius:22px}}

/* Oversized brand badge peeking in from the bottom-left corner. */
.contact-logo-peek{position:absolute;left:-200px;bottom:-280px;width:720px;height:720px;overflow:hidden;border-radius:50%;transform:rotate(-18deg);z-index:0;pointer-events:none}
.contact-logo-peek img{position:absolute;display:block;width:289.8113%;height:auto;max-width:none;left:-23.9623%;top:-31.5094%}
.contact-content{z-index:1}
@media(max-width:760px){.contact-logo-peek{width:440px;height:440px;left:-200px;bottom:-250px}.contact{padding-bottom:110px}}

.contact-logo-peek{border-radius:0;overflow:visible}
.contact-logo-peek img{position:static;width:100%;height:auto;max-width:100%}

/* Focused portfolio preview: clear navigation and a shorter reading path. */
html{scroll-padding-top:28px}
.site-nav{display:flex;align-items:center;gap:30px;font-size:15px}
.site-nav a{padding-block:10px;transition:color .2s}
.site-nav a:hover{color:#526847}
.site-nav .nav-contact{display:flex;gap:20px;align-items:center;padding:9px 19px;background:#fff;border:1.5px solid #000;border-radius:999px;color:#000}
.jasmine-logo img{position:static;width:100%;height:100%;object-fit:contain}
.compact-project-caption .project-description{max-width:390px;font-size:17px;line-height:1.8;margin:10px 0 12px;color:var(--muted)}
.compact-project-caption h3{font-weight:600}
.process{padding-block:76px}
.process .process-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:24px 70px}
.process .process-layout>h2{text-align:right;line-height:1.3}
.process .steps{max-width:none}
.process .steps li,.process .steps li:last-child{padding-block:22px;gap:22px}
.process .steps li:first-child{padding-top:0}
.process .steps h3{font-size:22px;min-height:42px}
.process .steps p{font-size:18px;line-height:1.8;margin-top:6px}
.process .process-action{grid-column:2;justify-content:flex-start}
@media(max-width:760px){
 .header{height:auto;min-height:100px;flex-wrap:wrap;gap:10px;padding-block:18px 12px}
 .site-nav{width:100%;justify-content:space-between;gap:10px;font-size:13px}
 .site-nav .nav-contact{padding:7px 13px;gap:12px}
 .process{padding-block:52px}
 .process .process-layout{grid-template-columns:1fr;gap:28px}
 .process .process-action{grid-column:1}
 .process .steps li,.process .steps li:last-child{grid-template-columns:42px minmax(0,1fr);gap:16px}
 .process .step-number{width:42px;height:42px;font-size:14px}
 .process .steps h3{font-size:20px}
 .process .steps p{font-size:17px}
 .compact-project-caption .project-description{font-size:16px}
}

/* Portfolio colors follow the white, ink and lime brand palette. */
.compact-projects .project-card{background:#fff;border-color:#e1e3e6;transition:border-color .2s ease}
.compact-projects .project-card:hover,.compact-projects .project-card:focus-within{border-color:var(--lime)}
.compact-projects .project-category{background:var(--lime);border-color:transparent;color:var(--ink)}
.compact-project-caption h3{color:var(--ink)}
.compact-project-caption .project-description,.compact-project-caption>span{color:#666b73}
.compact-project-caption>a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--ink)}
.compact-project-caption>a>span[aria-hidden="true"]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:21px;line-height:1}
@media(prefers-reduced-motion:reduce){.compact-projects .project-card{transition:none}}

/* Open, centered closing invitation on a continuous white background. */
.faq-section,.contact{background:#fff;color:var(--ink)}
.contact{padding-block:92px 100px;border-top:0}
.contact .contact-content{max-width:720px;text-align:center}
.contact h2{color:var(--ink);font-size:clamp(36px,4vw,56px);line-height:1.35;font-weight:600;letter-spacing:-.8px;text-wrap:balance}
.contact .contact-description{color:var(--muted);font-size:20px;line-height:1.8;margin:22px auto 0;max-width:510px;text-wrap:balance}
.contact .contact-actions{margin-top:30px;gap:16px;align-items:center;text-align:center}
.contact .contact-button-stage{width:auto;padding:0}
.contact .contact-flow{display:none}
.learn-more.closing-contact{position:relative;display:inline-block;width:max-content;min-height:3.25rem;padding:0;background:transparent;font:600 18px/1.6 var(--font-site);color:var(--ink);text-decoration:none}
.closing-contact .button-text{padding-right:20px;padding-left:calc(3.25rem + 10px)}
.contact .contact-reassurance{color:#666b73;font-size:13px;line-height:1.7;margin:0}
.contact .contact-email{background:transparent;margin:0;font-size:16px}
.contact .contact-email span{color:var(--ink);text-decoration-color:#c0c7b6}
.contact .contact-email:hover span{text-decoration-color:var(--ink)}
.contact a:focus-visible{outline-color:var(--ink)}
.contact .contact-logo-peek{width:260px;height:260px;left:24px;bottom:12px;transform:rotate(-18deg)}
@media(max-width:1100px){.contact{padding-bottom:210px}.contact .contact-logo-peek{width:200px;height:200px;left:20px;bottom:0}}
@media(max-width:760px){.contact{padding-block:64px 180px}.contact h2{font-size:36px}.contact .contact-description{font-size:18px}.contact .contact-logo-peek{width:160px;height:160px;left:16px;bottom:0}.contact .contact-reassurance{font-size:12px}}

/* A fine circular outline around the closing brand flower. */
.contact .contact-logo-peek{border:1px solid #000;border-radius:50%;padding:18px;display:flex;align-items:center;justify-content:center}
.contact .contact-logo-peek img{display:block;width:100%;height:100%;object-fit:contain}

/* No decorative flower: remove the space reserved beneath the invitation. */
@media(max-width:1100px){.contact{padding-bottom:80px}}
@media(max-width:760px){.contact{padding-bottom:64px}}

/* Compact mobile navigation and platform-independent FAQ arrows. */
.nav-toggle{display:none}
.menu-close{display:none}
.nav-toggle[aria-expanded="true"] .menu-lines{display:none}
.nav-toggle[aria-expanded="true"] .menu-close{display:block}
.faq-arrow svg{display:block;width:20px;height:20px}
@media(max-width:760px){
 .header.nav-ready{position:relative;min-height:76px;flex-wrap:nowrap;padding-block:14px;gap:16px;z-index:10}
 .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:9px;border:0;background:transparent;color:var(--ink);border-radius:10px}
 .nav-toggle svg{width:26px;height:26px}
 .nav-ready .site-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;width:min(270px,100%);padding:12px;background:#fff;border:1px solid #e1e3e6;border-radius:16px;box-shadow:0 12px 32px #191f2a18;flex-direction:column;align-items:stretch;gap:4px;font-size:16px}
 .nav-ready.nav-open .site-nav{display:flex}
 .nav-ready .site-nav>a{display:flex;align-items:center;min-height:44px;padding:10px 14px}
 .nav-ready .site-nav .nav-contact{justify-content:center;margin-top:4px}
 .nav-ready .site-nav>a:hover{background:#f7faee}
}

/* Studio portrait framed from the head to just below the knees. */
.about .about-portrait{aspect-ratio:1086/1230}
.about .about-portrait img{object-position:center top;transform:none}
.site-footer{border-top:1px solid var(--line);padding-block:28px;font-size:15px}.site-footer-inner{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;justify-content:space-between}.site-footer p{font-size:15px}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}.site-footer nav a{color:var(--ink);text-decoration:underline;text-underline-offset:5px;padding-block:6px}.site-footer nav a:hover{text-decoration-thickness:2px}
.page{padding-block:64px 88px;max-width:760px}.page h1{font-size:44px;font-weight:700;line-height:1.2;letter-spacing:-1px}.page h2{font-size:26px;font-weight:600;letter-spacing:0;margin-top:44px}.page p,.page li{font-size:18px;color:var(--ink)}.page p{margin-top:16px}.page ul{margin:16px 0 0;padding-inline-start:24px}.page li+li{margin-top:8px}.page a{text-decoration:underline;text-underline-offset:4px}.page .updated{margin-top:44px;color:var(--muted);font-size:16px}.page .back{display:inline-block;margin-top:32px;font-weight:600}.page-404{text-align:center;padding-block:120px}.page-404 p{color:var(--muted)}@media(max-width:760px){.page{padding-block:44px 64px}.page h1{font-size:34px}.page h2{font-size:22px}}
