/* Shared editorial layouts extend the original SIZA motion system. */
:root{--gutter:clamp(24px,5vw,96px);--section-space:clamp(96px,12vw,180px);--text-size:clamp(18px,1.35vw,20px);--section-heading-size:clamp(36px,calc(20px + 4.7vw),88px);--subheading-size:clamp(30px,calc(22px + 1.8vw),48px)}
a{color:inherit;text-underline-offset:.24em}
button,input,textarea,select{font:inherit}
button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3,h4{text-wrap:balance;font-family:"Google Sans Flex",Arial,sans-serif;font-weight:var(--headline-weight);font-stretch:104%;font-variation-settings:"wdth" var(--headline-width)}
[id]{scroll-margin-top:130px}
#main:focus{outline:0}
.skip-link{position:fixed;top:16px;left:16px;z-index:30;transform:translateY(-160%);padding:14px 20px;background:var(--paper);color:var(--ink);border-radius:var(--control-radius)}
.skip-link:focus{transform:none}
.nav-link,.nav-cta{text-decoration:none}
.nav-shell{padding-left:166px}
.nav-brand{width:170px;left:-18px}
.nav-links{gap:2px}
.nav-link{padding-inline:14px;font-size:15px}
.nav-cta{min-width:204px;font-size:15px}

.problem-copy{width:66%;max-width:840px}
.problem-copy>p{font-size:var(--text-size);line-height:1.55;max-width:42ch;margin:0 0 22px}
.problem-copy>p:last-of-type{font-weight:500}
.problem h2{font-size:var(--section-heading-size);letter-spacing:-.04em}
.solution{padding-inline:var(--gutter)}
.step-copy h2{font-size:var(--subheading-size)}
.step-copy p{font-size:var(--text-size)}
.solution-link svg,.story-return svg,.text-link svg,.button svg,.back-link svg,.project-open svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0;transition:transform .6s var(--ease-out)}
.solution-link .section-arrow{stroke-linecap:round;stroke-linejoin:round}
.solution-link:hover .section-arrow,.solution-link:focus-visible .section-arrow{transform:translateY(3px)}

