
@font-face{font-family:'Fraunces';src:url('fonts/fraunces.woff2') format('woff2-variations');font-weight:100 900;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url('fonts/hanken.woff2') format('woff2-variations');font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/plexmono-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/plexmono-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--orange:#FA6832;--orange-deep:#E14E16;--lav:#CBCBEF;--lavp:#F4F2FB;--ink:#17152E;--inks:#3A3658;--paper:#FCFAF6;--rule:#E4E1D8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.fr{font-family:'Fraunces',Georgia,serif;font-variation-settings:'opsz' 144}
.mn{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant:small-caps;letter-spacing:.06em}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.sec{padding-block:clamp(48px,7vw,82px)}
.eyb{font-size:13px;color:var(--orange);margin:0 0 14px}
.h2{font-size:clamp(25px,4vw,37px);font-weight:500;line-height:1.08;letter-spacing:-.4px;margin:0 0 32px;color:var(--ink)}
.lead{font-size:15px;line-height:1.62;color:var(--inks);max-width:50ch}
.btn{display:inline-block;font-weight:500;font-size:15px;padding:13px 23px;border-radius:999px;transition:background .18s,color .18s;cursor:pointer;white-space:nowrap}
.btn-o{background:var(--orange);color:var(--paper)}
.btn-o:hover{background:var(--orange-deep)}
.btn-g{border:1px solid var(--ink);color:var(--ink)}
.btn-g:hover{background:var(--ink);color:var(--paper)}
a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}
.hdr{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}
@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.hdr{background:rgba(252,250,246,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:15px}
.brand{display:flex;align-items:center;gap:12px}
.mono-ag{font-size:30px;font-weight:900;color:var(--orange);line-height:.8}
.brand-name{font-size:15px;font-weight:500;color:var(--ink)}
.brand-sub{font-size:11px;color:var(--inks)}
.navlinks{display:flex;align-items:center;gap:20px}
.navlinks a{font-size:13px;color:var(--inks)}
.navlinks a:hover{color:var(--ink)}
.hero{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,5vw,56px);align-items:center;padding-block:clamp(40px,6vw,70px)}
.hero-title{font-size:clamp(33px,5.6vw,56px);font-weight:500;line-height:1.03;letter-spacing:-.6px;margin:0 0 20px;color:var(--ink)}
.hero-media{aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--lav)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.heroA{position:relative;overflow:hidden;padding-block:clamp(54px,8vw,94px)}
.heroA .ag-bg{position:absolute;top:-10%;right:-3%;font-size:clamp(260px,40vw,560px);font-weight:900;color:var(--lav);line-height:.8;opacity:.45;z-index:0;pointer-events:none;font-family:'Fraunces',Georgia,serif;font-variation-settings:'opsz' 144}
.heroA .hero-inner{position:relative;z-index:1;max-width:660px}
.band-img{width:100%;height:clamp(220px,34vw,430px);overflow:hidden}
.band-img img{width:100%;height:100%;object-fit:cover;object-position:center}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.dom-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,4vw,56px)}
.dom-item{display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--rule)}
.dom-idx{font-size:13px;color:var(--orange);padding-top:4px}
.dom-t{font-size:18px;font-weight:500;color:var(--ink);margin:0 0 3px}
.dom-d{font-size:13px;color:var(--inks);line-height:1.5;margin:0}
.band-lav{background:var(--lavp)}
.band-ink{background:var(--ink)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.pill-t{font-size:19px;font-weight:500;color:var(--ink);margin:0 0 8px}
.pill-d{font-size:14px;color:var(--inks);line-height:1.6;margin:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.step-n{font-size:30px;font-weight:900;color:var(--orange);line-height:1;margin:0 0 10px}
.eng-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,4vw,52px)}
.eng-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid rgba(252,250,246,.16)}
.eng-item span:first-child{color:var(--orange)}
.eng-item span:last-child{font-size:14px;color:var(--paper);line-height:1.55}
.cta-final{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,5vw,56px);align-items:center}
.cta-media{aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--lav)}
.cta-media img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.cta-title{font-size:clamp(27px,4.6vw,42px);font-weight:500;line-height:1.04;letter-spacing:-.5px;margin:0 0 16px;color:var(--ink)}
.foot{background:var(--ink);padding-block:clamp(38px,5vw,52px) 22px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:26px}
.foot a,.foot p,.foot div{color:rgba(252,250,246,.72)}
.foot .fname{color:var(--paper);font-size:15px;font-weight:500}
.foot-col a{display:block;font-size:13px;margin-bottom:9px}
.foot-col a:hover{color:var(--paper)}
.foot-addr{font-size:12px;line-height:1.6;color:rgba(252,250,246,.6)}
.foot-bar{border-top:1px solid rgba(252,250,246,.16);margin-top:28px;padding-top:16px;font-size:11px;color:rgba(252,250,246,.55)}
@media (max-width:820px){
.hero,.cta-final{grid-template-columns:1fr}
.hero-media,.cta-media{max-width:440px}
.dom-grid,.pillars,.steps,.eng-grid{grid-template-columns:1fr}
.foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.navlinks .lnk{display:none}.foot-grid{grid-template-columns:1fr}.brand-sub{display:none}.hdr .btn-o{padding:9px 15px;font-size:13px}}
@media (prefers-reduced-motion:no-preference){
.hero>div,.hero-media{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.hero-media{animation-delay:.08s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

.navlinks a.active{color:var(--ink)}
.svc-item{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,300px);gap:clamp(16px,3vw,40px);align-items:start;padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--rule);scroll-margin-top:92px}
.svc-item:first-child{border-top:none;padding-top:4px}
.svc-idx{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant:small-caps;letter-spacing:.06em;font-size:22px;color:var(--orange);line-height:1}
.svc-t{font-size:clamp(20px,2.6vw,26px);font-weight:500;color:var(--ink);margin:0 0 12px;line-height:1.14}
.svc-d{font-size:15px;line-height:1.65;color:var(--inks);margin:0}
.svc-side{border-left:1px solid var(--rule);padding-left:clamp(16px,2vw,26px)}
.svc-tag{font-size:11px;color:var(--orange);margin:0 0 6px}
.svc-cases{font-size:14px;line-height:1.6;color:var(--inks);margin:0}
.cta-simple .cta-title{margin-top:0}
.dom-item:hover .dom-t{color:var(--orange)}
.dom-item:hover{border-top-color:var(--orange)}
@media(max-width:860px){.svc-item{grid-template-columns:52px minmax(0,1fr)}.svc-side{grid-column:1 / -1;border-left:none;padding-left:0;margin-top:4px}}
@media(max-width:640px){.svc-item{grid-template-columns:1fr;gap:8px}}
.price-card{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(28px,4vw,44px);background:var(--lavp);border-radius:14px}
.price-amount{font-size:clamp(40px,7vw,62px);font-weight:500;color:var(--ink);line-height:1;margin:6px 0 10px}
.price-unit{font-size:14px;color:var(--inks);line-height:1.55;margin:0}
.price-body p{font-size:15px;line-height:1.7;color:var(--inks);margin:0 0 14px;max-width:58ch}
.price-note{font-size:13px !important;border-top:1px solid var(--rule);padding-top:14px;margin:2px 0 0 !important}
.tva-note{font-size:13px;color:var(--inks);margin-top:18px;max-width:82ch;line-height:1.6}
@media(max-width:720px){.price-card{grid-template-columns:1fr;gap:16px}}
.narr{max-width:68ch}
.narr p{font-size:16px;line-height:1.75;color:var(--inks);margin:0 0 18px}
.narr p:last-child{margin-bottom:0}
.reperes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);border-top:1px solid var(--rule);padding-top:clamp(22px,3vw,30px);margin-top:clamp(30px,4vw,44px)}
.rep-l{font-size:11px;color:var(--orange);margin:0 0 6px}
.rep-v{font-size:14px;line-height:1.55;color:var(--ink);margin:0}
@media(max-width:720px){.reperes{grid-template-columns:1fr;gap:18px}}
.about-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.about-photo img{width:100%;height:auto;border-radius:12px;display:block}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:24px}.about-photo{max-width:340px}}
.contact-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,5vw,60px);align-items:start}
.contact-side .about-photo{margin-bottom:clamp(20px,3vw,28px)}
.cinfo{display:flex;flex-direction:column;gap:16px}
.cinfo-item .mn{font-size:11px;color:var(--orange);margin:0 0 4px}
.cinfo-item p{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
.cinfo-item a{color:var(--ink);border-bottom:1px solid var(--rule)}
.cinfo-item a:hover{border-color:var(--orange)}
.cform{display:flex;flex-direction:column;gap:16px}
.field label{display:block;font-size:13px;color:var(--ink);margin-bottom:6px;font-weight:500}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:11px 13px}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange)}
.rgpd{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--inks);line-height:1.5}
.rgpd input{margin-top:3px;flex:0 0 auto;accent-color:var(--orange)}
.rgpd a{color:var(--inks);border-bottom:1px solid var(--rule)}
.hp{display:none}
.cform button{align-self:flex-start;margin-top:4px}
.secret-note{font-size:12px;color:var(--inks);margin-top:18px}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:28px}.contact-side .about-photo{max-width:320px}}
.legal{max-width:760px}
.legal-block{padding-top:clamp(24px,3vw,30px);margin-top:clamp(24px,3vw,30px);border-top:1px solid var(--rule)}
.legal-block:first-of-type{border-top:none;margin-top:0;padding-top:0}
.legal h2{font-family:'Fraunces',serif;font-size:clamp(19px,2.3vw,23px);font-weight:500;color:var(--ink);margin:0 0 12px;line-height:1.2}
.legal p{font-size:15px;line-height:1.7;color:var(--inks);margin:0 0 12px}
.legal p:last-child{margin-bottom:0}
.legal ul{margin:0;padding-left:18px}
.legal li{font-size:15px;line-height:1.7;color:var(--inks);margin:0 0 6px}
.legal a{color:var(--ink);border-bottom:1px solid var(--rule);word-break:break-word}
.legal a:hover{border-color:var(--orange)}
.legal-date{font-size:12px;color:var(--inks);margin-top:clamp(28px,4vw,40px)}
.art-list{border-top:1px solid var(--rule);margin-top:clamp(20px,3vw,28px)}
.art-item{display:block;padding:clamp(24px,3vw,32px) 0;border-bottom:1px solid var(--rule);text-decoration:none}
.art-item:hover .art-title{color:var(--orange)}
.art-cat{font-size:11px;color:var(--orange);margin:0 0 8px}
.art-title{font-family:'Fraunces',serif;font-size:clamp(22px,3vw,30px);font-weight:500;color:var(--ink);margin:0 0 10px;line-height:1.15;transition:color .18s}
.art-dek{font-size:15px;line-height:1.65;color:var(--inks);margin:0 0 12px;max-width:70ch}
.art-more{font-size:13px;color:var(--ink);font-weight:500}
.art-more::after{content:" \2192"}
.art-note{font-size:13px;color:var(--inks);margin-top:clamp(24px,3vw,30px)}
.article{max-width:720px}
.article-meta{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant:small-caps;letter-spacing:.05em;font-size:12px;color:var(--inks);margin:0 0 clamp(22px,3vw,30px)}
.article h2{font-family:'Fraunces',serif;font-size:clamp(20px,2.6vw,26px);font-weight:500;color:var(--ink);margin:clamp(28px,4vw,40px) 0 12px;line-height:1.2}
.article p{font-size:16px;line-height:1.75;color:var(--inks);margin:0 0 16px}
.article ul{margin:0 0 16px;padding-left:20px}
.article li{font-size:16px;line-height:1.72;color:var(--inks);margin:0 0 8px}
.article strong{color:var(--ink);font-weight:600}
.article a{color:var(--ink);border-bottom:1px solid var(--rule)}
.deonto-box{max-width:720px;margin-top:clamp(30px,4vw,44px);padding:clamp(20px,3vw,26px);background:var(--lavp);border-radius:12px;font-size:14px;line-height:1.65;color:var(--inks)}
.deonto-box strong{color:var(--ink)}
.art-back{display:inline-block;margin-top:clamp(28px,4vw,40px);font-size:13px;color:var(--ink);border-bottom:1px solid var(--rule)}
.article table{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:14px}
.article th,.article td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--rule)}
.article th{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant:small-caps;letter-spacing:.04em;font-size:11px;color:var(--orange);font-weight:500}
.article td{color:var(--inks)}
.article td:first-child{color:var(--ink)}
.article tr:last-child td{border-bottom:none}
.tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,22px);margin-top:clamp(20px,3vw,28px)}
.tm-card{background:var(--lavp);border-radius:14px;padding:clamp(22px,3vw,30px);display:flex;flex-direction:column}
.tm-quote{font-size:15.5px;line-height:1.66;color:var(--inks);margin:0 0 18px}
.tm-quote::before{content:'\201C';font-family:'Fraunces',serif;font-size:50px;color:var(--lav);line-height:0;display:block;height:26px}
.tm-sig{margin-top:auto;font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant:small-caps;letter-spacing:.05em;font-size:11px;color:var(--orange)}
.tm-wide{grid-column:1 / -1}
@media(max-width:760px){.tm-grid{grid-template-columns:1fr}.tm-wide{grid-column:auto}}
.engage-h{font-family:'Fraunces',serif;font-size:clamp(22px,2.6vw,28px);font-weight:500;color:var(--ink);margin:0 0 clamp(18px,2.5vw,24px);line-height:1.15}
.engage-list{display:grid;gap:14px;max-width:760px}
.engage-item{position:relative;padding-left:22px;font-size:16px;line-height:1.6;color:var(--inks)}
.engage-item::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--orange)}
