
@font-face{font-family:"Lilita One";src:url(../fonts/lilita-one.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(../fonts/nunito-sans.woff2) format("woff2");font-weight:400 800;font-display:swap}
:root{
--paper:#F2EADB;--paper-2:#E8DDC7;--sheet:#FAF5EA;--ink:#161616;--ink-2:#4B453C;--rule:rgba(22,22,22,.16);--blue:#1E46D6;
--f:'Nunito Sans','Helvetica Neue',Arial,sans-serif;--fd:'Gliker','Lilita One','Arial Black',sans-serif;
--blot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.06' numOctaves='3' seed='4'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='7' xChannelSelector='R' yChannelSelector='G'/%3E%3C/filter%3E%3Cg filter='url(%23f)'%3E%3Cpath d='M176.0 100.0 L173.4 103.8 L171.0 107.5 L168.9 110.9 L167.1 114.3 L165.8 117.6 L164.8 121.0 L164.0 124.6 L163.4 128.2 L162.8 132.0 L162.1 135.8 L161.0 139.6 L159.6 143.3 L157.8 146.8 L155.5 150.0 L152.8 152.8 L149.8 155.3 L146.5 157.4 L143.1 159.3 L139.5 160.9 L136.0 162.4 L132.5 163.8 L129.0 165.2 L125.6 166.6 L122.2 168.2 L118.7 169.9 L115.2 171.6 L111.6 173.3 L107.9 175.0 L104.0 176.6 L100.0 178.0 L95.9 179.1 L91.6 180.0 L87.2 180.5 L82.8 180.7 L78.4 180.6 L74.0 180.0 L69.6 179.2 L65.3 177.9 L61.1 176.3 L57.1 174.3 L53.3 172.0 L49.7 169.2 L46.5 166.1 L43.6 162.7 L41.0 159.0 L38.9 155.0 L37.1 150.9 L35.7 146.7 L34.4 142.6 L33.4 138.4 L32.4 134.4 L31.5 130.5 L30.4 126.7 L29.2 123.0 L27.8 119.4 L26.2 115.7 L24.5 112.0 L22.8 108.1 L21.1 104.1 L19.6 100.0 L18.4 95.7 L17.5 91.3 L17.1 86.9 L17.2 82.4 L17.8 78.0 L19.0 73.7 L20.6 69.5 L22.8 65.6 L25.4 62.0 L28.3 58.6 L31.6 55.6 L35.1 52.8 L38.8 50.4 L42.7 48.4 L46.7 46.7 L50.8 45.4 L54.9 44.3 L59.1 43.6 L63.1 43.2 L67.0 42.9 L70.8 42.7 L74.4 42.5 L77.8 42.1 L81.0 41.4 L84.0 40.4 L87.0 39.0 L90.0 37.1 L93.2 34.9 L96.5 32.3 L100.0 29.5 L103.8 26.8 L108.0 24.1 L112.4 21.9 L117.0 20.1 L121.7 19.1 L126.4 18.7 L131.0 19.1 L135.5 20.3 L139.7 22.1 L143.6 24.4 L147.3 27.1 L150.8 30.1 L154.1 33.1 L157.4 36.3 L160.6 39.4 L163.9 42.5 L167.2 45.6 L170.6 48.7 L173.8 52.1 L176.9 55.6 L179.6 59.4 L181.9 63.5 L183.5 67.9 L184.5 72.6 L184.6 77.3 L184.0 82.1 L182.7 86.9 L180.8 91.5 L178.5 95.9 Z'/%3E%3Ccircle cx='188.4' cy='137.4' r='4.0'/%3E%3Ccircle cx='68.0' cy='193.7' r='2.6'/%3E%3Ccircle cx='4.2' cy='84.7' r='3.4'/%3E%3Ccircle cx='89.3' cy='5.6' r='2.2'/%3E%3Ccircle cx='177.6' cy='36.9' r='3.0'/%3E%3C/g%3E%3C/svg%3E");
color-scheme:light;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;scrollbar-color:var(--ink) var(--paper)}
body{margin:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .55' numOctaves='3' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42  0 0 0 0 .33  0 0 0 0 .19  0 0 0 .12 -.03'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .28  0 0 0 0 .18  0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),var(--paper);color:var(--ink);font-family:var(--f);font-size:1.0625rem;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
::selection{background:var(--blue);color:var(--paper)}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:4px}
.wrap{padding-inline:clamp(20px,5vw,72px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;font-size:.9rem}
.skip:focus{top:12px}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:70;background:radial-gradient(120% 90% at 50% 45%,transparent 62%,rgba(120,92,48,.13) 100%)}
#pg{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--blue);z-index:120}
.rough{filter:url(#rough)}

.eyebrow{margin:0 0 24px;font-weight:700;font-size:clamp(.82rem,1.1vw,1rem);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding-block:16px;transition:background .4s,box-shadow .4s}
nav.solid{background:rgba(242,234,219,.94);box-shadow:0 1px 0 var(--rule)}
.brand{display:flex;flex-direction:column;line-height:1}
.logo{display:block;height:26px}
.logo svg{height:100%;width:auto;display:block;fill:currentColor}
.brand small{font-size:.6rem;font-weight:800;letter-spacing:.16em;margin-top:6px;align-self:flex-end}
.nr{display:flex;align-items:center;gap:clamp(16px,2.6vw,36px)}
nav ul{display:flex;gap:clamp(14px,2.4vw,34px);list-style:none;margin:0;padding:0;font-size:.95rem;font-weight:500}
nav ul a{position:relative;padding-block:6px}
nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.16,1,.3,1)}
nav ul a:hover::after,nav ul a:focus-visible::after,nav ul a.on::after{transform:scaleX(1)}
nav ul a.on{font-weight:700}
.lang{font:600 .78rem var(--f);letter-spacing:.06em;color:var(--ink);background:none;border:1.5px solid var(--ink);border-radius:999px;padding:6px 12px;cursor:pointer;transition:background .3s,color .3s}
.lang:hover,.lang:focus-visible{background:var(--ink);color:var(--paper)}
.burger{display:none;background:none;border:0;width:44px;height:44px;padding:0;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:6px auto;transition:transform .3s}