.content-section{padding:var(--section-space) var(--gutter);position:relative}
.content-section h1,.content-section h2{font-size:var(--section-heading-size);font-weight:var(--headline-weight);line-height:1.04;letter-spacing:-.04em;max-width:18ch;margin-bottom:36px}
.section-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:end;margin-bottom:70px}
.section-intro h1,.section-intro h2{margin:0}
.section-intro p{max-width:39ch;margin:0;font-size:var(--text-size);line-height:1.55}
:where(.content-section) :is(p,li){font-size:var(--text-size);line-height:1.55}
.text-link,.back-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;border-radius:var(--control-radius);color:var(--paper);font-size:16px;text-decoration:none;background:none;border:0;padding:0}
.text-link:hover svg,.text-link:focus-visible svg,.button:hover svg,.button:focus-visible svg{transform:translateX(5px)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:15px 25px;border:0;border-radius:var(--control-radius);text-decoration:none;background:var(--accent-button);color:var(--paper);font-size:16px;transition:background .3s var(--ease-out),transform .4s var(--ease-out)}
.button:hover,.button:focus-visible{background:#784329;transform:translateY(-2px)}
.button:active{transform:scale(.98)}
.project-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px;align-items:start}
.project:nth-child(2){padding-top:0}
.project-image{display:block;position:relative;overflow:hidden;background:#242421;aspect-ratio:4/3;border-radius:8px}
.project-image img{display:block;width:100%;height:auto;transition:transform 1s var(--ease-out)}
.vanta-image{display:grid;place-items:center;background:#263d30}
.vanta-image img{height:100%;object-fit:cover;object-position:center 42%}
.kirpykla-image{display:flex;align-items:center;background:#d5cec0}
.kirpykla-image img{width:100%;height:100%;object-fit:cover;object-position:48% center}
.project-image:hover img,.project-image:focus-visible img{transform:scale(1.035)}
.project-open{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:14px 18px;color:var(--paper);background:var(--ink);font-size:14px;border-radius:var(--control-radius);transform:translateY(6px);transition:transform .6s var(--ease-out),background .3s var(--ease-out)}
.project:hover .project-open,.project:focus-within .project-open{background:var(--accent-button);transform:none}
@media(min-width:1101px){.project-open{bottom:12px;left:12px;right:12px;gap:8px;padding:10px 12px;font-size:13px}.project-open svg{width:18px;height:18px}}
.project-caption{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:14px 0 0}
.project-caption h3{font-size:clamp(18px,1.4vw,22px);font-weight:var(--headline-weight);letter-spacing:-.035em;line-height:1.1;margin:0}
.project-caption p{font-size:13px!important;margin:6px 0 0;line-height:1.4;color:var(--muted)}
.project-kind{font-size:12px;color:var(--accent);border:1px solid #79543e;padding:7px 10px;border-radius:var(--control-radius);white-space:nowrap}
.project>p{max-width:44ch;color:var(--muted);margin:0;font-size:17px}
.services{padding-top:max(144px,var(--section-space))}
.service-pair{display:grid;grid-template-columns:1fr 1fr;gap:7vw}
.service{padding:0 0 48px;display:flex;flex-direction:column;align-items:flex-start}
.service h3{font-size:var(--subheading-size);font-weight:var(--headline-weight);letter-spacing:-.035em;line-height:1.08;margin-bottom:22px}
.service .service-promise{font-size:23px;line-height:1.3;color:var(--accent);max-width:26ch}
.service>p{max-width:42ch;margin:0 0 24px}
.service ul{list-style:none;padding:0;margin:0 0 28px}
.service li{display:flex;align-items:flex-start;gap:10px;margin:12px 0;color:var(--muted);font-size:var(--text-size)}
.service .text-link{margin-top:auto}
.service li svg{flex:none;width:18px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.combined-service{display:grid;grid-template-columns:1fr auto;gap:7vw;align-items:center;padding:48px;border-radius:clamp(40px,7vw,96px);border:1px solid rgba(247,244,236,.14);background:rgba(47,46,43,.65);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin:24px calc(var(--gutter)*-.3) 0}
.combined-service h3{font-size:var(--subheading-size);font-weight:var(--headline-weight);letter-spacing:-.035em;line-height:1.1;margin:0}
.combined-service>div{display:flex;align-items:center;justify-content:center}.combined-service .button{min-height:72px;min-width:270px;font-size:22px;padding:20px 32px}
.scope-note{margin:28px 0 0;color:var(--muted);font-size:15px!important}
.approach-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:start}
.press-print{position:sticky;top:150px;padding-top:80px}
.press-print img{width:135%;margin-left:-17%;height:auto;display:block;opacity:.85}
.press-print figure{margin:0;position:relative}
.press-print figcaption{font-size:16px;margin-top:28px;max-width:28ch;color:var(--accent)}
.approach-copy p{margin:0 0 26px}
.approach-copy .approach-principle{font-size:clamp(24px,2.4vw,34px);line-height:1.25;letter-spacing:-.025em;margin-top:60px}
.sources{margin-top:32px;font-size:14px;color:var(--muted)}
.sources summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.sources ul{list-style:none;padding:0}
.sources li{font-size:14px;margin:12px 0}
.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.about-type{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.about-type>img{width:60%;height:80%;object-fit:contain;transform:none}
.about-type>span{position:absolute;bottom:0;left:0;width:90%;line-height:0;opacity:.07;pointer-events:none}
.about-type>span img{display:block;width:100%;height:auto}
.about-copy p{max-width:45ch;margin-bottom:24px}
.about-copy .text-link{margin-top:12px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start}
.faq>h2{position:sticky;top:155px}
.faq-list details{cursor:pointer;padding:25px 26px;margin-bottom:12px;border-radius:var(--control-radius);background:rgba(38,37,34,.46);border:1px solid rgba(247,244,236,.12);-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);transition:background .16s cubic-bezier(.2,.1,.2,1),border-color .16s cubic-bezier(.2,.1,.2,1),box-shadow .16s cubic-bezier(.2,.1,.2,1)}
.faq-list details[open]{background:rgba(38,37,34,.58)}
.faq-list details:hover,.faq-list details:focus-within{border-color:rgba(193,122,80,.55);background:rgba(65,59,51,.58);box-shadow:inset 0 0 0 1px rgba(247,244,236,.025)}
.faq-list details:hover summary,.faq-list details:focus-within summary{color:#e3ad88}
.faq-list details[open] .faq-answer{animation:faq-reveal .45s var(--ease-out) both}
@keyframes faq-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@supports not (backdrop-filter:blur(1px)){.faq-list details{background:rgba(38,37,34,.92)}}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-size:clamp(19px,1.65vw,24px);font-weight:470;line-height:1.35;min-height:44px;transition:color .16s cubic-bezier(.2,.1,.2,1)}
.faq-list summary::-webkit-details-marker{display:none}
.expand-icon{position:relative;width:20px;height:20px;flex-shrink:0}
.expand-icon:before,.expand-icon:after{content:'';position:absolute;left:0;top:9px;width:20px;height:2px;background:var(--accent);transition:transform .4s var(--ease-out)}
.expand-icon:after{transform:rotate(90deg)}
[open] .expand-icon:after{transform:rotate(0)}
.faq-answer{padding:24px 28px 3px 0}
.faq-answer p{font-size:var(--text-size);line-height:1.65;color:var(--muted);margin:0}
summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.contact{display:block;padding-top:max(140px,var(--section-space));padding-bottom:var(--section-space)}
.contact-flow{max-width:980px;margin:0 auto;min-height:480px;text-align:center}
/* Contact keeps the site's frosted print language while each prompt stays a single task. */
.contact-progress{display:flex;align-items:center;gap:20px;width:min(100%,380px);margin:0 auto 40px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.contact-progress-track{display:block;flex:1;min-width:0;height:14px;overflow:visible}
.contact-progress-dot{fill:var(--accent);opacity:.24;transform-box:fill-box;transform-origin:center;transition:fill .35s var(--ease-out),opacity .35s var(--ease-out)}
.contact-progress-dot.is-complete{fill:var(--paper);opacity:1}
.contact-form fieldset{border:0;padding:0;margin:0 0 28px;min-width:0;width:100%}
.contact-form legend{display:block;padding:0;margin:0 0 42px;width:100%;font-size:clamp(30px,4.5vw,58px);font-weight:var(--headline-weight);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;font-stretch:104%;font-variation-settings:"wdth" var(--headline-width)}
.contact-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin-inline:auto}.contact-choices label:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - 14px)/2)}
.contact-choices label,.contact-periods label{position:relative;display:block;cursor:pointer;min-width:0}
.contact-choices input,.contact-periods input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.contact-choices label>span,.contact-periods label>span{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:72px;padding:18px 22px;border:1px solid rgba(247,244,236,.2);border-radius:var(--control-radius);background:rgba(47,46,43,.65);-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);font-size:clamp(17px,1.5vw,20px);line-height:1.25;letter-spacing:-.02em;text-align:center;transition:border-color .3s var(--ease-out),transform .25s var(--ease-out)}
.contact-choices label:hover>span,.contact-choices input:focus-visible+span,.contact-periods label:hover>span,.contact-periods input:focus-visible+span{border-color:var(--accent)}
.contact-choices input:checked+span,.contact-periods input:checked+span{border-color:var(--accent)}
.contact-choices input:focus-visible+span,.contact-periods input:focus-visible+span{outline:2px solid var(--paper);outline-offset:4px}
.contact-choices input:disabled,.contact-periods input:disabled{cursor:wait}
.contact-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:680px;margin-inline:auto}
.contact-periods label>span{min-height:60px;padding:16px 12px;font-size:17px;white-space:nowrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:block;text-align:center;min-width:0;font-size:15px;margin-bottom:24px;line-height:1.5}
.form-field>span{color:var(--muted);font-size:12px}
.form-field input{display:block;text-align:center;width:100%;margin-top:9px;min-width:0;font-size:16px;line-height:24px;border:1px solid rgba(247,244,236,.2);border-radius:var(--control-radius);color:var(--paper);background:linear-gradient(140deg,rgba(247,244,236,.055),rgba(40,39,36,.48));-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);padding:16px 22px;min-height:58px;caret-color:var(--accent);color-scheme:dark;transition:border-color .3s var(--ease-out),background .3s var(--ease-out)}
.form-field input:hover,.form-field input:focus,.form-field input:focus-visible{outline:0;border:2px solid var(--accent);padding:15px 21px;background:rgba(65,59,51,.55)}
.contact-entry{display:grid;max-width:900px;margin-inline:auto;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.contact-entry .form-field{margin-bottom:0}
.contact-next,.contact-send{justify-self:end;justify-content:center;min-width:100px;max-width:190px;min-height:58px;margin:0;line-height:1.3}
.contact-form button:disabled{opacity:.55;cursor:wait;transform:none}
.contact-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}
.contact-back{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 18px;border:1px solid rgba(247,244,236,.24);border-radius:var(--control-radius);background:rgba(247,244,236,.025);color:var(--muted);font-size:14px;line-height:1.3;white-space:nowrap;transition:border-color .3s var(--ease-out),color .3s var(--ease-out),transform .25s var(--ease-out)}
.contact-back svg{display:block;flex-shrink:0;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transform:none;transition:none}
.contact-back:hover,.contact-back:focus-visible{border-color:var(--accent);color:var(--paper)}
/* The tint fades over a fixed backdrop, keeping the hover target and glass layer stable. */
.contact-back{position:relative;isolation:isolate;overflow:hidden;background:rgba(47,46,43,.65);border:1px solid rgba(247,244,236,.24);-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);color:var(--paper);transition:border-color .3s var(--ease-out),color .3s var(--ease-out),transform .25s var(--ease-out)}
.contact-choices label>span:before,.contact-periods label>span:before,.contact-back:before{content:'';position:absolute;inset:0;border-radius:inherit;background:rgba(158,94,60,.82);opacity:0;pointer-events:none;z-index:-1;transition:opacity .3s var(--ease-out)}
.contact-choices label:hover>span:before,.contact-choices input:focus-visible+span:before,.contact-choices input:checked+span:before,.contact-periods label:hover>span:before,.contact-periods input:focus-visible+span:before,.contact-periods input:checked+span:before,.contact-back:hover:before,.contact-back:focus-visible:before{opacity:1}
.contact-back:hover,.contact-back:focus-visible,.contact-back:active{background:rgba(47,46,43,.65);border-color:var(--accent);transform:none}
.contact-next,.contact-send,.contact-native-send,.contact-success-actions .button{background:var(--accent-button);border:1px solid transparent;color:var(--paper);transform:none;transition:background .3s var(--ease-out),transform .25s var(--ease-out)}
.contact-next:hover,.contact-next:focus-visible,.contact-next:active,.contact-send:hover,.contact-send:focus-visible,.contact-send:active,.contact-native-send:hover,.contact-native-send:focus-visible,.contact-native-send:active,.contact-success-actions .button:hover,.contact-success-actions .button:focus-visible,.contact-success-actions .button:active{background:#784329;border-color:transparent;transform:none}
.contact-form button>span,.contact-form button svg,.contact-choices label>span,.contact-periods label>span,.contact-success-actions .button>span,.contact-success-actions .button svg{transform:none;transition-property:color,border-color,background,opacity,transform}
.contact .privacy-note,.contact-hint{margin-inline:auto;text-align:center;font-size:13px;line-height:1.55;color:var(--muted)}
.contact-hint{margin:0 auto 22px;max-width:46ch}
.form-status{margin-inline:auto!important;text-align:center;font-size:15px!important;color:var(--accent);margin:18px 0 0;max-width:54ch}
.form-status:empty{display:none}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-flow:has(.contact-success:not([hidden])){max-width:none;width:100%;min-height:0}
.contact-success{--success-clearance:144px;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(16px,2.6svh,24px);width:100%;max-width:none;min-height:calc(100svh - var(--success-clearance));padding:8px 0 max(12px,env(safe-area-inset-bottom));text-align:center}
.contact-success.is-print-pending>h2{opacity:0}
.contact-success-print{position:absolute;z-index:0;pointer-events:none;opacity:.28}
.contact-success>h2,.contact-success>p,.contact-success-actions{position:relative;z-index:1}
.contact-success-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:0}
.contact-success-actions .button{justify-content:center;min-height:54px}
.contact-success h2{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;flex:0 1 auto;width:100%;max-width:none;height:min(48svh,380px);min-height:72px;margin:0;line-height:0}
.contact-success-art{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;opacity:.28;user-select:none}
.contact-success-fallback{display:block;max-width:100%;font-family:"Google Sans Flex",Arial,sans-serif;font-size:min(clamp(30px,7vw,100px),12svh);font-weight:var(--headline-weight);font-variation-settings:"wdth" var(--headline-width);line-height:1.05;letter-spacing:-.035em;text-align:center;opacity:.28}
.contact-success p{font-size:clamp(18px,2.2vw,28px);line-height:1.3;letter-spacing:-.025em;text-wrap:balance;max-width:34ch;margin:0;text-align:center}
@media(max-width:700px){.contact-success{--success-clearance:210px}.contact-success h2{width:calc(100% + 48px);max-width:100vw;height:min(38svh,240px)}}
@media(max-height:500px){.contact-success{gap:10px;min-height:calc(100svh - var(--success-clearance));padding:0 0 max(10px,env(safe-area-inset-bottom))}.contact-success h2{height:min(34svh,160px);min-height:36px;max-height:160px}.contact-success p{font-size:18px;max-width:40ch}.contact-success-actions .button{min-height:48px;padding:12px 22px}}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.contact-choices label>span,.contact-periods label>span,.form-field input{background:rgba(40,39,36,.94)}}
@media(max-width:1100px){.contact-entry .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(max-width:700px){.contact-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-choices label:last-child:nth-child(odd){width:calc((100% - 10px)/2)}.contact-choices label>span{min-height:70px;padding:16px 10px;font-size:16px}.contact-form legend{margin-bottom:30px}.contact-progress{margin-bottom:30px;gap:16px}.contact-flow{min-height:440px}.contact-periods{gap:8px}.contact-periods label>span{min-height:54px;padding:14px 5px;font-size:14px}.contact-entry{grid-template-columns:minmax(0,1fr);gap:16px}.contact-next,.contact-send,.contact-back{justify-self:center;min-width:0;max-width:100%;width:180px;min-height:48px;padding:12px 18px;font-size:14px;white-space:normal;border-radius:var(--control-radius)}.form-field input{padding-inline:16px}.form-field input:hover,.form-field input:focus,.form-field input:focus-visible{padding-inline:15px}}
@media(hover:none){.contact-choices label:hover>span,.contact-periods label:hover>span,.contact-next:hover,.contact-send:hover,.contact-back:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.contact-progress-dot,.contact-choices label>span,.contact-periods label>span,.contact-next,.contact-send,.contact-native-send,.form-field input,.contact-back,.contact-back svg,.contact-choices label>span:before,.contact-periods label>span:before,.contact-back:before,.contact-success-actions .button,.faq-list details,.faq-list summary{transition:none}.faq-list details[open] .faq-answer{animation:none}}
[hidden]{display:none!important}
.privacy-note{margin-top:22px}
.site-footer{position:relative;z-index:1;padding:0 var(--gutter) 36px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:28px}
.footer-top p{font-size:clamp(24px,3vw,40px);letter-spacing:-.03em;margin:0}
.footer-mark{display:block;width:100%;max-width:1300px;margin:25px auto 60px;overflow:visible}
.footer-mark img{display:block;width:100%;height:auto;max-height:450px;object-fit:contain}
.footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;font-size:13px;color:var(--muted);line-height:1.6}
.footer-bottom nav{display:flex;gap:12px 24px;flex-wrap:wrap;max-width:430px}
.footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.footer-bottom a:hover{color:var(--accent)}
.footer-bottom p{margin:0}
.footer-bottom>span{white-space:nowrap}
.detail:before{content:'';position:fixed;inset:0;pointer-events:none;background:url('assets/ambient-wave.svg') center/cover;opacity:.1}
.detail #main>.content-section:first-child{padding-top:max(160px,var(--section-space))}
.detail-content{padding:160px var(--gutter) 100px;max-width:1480px;margin:0 auto}
.detail-hero{margin-bottom:80px}
.back-link{color:var(--accent);font-size:15px;flex-direction:row-reverse;justify-content:flex-end;margin-bottom:48px}
.back-link svg{transform:rotate(180deg)}
.detail-hero h1,.error-page h1{font-size:clamp(44px,6.6vw,96px);font-weight:var(--headline-weight);line-height:1.04;letter-spacing:-.04em;margin:0 0 36px;max-width:19ch}
.detail-hero>p{font-size:clamp(19px,1.8vw,26px);line-height:1.5;max-width:48ch;margin-bottom:28px}
.detail-hero>.button{margin-top:8px}
.detail-body{max-width:780px;margin:0 0 0 auto}
.detail-body h2{font-size:clamp(32px,4.3vw,58px);line-height:1.08;letter-spacing:-.035em;font-weight:var(--headline-weight);margin:90px 0 28px}
.detail-body h3{font-size:clamp(24px,2.7vw,36px);line-height:1.15;letter-spacing:-.025em;font-weight:var(--headline-weight);margin:48px 0 18px;color:var(--accent)}
.detail-body p{font-size:var(--text-size);line-height:1.65;margin-bottom:24px;max-width:62ch}
.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px 48px;margin:90px 0 0}
.service-detail .detail-body{position:relative}
.case-image{margin:0 0 100px}
.case-image>img{display:block;width:100%;height:auto}
.case-image.vanta{max-width:850px;margin-inline:auto}
.case-image.vanta>img{max-height:900px;object-fit:contain}
.case-image figcaption{font-size:14px;color:var(--muted);margin-top:18px}
.demo-note{font-size:15px!important;color:var(--accent)}
.error-page{min-height:100svh;padding:160px var(--gutter) 96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center}.error-code{display:block;font-size:clamp(150px,24vw,360px);font-weight:var(--headline-weight);font-variation-settings:"wdth" var(--headline-width);line-height:.8;letter-spacing:-.04em;color:var(--accent)}.error-page h1{font-size:clamp(32px,4vw,52px);margin:0}.error-page .detail-actions{justify-content:center;margin:8px 0 0;gap:20px}.error-page .button{background:var(--accent-button);color:var(--paper)}
.error-page>p{font-size:var(--text-size);max-width:40ch;line-height:1.6;margin:0}
@media(min-width:701px) and (max-width:1100px){
 .detail-hero h1,.error-page h1{font-size:clamp(58px,6.6vw,96px)}
 .project-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-nav{width:calc(100% - 64px)}
 .nav-shell{padding-left:130px}
 .nav-brand{width:136px}
 .nav-link{font-size:13px;padding-inline:8px}
 .nav-cta{min-width:158px;font-size:13px;padding-inline:14px}
 .project-caption{display:flex;gap:10px}
 .project-kind{font-size:12px;padding:6px 8px}
 .combined-service{padding:36px}
 .section-intro,.approach-columns{gap:6%}
 .problem-copy{width:78%}
 .faq{grid-template-columns:1fr;gap:28px}
 .faq>h2{position:static}
 .form-grid{grid-template-columns:1fr;gap:0}
}
@media(max-width:700px){
 :root{--gutter:24px;--section-space:96px;--text-size:18px}
 [id]{scroll-margin-top:100px}
 .nav-shell{padding-left:104px}
 .nav-brand{width:112px;left:-8px}
 .nav-cta{min-width:0;font-size:13px;padding-inline:15px}
 .nav-toggle{width:44px}
 .nav-links{width:100%}
 .nav-link{min-height:52px;padding:14px 20px;font-size:16px;justify-content:start}

 .problem{min-height:1000px;padding-top:128px}
 .problem-copy{width:100%}
 .problem h2{font-size:var(--section-heading-size)}
 .problem-copy>p{font-size:var(--text-size);max-width:40ch}
 .solution{padding-left:58px}
 .step-copy h2{font-size:var(--subheading-size)}
 .solution-step{padding:50px 0 64px}
 .solution-end>p{font-size:32px}
 .content-section h1,.content-section h2{font-size:var(--section-heading-size);margin-bottom:26px}
 .section-intro{display:block;margin-bottom:44px}
 .section-intro p{max-width:40ch}
 .project-list{grid-template-columns:1fr;gap:32px}
 .project{margin-bottom:0}
 .project:last-child{margin-bottom:0;padding-top:0}
 .project-caption{display:flex;gap:10px}
 .project-caption h3{font-size:20px}
 .project-kind{font-size:12px;padding:6px 8px}
 .project-image{aspect-ratio:4/3}
 .project-open{bottom:16px;left:16px;right:16px;padding:12px 14px;font-size:13px;transform:none}
 .service-pair{display:block}
 .service{padding:0 0 48px}
 .service h3{font-size:var(--subheading-size)}
 .service .service-promise{font-size:23px}
 .service li{font-size:var(--text-size)}
 .combined-service{display:block;margin:16px -10px 0;padding:36px 24px;border-radius:40px}.combined-service h3{text-align:center}
 .combined-service h3{font-size:var(--subheading-size);margin-bottom:28px}
 .combined-service .button{font-size:20px;width:100%;min-width:0;max-width:330px}
 .approach-columns{display:flex;flex-direction:column;gap:48px}
 .press-print{position:relative;top:auto;padding:0;width:100%;overflow:visible}
 .press-print img{width:110%;margin-left:-5%}
 .press-print figcaption{max-width:100%;font-size:15px}
 .approach-copy .approach-principle{font-size:28px;margin-top:44px}
 .about{display:flex;flex-direction:column;gap:36px}
 .about-type{aspect-ratio:1.8;width:100%;max-width:400px}
 .about-type>img{width:45%;height:100%}
 .about-type>span{width:76%;left:auto;right:0}
 .about-copy h2{max-width:100%}
 .faq{display:block}
 .faq>h2{position:static}
 .faq-list details{padding:20px 18px}
 .faq-list summary{font-size:18px;gap:18px}
 .faq-answer{padding-right:0}
 .faq-answer p{font-size:var(--text-size)}
 .contact{display:block}
 .form-grid{grid-template-columns:1fr;gap:0}
 .form-field{margin-bottom:22px}
 .footer-top{align-items:start}
 .footer-top p{font-size:24px;max-width:10ch}
 .footer-top .text-link{font-size:14px}
 .footer-mark{margin:24px auto 36px}
 .footer-bottom{display:flex;flex-wrap:wrap;gap:24px}
 .footer-bottom nav{gap:12px 20px}
 .detail #main>.content-section:first-child{padding-top:max(126px,var(--section-space))}
 .detail-content{padding-top:126px;padding-bottom:80px}
 .detail-hero{margin-bottom:56px}
 .back-link{margin-bottom:32px}
 .detail-hero h1,.error-page h1{font-size:clamp(34px,9.5vw,58px);max-width:20ch}
 .detail-hero>p{font-size:19px}
 .detail-body h2{font-size:32px;margin-top:64px}
 .detail-body h3{font-size:25px}
 .detail-body p{font-size:18px}
 .detail-actions{margin-top:60px;gap:24px}
 .case-image{margin-bottom:64px}
 .error-page{padding-top:170px}
}

@media(prefers-reduced-motion:reduce){.project-image img,.project-open,.button{transform:none!important}}
.draft-fallback{display:block;width:100%;min-height:200px;background:var(--ink);color:var(--paper);border:1px solid var(--accent);padding:16px;margin-top:16px;font:inherit}
@media(scripting:none){img[data-src]{display:none}.site-nav{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}.home .site-nav{position:absolute}.nav-toggle{display:none}}
@media(max-width:360px){.nav-shell{padding-left:90px;gap:4px}.nav-brand{width:98px}.nav-cta{font-size:13px;padding-inline:15px}.nav-toggle{width:44px}}
@media(scripting:none) and (max-width:700px){
 .nav-shell{flex-wrap:wrap}
 .nav-links{position:static;flex-direction:row;flex-wrap:wrap;flex-basis:100%;order:3;transform:none;opacity:1;visibility:visible;pointer-events:auto;width:auto;padding:0;background:transparent}
 .nav-link{font-size:12px;min-height:36px;padding:4px 8px}
 .nav-cta{margin-left:auto}
}

/* The SVG keeps layout and link semantics while its visible ink becomes dots. */
.footer-mark{position:relative}
.halftone-print{position:absolute;top:0;pointer-events:none}
.halftone-ready>img,.halftone-pending>img{opacity:0}