/* hero */
.hero{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .55' numOctaves='3' seed='9' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42  0 0 0 0 .33  0 0 0 0 .19  0 0 0 .12 -.03'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .28  0 0 0 0 .18  0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),var(--paper);position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:130px 90px;overflow:hidden;isolation:isolate}
h1{margin:0;font-weight:800;font-stretch:84%;font-size:clamp(3.3rem,11.2vw,11rem);line-height:.86;letter-spacing:-.045em;max-width:9.5em}
h1 span{display:block}
h1 span+span{margin-top:.04em}
.actions{margin-top:44px;display:flex;align-items:center;gap:clamp(22px,4vw,40px);flex-wrap:wrap}
.btn{--x:50%;--y:50%;position:relative;display:inline-flex;align-items:center;gap:12px;padding:18px 30px;border-radius:999px;background:var(--ink);color:var(--paper);font:600 1rem var(--f);letter-spacing:.01em;overflow:hidden;isolation:isolate;border:0;cursor:pointer}
.btn::before{content:"";position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;margin:-6px;border-radius:50%;background:var(--blue);transform:scale(0);transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:-1;filter:url(#rough-lg)}
.btn:hover::before,.btn:focus-visible::before{transform:scale(40)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.link{position:relative;font-weight:600;padding-block:6px}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform-origin:0 50%;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.link:hover::after,.link:focus-visible::after{transform:scaleX(.35)}

/* sections */
section.pad{position:relative;padding-block:clamp(88px,13vw,170px)}
.sh{display:flex;justify-content:space-between;align-items:end;gap:24px 48px;margin-bottom:clamp(40px,6vw,76px);flex-wrap:wrap}
.h2{margin:0;font-weight:800;font-stretch:86%;font-size:clamp(2.4rem,6.4vw,5.6rem);letter-spacing:-.04em;line-height:.92}
.sh p{margin:0;color:var(--ink-2);max-width:34ch;font-size:1.08rem}

/* services */
.svc{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.svc li{--mx:50%;position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(24px,3.6vw,46px) clamp(4px,1.4vw,20px);border-bottom:1.5px solid var(--ink);isolation:isolate;overflow:hidden;transition:color .5s}
.svc li::before{content:"";position:absolute;left:var(--mx);top:50%;width:40px;height:40px;margin:-20px;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .9s cubic-bezier(.2,.8,.2,1);z-index:-1;filter:url(#rough-lg)}
.svc li:hover{color:var(--paper)}
.svc li:hover::before{transform:scale(48)}
.svc li:hover p{color:rgba(242,234,219,.82)}
.svc h3{margin:0;font-weight:800;font-stretch:84%;font-size:clamp(2.1rem,7.4vw,6.6rem);letter-spacing:-.045em;line-height:.95}
.svc p{margin:0;color:var(--ink-2);max-width:28ch;text-align:right;font-size:1.05rem;transition:color .5s}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,26px)}
@media(max-width:1280px){.plans{grid-template-columns:repeat(2,1fr);max-width:980px}}
.plan{position:relative;display:flex;flex-direction:column;padding:34px clamp(22px,2.4vw,34px) 30px;background:var(--sheet);border:1.5px solid var(--ink);border-radius:18px}
.plan h3{margin:0 0 18px;font-size:1.25rem;font-weight:700}
.price{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.price small{font-size:1rem;color:var(--ink-2)}
.price b{font-weight:800;font-stretch:84%;font-size:clamp(3.2rem,5.4vw,4.6rem);letter-spacing:-.04em;line-height:1}
.price b.q{font-size:clamp(2.2rem,3.4vw,3rem)}
.plan>p{margin:0 0 22px;color:var(--ink-2)}
.plan ul{list-style:none;margin:0 0 30px;padding:20px 0 0;border-top:1.5px dashed var(--rule);display:grid;gap:12px}
.plan li{position:relative;padding-left:30px}
.plan li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;background:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 12.8c2.2 1.4 3.6 3 4.7 5.2C11 11.6 15 7 20.8 4.2' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 12.8c2.2 1.4 3.6 3 4.7 5.2C11 11.6 15 7 20.8 4.2' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.plan .btn{margin-top:auto;align-self:flex-start;padding:15px 26px;font-size:.95rem}
.plans-note{margin:30px 0 0;color:var(--ink-2);max-width:70ch}

/* area */
.area .lede{margin:0 0 36px;color:var(--ink-2);max-width:64ch;font-size:1.1rem}
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.chips li{padding:9px 16px;border:1.5px solid var(--ink);border-radius:99px;font-size:.95rem;font-weight:500}
.chips li.k{background:var(--ink);color:var(--paper)}
.chips a{display:block;margin:-9px -16px;padding:9px 16px;border-radius:99px;transition:background .3s,color .3s}
.chips a:hover,.chips a:focus-visible{background:var(--ink);color:var(--paper)}
.area .more{margin:28px 0 0;font-weight:600}.area .more a{border-bottom:2px solid var(--ink);padding-bottom:3px}

/* faq */
.faq{border-top:1.5px solid var(--ink);max-width:980px}
.qa{border-bottom:1.5px solid var(--ink)}
.qa summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 4px;cursor:pointer;list-style:none;font-weight:700;font-size:clamp(1.12rem,1.9vw,1.45rem);letter-spacing:-.01em;line-height:1.3}
.qa summary::-webkit-details-marker{display:none}
.qa i{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);transition:background .4s,transform .5s cubic-bezier(.16,1,.3,1)}
.qa i::before,.qa i::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;margin:-1px 0 0 -6.5px;background:var(--ink);transition:background .4s}
.qa i::after{transform:rotate(90deg)}
.qa[open] i{background:var(--ink);transform:rotate(45deg)}
.qa[open] i::before,.qa[open] i::after{background:var(--paper)}
.ans p{margin:0 0 28px;padding-inline:4px;color:var(--ink-2);max-width:66ch}

/* contact: the page floods with ink */
#contact{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:var(--paper);isolation:isolate;--p:1}
#contact .flood{position:absolute;inset:0;z-index:-1;background:var(--ink);-webkit-mask:var(--blot) 50% 0%/calc(var(--p)*560%) auto no-repeat;mask:var(--blot) 50% 0%/calc(var(--p)*560%) auto no-repeat}
#contact.full .flood{-webkit-mask:none;mask:none}
#contact .in{padding-block:120px 80px}
#contact h2{margin:0 0 20px;font-weight:800;font-stretch:84%;font-size:clamp(3rem,10vw,9rem);line-height:.88;letter-spacing:-.045em}
#contact h2 .gt{color:inherit}
#contact>.in>p{color:rgba(242,234,219,.75);margin:0 0 40px;font-size:1.15rem}
.cf{display:grid;gap:14px;width:min(460px,100%);margin:0 auto;text-align:left}
.cf input,.cf textarea{width:100%;background:transparent;color:var(--paper);border:1.5px solid rgba(242,234,219,.4);border-radius:14px;padding:15px 18px;font:400 16px var(--f);resize:none;transition:border-color .3s}
.cf input::placeholder,.cf textarea::placeholder{color:rgba(242,234,219,.55)}
.cf input:focus,.cf textarea:focus{outline:none;border-color:var(--paper)}
.cf .btn{justify-self:center;margin-top:6px;background:var(--paper);color:var(--ink)}
.cf .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.mail{display:block}
.cf .legal{margin:2px 0 0;font-size:.8rem;color:rgba(242,234,219,.6);line-height:1.5;text-align:center}
.cf .legal a{border-bottom:1px solid currentColor}
.st{min-height:1.4em;text-align:center;font-size:.92rem;color:var(--paper)}
.phone{display:inline-block;margin-top:44px;font-weight:800;font-stretch:88%;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.01em;border-bottom:2px solid rgba(242,234,219,.35);transition:border-color .3s}
.phone:hover{border-color:var(--paper)}
.es{margin-top:12px;font-size:.95rem;color:rgba(242,234,219,.65)}
footer{display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding-block:30px;background:var(--ink);color:rgba(242,234,219,.65);font-size:.88rem;border-top:1px solid rgba(242,234,219,.15)}
footer a{border-bottom:1px solid currentColor}
footer .gt{color:var(--paper)}
footer .fcol{display:flex;flex-direction:column;gap:6px}footer .fcol b{color:var(--paper);font-size:1rem}footer .fcol a{width:fit-content}
footer .fr{text-align:right;align-items:flex-end}
footer nav.fl{position:static;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:0;background:none;box-shadow:none;z-index:auto}
footer nav.fl a{width:fit-content}
@media(max-width:760px){footer .fr{text-align:left;align-items:flex-start}footer{padding-bottom:96px}}
/* bigger tap targets on phones */
@media(max-width:760px){
 footer .fcol,footer nav.fl{gap:2px}
 footer .fcol a,footer nav.fl a,footer .fr a{display:inline-block;padding-block:11px;border-bottom:0;text-decoration:underline;text-underline-offset:4px}
 .lang{min-height:42px;min-width:44px;padding:8px 14px}
 .crumbs a{display:inline-block;padding-block:11px}
 .more-revs a,.area .more a{display:inline-block;padding-block:12px}
 .cue{padding-block:10px}
}

/* whatsapp */
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink);display:grid;place-items:center;box-shadow:3px 4px 0 var(--ink);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.wa:hover{transform:translate(-2px,-2px)}
.wa svg{width:30px;height:30px;pointer-events:none}
.wa.dragging{cursor:grabbing;transition:none}

/* testimonials (shown only when real quotes are added) */
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.rev{margin:0;padding:30px;border:1.5px solid var(--ink);border-radius:18px;background:var(--sheet)}
.rev blockquote{margin:0 0 20px;font-size:1.2rem;font-weight:500;line-height:1.45}
.more-revs{margin:30px 0 0;font-weight:600}.more-revs a{border-bottom:2px solid var(--ink);padding-bottom:3px}
.rev .stars{display:block;color:var(--blue);letter-spacing:.15em;margin-bottom:14px;font-size:1.1rem}
.rev figcaption b{display:block}.rev figcaption span{color:var(--ink-2);font-size:.92rem}
.rev figcaption{display:flex;align-items:center;gap:12px}.rev figcaption>span{color:var(--ink);font-size:1rem}.rev figcaption span span{display:block;color:var(--ink-2);font-size:.92rem}.rev .av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:400 .95rem var(--fd);font-style:normal}

/* display type: Gliker everywhere the brand speaks loudly */
h1,.h2,.svc h3,.price b,#contact h2,.phone{font-family:var(--fd);font-weight:400;font-stretch:normal;letter-spacing:-.01em}
h1{font-size:clamp(3rem,8.6vw,8.6rem);line-height:.92;max-width:none}
.h2{font-size:clamp(2.3rem,5.4vw,4.8rem);line-height:.98}
.svc h3{font-size:clamp(2rem,6vw,5.4rem);line-height:1}
#contact h2{font-size:clamp(2.8rem,8.6vw,8rem);line-height:.92}
.price b{font-size:clamp(3rem,5vw,4.2rem)}.price b.q{font-size:clamp(2rem,3vw,2.6rem)}
.phone{font-size:clamp(1.7rem,3.6vw,2.7rem);letter-spacing:.01em}
.plan h3,.qa summary{font-weight:800}

/* responsive */
@media(max-width:980px){
 .plans{grid-template-columns:1fr;max-width:560px}
}
@media(max-width:760px){
 .burger{display:block}
 nav.open .burger span:first-child{transform:translateY(4px) rotate(45deg)}nav.open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
 nav ul{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);padding:4px clamp(20px,5vw,72px) 16px;border-bottom:1.5px solid var(--ink);font-size:1.15rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility .3s}
 nav.open{background:var(--paper)}
 nav.open ul{opacity:1;visibility:visible;transform:none}
 nav ul a{display:block;padding:15px 0;border-bottom:1px solid var(--rule)}nav ul li:last-child a{border-bottom:0}nav ul a::after{display:none}
 .nr{gap:8px}
 .logo{height:22px}
 .hero{padding-block:110px 70px;justify-content:flex-end}
 .svc li{flex-direction:column;align-items:flex-start;gap:10px}.svc p{text-align:left}
 footer{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .ink-in{clip-path:none;transform:none;opacity:1}
}
.ig{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;font-size:.95rem;color:rgba(242,234,219,.8);border-bottom:0;transition:color .3s}.ig:hover{color:var(--paper)}.ig svg{flex:none}.soc{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px;margin-top:6px}.soc .ig{margin-top:0}