/* JS animates native disclosure height while keeping the fallback functional. */
.about-wordmark{display:inline-block;width:2.15em;height:auto;vertical-align:-.06em;margin:0 .04em}
.about-type.halftone-ready>noscript{display:none}

/* Native project window follows the supplied gallery references. */
html.project-window-open{overflow:hidden}
.project-dialog{--project-nav-top:28px;--project-nav-height:var(--nav-height);position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:var(--ink);color:var(--paper);overflow:auto;overscroll-behavior:contain;scrollbar-width:none}
.project-dialog::backdrop{background:rgba(0,0,0,.7)}
.project-dialog::-webkit-scrollbar{display:none}
.project-dialog>.site-nav{width:min(calc(100% - 180px),1160px);left:calc(50% - 32px);top:var(--project-nav-top)}
.project-dialog .site-nav>.nav-shell{height:var(--project-nav-height);min-height:var(--project-nav-height)}
.project-close{position:fixed;right:28px;top:var(--project-nav-top);z-index:4;width:var(--project-nav-height);height:var(--project-nav-height);display:grid;place-items:center;border:0;border-radius:50%;color:var(--paper);background:rgba(47,46,43,.75);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .3s var(--ease-out),transform .4s var(--ease-out)}
.project-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.project-close:hover{background:var(--accent-button);transform:rotate(90deg)}
.project-window-body{width:min(1400px,100%);margin:0 auto;padding:110px 48px 180px}
.project-window-heading{text-align:center;padding:30px 0 70px}
.project-window-heading h2{font-size:clamp(48px,7vw,112px);line-height:1.02;letter-spacing:-.04em;font-weight:var(--headline-weight);margin:0 auto 24px;max-width:15ch;text-wrap:balance}
.project-window-heading p{font-size:18px;color:var(--accent);margin:0}
.project-window-image{margin:0 0 80px;border-radius:14px;overflow:hidden;background:#242421}
.project-window-image img{display:block;width:100%;height:auto}
.project-window-image.vanta{background:#263d30}
.project-window-image.vanta img{max-height:88svh;object-fit:contain}
.project-window-details{max-width:800px;margin:0 auto}
.project-window-details section{scroll-margin-top:100px;margin:0 0 64px}
.project-window-details h3{font-size:clamp(30px,4vw,54px);line-height:1.1;letter-spacing:-.035em;font-weight:var(--headline-weight);margin:0 0 24px}
.project-window-details p{font-size:var(--text-size);line-height:1.65;max-width:62ch;color:var(--muted);margin:0 0 20px}
.project-info.nav-shell{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));z-index:3;transform:translateX(-50%);width:max-content;max-width:calc(100% - 48px);padding:8px 9px;gap:14px;background:rgba(47,46,43,.62)}
.project-info[hidden]{display:none}
.project-info-links{display:flex;align-items:center;gap:2px}
.project-info .nav-link{font-size:14px;padding:0 18px}
.project-info .nav-cta{min-width:0;display:flex;gap:12px;font-size:14px;padding:0 21px}
.project-visit svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;transform:rotate(-40deg)}
.project-window-body>p[role=status]{text-align:center}
@supports not (backdrop-filter:blur(1px)){.project-info.nav-shell{background:rgba(47,46,43,.96)}}
@media(min-width:701px) and (max-width:1000px){
 .project-window-heading h2{font-size:clamp(64px,7vw,112px)}
 .project-dialog{--project-nav-top:26px}
 .project-dialog .site-nav .nav-toggle{display:block;width:44px;margin-left:auto}
 .project-dialog .site-nav .nav-links{display:none;position:absolute;top:calc(100% + 12px);inset-inline:0;flex-direction:column;align-items:stretch;padding:16px;border-radius:24px;background:rgba(47,46,43,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
 .project-dialog .site-nav.menu-open .nav-links{display:flex}
 .project-dialog .site-nav .nav-link{min-height:48px}
}
@media(max-width:700px){
 .project-dialog{--project-nav-top:18px}
 .project-dialog>.site-nav{width:calc(100% - 88px);left:calc(50% - 32px);top:var(--project-nav-top)}
 .project-dialog .site-nav .nav-shell{padding-left:56px;gap:6px;min-height:var(--project-nav-height)}
 .project-dialog .site-nav .nav-brand{width:64px;left:-6px}
 .project-dialog .site-nav .nav-toggle{width:44px}
 .project-dialog .site-nav .nav-cta{min-width:0;font-size:12px;padding-inline:10px;min-height:44px}
 .project-close{top:var(--project-nav-top);right:12px;width:var(--project-nav-height);height:var(--project-nav-height)}
 .project-window-body{padding:96px 20px 185px}
 .project-window-heading{padding:22px 4px 48px}
 .project-window-heading h2{font-size:clamp(38px,10.8vw,64px)}
 .project-window-heading p{font-size:15px}
 .project-window-image{margin-bottom:54px;border-radius:8px}
 .project-window-details section{margin-bottom:48px}
 .project-info.nav-shell{width:calc(100% - 24px);max-width:none;gap:4px 8px;padding:7px 9px 9px;border-radius:var(--control-radius);flex-wrap:wrap;bottom:max(12px,env(safe-area-inset-bottom))}
 .project-info-links{margin-inline:auto;gap:0}
 .project-info .nav-link{min-height:44px;font-size:12px;padding:0 10px}
 .project-info .project-visit{width:100%;justify-content:center;min-height:44px}
}

@media(max-width:360px){.project-dialog .site-nav .nav-shell{padding-left:54px;gap:4px}.project-dialog .site-nav .nav-brand{left:-8px}.project-dialog .site-nav .nav-cta{padding-inline:6px}.contact-periods label>span{font-size:13px;padding-inline:3px}}

.nav-link[aria-current="page"]{background:rgba(247,244,236,.07)}

.estrella-name{font-family:"Estrella",serif;font-weight:400;font-synthesis:none;font-stretch:normal;font-variation-settings:normal;letter-spacing:-.02em}
.home #darbai ~ .content-section::before,.home .site-footer::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:4px;background:radial-gradient(circle,#ead6c5 1.2px,transparent 1.4px) center/9px 4px repeat-x;opacity:.38;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);pointer-events:none}

/* Keep the collapsed menus roomy without reducing the available destinations. */
@media(max-width:1000px) and (min-width:701px){
 .project-dialog .site-nav .nav-links{display:flex;gap:8px;width:100%;padding:14px;border:1px solid rgba(247,244,236,.14);border-radius:30px;background:rgba(38,37,34,.86);-webkit-backdrop-filter:blur(22px) saturate(120%);backdrop-filter:blur(22px) saturate(120%);box-shadow:0 16px 40px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .24s var(--ease-out),transform .3s var(--ease-out),visibility 0s .3s}
 .project-dialog .site-nav.menu-open .nav-links{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
 .project-dialog .site-nav .nav-link{min-height:52px;padding:14px 20px;font-size:16px;justify-content:start;justify-items:start}
}
@media(max-width:700px){
 .project-dialog .site-nav .nav-links{width:calc(100% + var(--project-nav-height) + 6px);right:auto}
}
@media(max-width:900px){
 .problem{--press-art-height:45vw;align-items:flex-start;min-height:100svh;padding-bottom:calc(32px + var(--press-art-height))}
 .problem-copy{width:100%}
 .press-fallback{left:50%;right:auto;top:var(--press-top);bottom:auto;transform:translateX(-50%)}
}
@media(max-width:700px){.problem{--press-art-height:57.5vw}}
@media(scripting:none) and (max-width:900px){
 .problem{display:block;padding-bottom:0}
 .press-fallback{position:relative;top:auto;margin-top:32px}
}

/* The printed cursor is an enhancement; native pointers remain the fallback. */
.section-cursor{position:fixed;left:0;top:0;z-index:30;display:none;will-change:transform;isolation:isolate}
.section-cursor,.section-cursor *{pointer-events:none!important}
.section-cursor-print{position:absolute;left:-32px;top:-32px;display:block;width:64px;height:64px}
@media(hover:hover) and (pointer:fine){.section-cursor{display:block}html.section-cursor-active #problema,html.section-cursor-active #problema *,html.section-cursor-active #sprendimas,html.section-cursor-active #sprendimas *{cursor:none!important}}
@media(hover:hover){.contact-choices label:hover>span,.contact-periods label:hover>span,.contact-form .contact-next:hover,.contact-form .contact-send:hover,.contact-form .contact-back:hover,.contact-success-actions .button:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.contact-choices label:hover>span,.contact-periods label:hover>span,.contact-form button:hover,.contact-success-actions .button:hover{transform:none}}
.mobile-contact-cta{display:none}
@media(max-width:700px){
 body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .site-nav .nav-cta{display:none!important}
 .mobile-contact-cta{position:fixed;z-index:20;display:grid;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-width:0;min-height:54px;font-size:16px;border:1px solid rgba(247,244,236,.22);background:rgba(47,46,43,.66);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%);opacity:1;visibility:visible;transition:opacity .22s ease,visibility 0s,background .3s var(--ease-out),border-color .3s var(--ease-out)}
 .mobile-contact-cta.is-hidden,body:has(dialog[open])>.mobile-contact-cta{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s .22s,background .3s var(--ease-out),border-color .3s var(--ease-out)}
 .mobile-contact-cta:hover,.mobile-contact-cta:focus-visible{background:rgba(65,59,51,.8);border-color:rgba(247,244,236,.4)}
 .nav-shell{padding-right:10px}.nav-toggle{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.mobile-contact-cta,.mobile-contact-cta.is-hidden,body:has(dialog[open])>.mobile-contact-cta{transition:none}}

@media(max-width:700px){.error-page{padding:128px var(--gutter) 108px;gap:20px}.error-code{font-size:clamp(140px,35vw,210px)}.error-page h1{font-size:32px}.error-page>p{font-size:16px;line-height:1.5}.error-page .detail-actions .text-link{display:none}}


.page-about .about{position:relative;isolation:isolate;overflow:hidden}
.page-about .about-wordmark-field{position:absolute;left:calc(var(--gutter)*-.8);top:50%;width:88%;max-width:none;height:auto;aspect-ratio:735/304;transform:translateY(-50%);z-index:0;opacity:.32;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 35%,rgba(0,0,0,.5) 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 35%,rgba(0,0,0,.5) 62%,transparent 100%)}
.page-about .about-wordmark-field>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.page-about .about-copy{position:relative;z-index:1;grid-column:2}
@media(max-width:1100px){.page-about .approach h1,.page-about .about-copy h2{font-size:clamp(44px,calc(33px + 3.55vw),72px);line-height:1.06}}
@media(max-width:700px){.page-about .about-wordmark-field{left:-12%;top:48%;width:124%;opacity:.18;-webkit-mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.45) 70%,transparent);mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.45) 70%,transparent)}}