/* local landing pages */
.hero.sub{min-height:auto;padding-block:clamp(150px,20vw,210px) clamp(70px,9vw,110px);justify-content:flex-start}
.hero.sub h1{font-size:clamp(2.9rem,7.6vw,7.4rem);line-height:.95;max-width:12em}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{border-bottom:1.5px solid var(--rule)}.crumbs a:hover{border-color:var(--ink)}
.hero .lead{margin:30px 0 0;max-width:46ch;font-size:clamp(1.12rem,1.6vw,1.35rem);color:var(--ink-2);line-height:1.5}
.cols{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(36px,6vw,96px);align-items:start}
.cols .txt p{margin:0 0 20px;color:var(--ink-2);font-size:1.1rem;line-height:1.65;max-width:60ch}
.cols .txt p:first-child{color:var(--ink);font-size:1.25rem;font-weight:500;line-height:1.5}
.who{margin:0;padding:28px clamp(22px,2.4vw,32px);background:var(--sheet);border:1.5px solid var(--ink);border-radius:18px}
.who h3{margin:0 0 16px;font-size:1.15rem;font-weight:800}
.who ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.who li{position:relative;padding-left:30px}
.who li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;border-radius:50%;background:var(--blue)}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,30px);list-style:none;margin:0;padding:0}
.why li{padding:30px clamp(22px,2.4vw,32px);border:1.5px solid var(--ink);border-radius:18px;background:var(--sheet)}
.why h3{margin:0 0 10px;font-family:var(--fd);font-weight:400;font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.05}
.why p{margin:0;color:var(--ink-2)}
.chips a{display:block;margin:-9px -16px;padding:9px 16px;border-radius:99px;transition:background .3s,color .3s}
.chips a:hover,.chips a:focus-visible{background:var(--ink);color:var(--paper)}
.chips li.here{background:var(--blue);border-color:var(--blue);color:var(--paper)}
a.lang{display:inline-block;line-height:1.2}
@media(max-width:980px){.why{grid-template-columns:1fr;max-width:640px}}
@media(max-width:760px){.cols{grid-template-columns:1fr}.hero.sub{padding-top:130px}}

/* language switch lives inside the menu (in the hamburger on phones) */
nav ul{align-items:center}
nav ul .ll{margin-left:clamp(0px,.8vw,10px)}
nav ul .lang::after{display:none}
@media(max-width:760px){nav ul{align-items:stretch}nav ul .ll{margin:0;padding-top:16px}nav ul .ll .lang{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border:1.5px solid var(--ink);border-radius:999px;font-size:.85rem}}


/* ===== SEO pages (services, industries, areas, blog) ===== */
nav ul a[aria-current="page"]::after{transform:scaleX(1)}
.svc h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.svc li:has(a):hover h3 a{text-decoration:none}
.svc .more{display:inline-block;margin-top:8px;font-weight:700;font-size:.95rem}

/* intro under the hero */
.intro2{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(36px,6vw,96px);align-items:start}
.intro2 .txt p{margin:0 0 20px;color:var(--ink-2);font-size:1.1rem;line-height:1.65;max-width:62ch}
.intro2 .txt p:first-child{color:var(--ink);font-size:1.25rem;font-weight:500;line-height:1.5}
.intro2 .txt a,.prose a,.post a:not(.btn):not(.card){border-bottom:2px solid var(--blue);font-weight:600}
.intro2 .txt a:hover,.prose a:hover,.post a:not(.btn):not(.card):hover{background:rgba(30,70,214,.08)}

/* numbered features */
.feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 clamp(24px,3vw,48px);counter-reset:f}
.feats li{position:relative;padding:28px 0 30px 0;border-top:1.5px solid var(--ink);counter-increment:f}
.feats li::before{content:counter(f,decimal-leading-zero);display:block;font-weight:800;font-size:.85rem;letter-spacing:.08em;color:var(--blue);margin-bottom:10px}
.feats h3{margin:0 0 8px;font-size:1.25rem;font-weight:800;line-height:1.25}
.feats p{margin:0;color:var(--ink-2)}

/* simple process */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,26px);counter-reset:s}
.flow li{position:relative;padding:28px clamp(20px,2.2vw,28px) 26px;background:var(--sheet);border:1.5px solid var(--ink);border-radius:18px;counter-increment:s}
.flow li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:var(--paper);font-weight:800;font-size:.9rem;margin-bottom:16px}
.flow h3{margin:0 0 8px;font-family:var(--fd);font-weight:400;font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.05}
.flow p{margin:0;color:var(--ink-2)}
.flow .get{display:block;margin-top:12px;padding-top:12px;border-top:1.5px dashed var(--rule);color:var(--ink);font-size:.95rem}
@media(max-width:1100px){.flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.flow{grid-template-columns:1fr}}

/* link cards (services, industries, areas, posts) */
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:clamp(16px,2vw,26px)}
.card{position:relative;display:flex;flex-direction:column;height:100%;padding:28px clamp(22px,2.4vw,30px) 26px;background:var(--sheet);border:1.5px solid var(--ink);border-radius:18px;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.card:hover,.card:focus-visible{transform:translateY(-3px);box-shadow:5px 6px 0 var(--ink)}
.card .k{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.card h3{margin:0 0 10px;font-family:var(--fd);font-weight:400;font-size:clamp(1.55rem,2.3vw,2rem);line-height:1.05}
.card p{margin:0 0 18px;color:var(--ink-2)}
.card .go{margin-top:auto;font-weight:700}
.card .go::after{content:" →"}
.card.dark{background:var(--ink);color:var(--paper)}.card.dark p{color:rgba(242,234,219,.75)}.card.dark .k{color:#9db1ff}
.grp{margin:0 0 18px;font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.grp+.cards{margin-bottom:clamp(40px,6vw,64px)}

/* real work */
.work{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(16px,2vw,26px)}
.shot{display:block;border:1.5px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--sheet);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.shot:hover,.shot:focus-visible{transform:translateY(-3px);box-shadow:5px 6px 0 var(--ink)}
.shot .bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-bottom:1.5px solid var(--ink);background:var(--paper-2)}
.shot .bar i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ink)}.shot .bar i:first-child{background:var(--ink)}
.shot .bar span{margin-left:8px;font-size:.75rem;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot img{display:block;width:100%;height:auto;aspect-ratio:1400/690;object-fit:cover;object-position:top}
.shot .cap{display:block;padding:16px 18px 18px;border-top:1.5px solid var(--ink)}
.shot .cap b{display:block;font-family:var(--fd);font-weight:400;font-size:1.45rem;line-height:1.1}
.shot .cap span{color:var(--ink-2);font-size:.92rem}
.work-note{margin:26px 0 0;color:var(--ink-2)}
.work-note a{border-bottom:2px solid var(--ink);font-weight:600}

/* quick facts strip */
.facts2{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 0;padding:0;list-style:none}
.facts2 li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:99px;font-size:.92rem;font-weight:600;background:var(--sheet)}
.facts2 li b{color:var(--blue)}

/* call to action band */
.ctab{display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:center;padding:clamp(30px,4vw,48px);background:var(--ink);color:var(--paper);border-radius:22px}
.ctab h2{margin:0 0 8px;font-family:var(--fd);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.02}
.ctab p{margin:0;color:rgba(242,234,219,.75);max-width:52ch}
.ctab .btn{background:var(--paper);color:var(--ink)}
.ctab .alt{display:block;margin-top:12px;font-size:.92rem;color:rgba(242,234,219,.75)}.ctab .alt a{border-bottom:1px solid currentColor}
@media(max-width:760px){.ctab{grid-template-columns:1fr}}

/* long-form text on service/industry/area pages */
.prose{max-width:760px}
.prose h2{margin:56px 0 16px;font-family:var(--fd);font-weight:400;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.05}
.prose h2:first-child{margin-top:0}
.prose h3{margin:30px 0 8px;font-size:1.2rem;font-weight:800}
.prose p,.prose li{color:var(--ink-2);font-size:1.08rem;line-height:1.7}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 22px;padding-left:1.3em}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink)}

/* blog: article */
.post-hero{padding-block:clamp(140px,18vw,190px) clamp(40px,6vw,64px)}
.post-hero h1{font-size:clamp(2.4rem,5.6vw,5rem);line-height:1;max-width:16em}
.post-hero .lead{max-width:58ch}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:28px 0 0;font-size:.95rem;color:var(--ink-2)}
.meta img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:grayscale(1);border:1.5px solid var(--ink)}
.meta .by{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(36px,5vw,80px);align-items:start;padding-bottom:clamp(70px,10vw,130px)}
.post{max-width:720px;font-size:1.12rem;line-height:1.75}
.post>p:first-child{font-size:1.28rem;color:var(--ink);font-weight:500;line-height:1.6}
.post h2{margin:58px 0 16px;font-family:var(--fd);font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.08;scroll-margin-top:100px}
.post h3{margin:34px 0 10px;font-size:1.25rem;font-weight:800;line-height:1.3}
.post p{margin:0 0 20px;color:var(--ink-2)}
.post ul,.post ol{margin:0 0 24px;padding-left:1.3em;color:var(--ink-2)}
.post li{margin-bottom:10px}
.post li::marker{color:var(--blue);font-weight:800}
.post strong{color:var(--ink)}
.post blockquote{margin:30px 0;padding:22px 26px;border-left:5px solid var(--blue);background:var(--sheet);border-radius:0 14px 14px 0;font-size:1.15rem;color:var(--ink)}
.post .tip{margin:30px 0;padding:22px 26px;border:1.5px solid var(--ink);border-radius:16px;background:var(--sheet)}
.post .tip b:first-child{display:block;margin-bottom:6px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.post .tip p:last-child{margin-bottom:0}
.tbl{width:100%;overflow-x:auto;margin:26px 0 30px;border:1.5px solid var(--ink);border-radius:14px;background:var(--sheet)}
.tbl table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:540px}
.tbl th,.tbl td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl th{font-weight:800;background:var(--paper-2)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:700;color:var(--ink)}
.check{list-style:none!important;padding-left:0!important}
.check li{position:relative;padding-left:34px}
.check li::before{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:6px;border:2px solid var(--ink);background:var(--paper)}
.check li::after{content:"";position:absolute;left:6px;top:.52em;width:8px;height:5px;border-left:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(-45deg)}
.side{position:sticky;top:96px;display:grid;gap:20px}
.toc{padding:22px 24px;border:1.5px solid var(--ink);border-radius:16px;background:var(--sheet)}
.toc b{display:block;margin-bottom:10px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.toc ol{margin:0;padding-left:1.2em;display:grid;gap:8px;font-size:.95rem}
.toc a{border-bottom:1px solid var(--rule)}.toc a:hover{border-color:var(--ink)}
.side .ctab{grid-template-columns:1fr;padding:24px;border-radius:16px}
.side .ctab h2{font-size:1.6rem}
.side .ctab .btn{padding:14px 22px;font-size:.95rem;justify-self:start}
.bio{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;margin:54px 0 0;padding:24px;border:1.5px solid var(--ink);border-radius:18px;background:var(--sheet)}
.bio img{width:72px;height:72px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.bio p{margin:0;font-size:1rem;color:var(--ink-2)}.bio b{color:var(--ink)}
@media(max-width:1000px){.layout{grid-template-columns:minmax(0,1fr)}.side{display:contents}.toc{order:-1}.side .ctab{margin-top:8px}}

/* blog index */
.postlist .card .k{display:flex;gap:10px;flex-wrap:wrap}
.postlist .card .k span+span::before{content:"·";margin-right:10px;color:var(--ink-2)}
.postlist .card h3{font-size:clamp(1.5rem,2.2vw,1.9rem)}

@media(max-width:760px){
 .intro2{grid-template-columns:1fr}
 .post-hero{padding-top:120px}
 .post{font-size:1.06rem}
 .facts2 li{font-size:.85rem}
}

.post{min-width:0}
.crumbs{align-items:center}
@media(max-width:600px){
 .tbl{overflow:visible;border:0;background:none;border-radius:0}
 .tbl table{min-width:0}
 .tbl thead{display:none}
 .tbl tr{display:block;margin-bottom:14px;border:1.5px solid var(--ink);border-radius:14px;background:var(--sheet);overflow:hidden}
 .tbl td{display:block;padding:10px 16px;border-bottom:1px solid var(--rule)}
 .tbl td:first-child{background:var(--paper-2)}
 .tbl tr td:last-child{border-bottom:0}
 .tbl td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
}
.lead a{border-bottom:2px solid var(--blue);font-weight:600}

section.pad-s{padding-block:clamp(10px,2vw,24px) clamp(70px,9vw,110px)}

/* footer that links the whole site */
footer{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:30px 34px;padding-block:60px 30px}
footer nav.fl b{color:var(--paper);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
footer nav.fl a{color:rgba(242,234,219,.72)}
footer nav.fl a:hover,footer .fcol a:hover{color:var(--paper)}
footer .fr{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:24px;border-top:1px solid rgba(242,234,219,.15);text-align:left;align-items:flex-start}
@media(max-width:1100px){footer{grid-template-columns:repeat(2,minmax(0,1fr))}footer .fcol{grid-column:1/-1}}
@media(max-width:760px){footer{gap:22px 18px;padding-top:44px}footer .fr{flex-direction:column;gap:0}}
