@font-face{font-family:Bricolage;src:url(../fonts/bricolage-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bricolage;src:url(../fonts/bricolage-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Bricolage;src:url(../fonts/bricolage-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Bricolage;src:url(../fonts/bricolage-800.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Hanken;src:url(../fonts/hanken-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hanken;src:url(../fonts/hanken-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Hanken;src:url(../fonts/hanken-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--paper:#f9f6f2;--paper-2:#f4efea;--paper-3:#ece6df;--ink:#271e18;--ink-2:#5a514a;--ink-3:#756d67;--accent:#cb3a00;--accent-deep:#a22800;--accent-soft:rgba(203,58,0,.1);--line:rgba(39,30,24,.14);--line-soft:rgba(39,30,24,.08);--edge:min(6vw, 5.5rem);--maxw:75rem;--f-body:"Hanken", system-ui, -apple-system, Segoe UI, sans-serif;--f-display:"Bricolage", "Hanken", system-ui, sans-serif;--step--1:clamp(.82rem, .8rem + .1vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.1rem + .5vw, 1.5rem);--step-2:clamp(1.5rem, 1.3rem + 1vw, 2.15rem);--step-3:clamp(2rem, 1.6rem + 2vw, 3.25rem);--step-4:clamp(2.6rem, 1.8rem + 4vw, 5.5rem);--r:14px;--shadow:0 1px 2px rgba(39,30,24,.05), 0 8px 30px rgba(39,30,24,.07);--ease:cubic-bezier(.22, 1, .36, 1)}@supports (color:lab(0% 0 0)){:root{--paper:lab(97.1106% .51403 2.21725);--paper-2:lab(94.7954% .779599 3.33134);--paper-3:lab(91.6639% 1.02323 4.05757);--ink:lab(12.3654% 3.47013 6.07916);--ink-2:lab(34.9984% 2.95378 5.28484);--ink-3:lab(46.6117% 2.41148 4.69539);--accent:lab(47.2344% 58.5447 65.8257);--accent-deep:lab(36.9932% 51.2191 55.8482);--accent-soft:lab(47.2344% 58.5447 65.8257/.1);--line:lab(12.3654% 3.47013 6.07916/.14);--line-soft:lab(12.3654% 3.47013 6.07916/.08);--shadow:0 1px 2px lab(12.3654% 3.47013 6.07916/.05), 0 8px 30px lab(12.3654% 3.47013 6.07916/.07)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--paper)}h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.04}p{margin:0}.wrap{max-width:var(--maxw);padding-inline:var(--edge);margin-left:auto;margin-right:auto}.section{padding-top:max(4.5rem,min(3rem + 8vw,9rem));padding-bottom:max(4.5rem,min(3rem + 8vw,9rem))}.eyebrow{font-family:var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.6rem;margin:0 0 1.1rem;font-weight:600;display:inline-flex;font-size:var(--step--1)!important}.eyebrow:before{content:"";background:var(--accent);width:1.6rem;height:2px;display:inline-block}.btn{--bg:var(--ink);--fg:var(--paper);font-family:var(--f-body);font-weight:600;font-size:var(--step-0);border:1.5px solid var(--bg);background:var(--bg);color:var(--fg);cursor:pointer;transition:transform .5s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);will-change:transform;border-radius:999px;align-items:center;gap:.55rem;padding:.85rem 1.5rem;display:inline-flex}.btn svg{width:1.05em;height:1.05em;transition:transform .5s var(--ease)}.btn:hover{transform:translateY(-2px)}.btn:hover svg{transform:translate(3px)}.btn--accent{--bg:var(--accent);--fg:var(--paper)}.btn--accent:hover{--bg:var(--accent-deep);border-color:var(--accent-deep)}.btn--ghost{--bg:transparent;--fg:var(--ink);border-color:var(--line)}.btn--ghost:hover{border-color:var(--ink);background:0 0}.btn--light{--bg:var(--paper);--fg:var(--ink)}.nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(249,246,242,.82);background:lab(97.1106% .51403 2.21725/.82);border-bottom:1px solid transparent;transition:border-color .3s,background .3s;position:sticky;top:0}.nav.is-scrolled{border-bottom-color:var(--line);background:rgba(249,246,242,.92);background:lab(97.1106% .51403 2.21725/.92)}.nav__inner{max-width:var(--maxw);padding:1rem var(--edge);justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;display:flex}.brand{font-family:var(--f-display);letter-spacing:-.03em;align-items:baseline;gap:.5rem;font-size:1.22rem;font-weight:800;display:inline-flex}.brand__dot{background:var(--accent);border-radius:2px;align-self:center;width:.5rem;height:.5rem;transform:translateY(1px)}.nav__links{align-items:center;gap:2rem;margin:0;padding:0;list-style:none;display:flex}.nav__links a{color:var(--ink-2);padding:.2rem 0;font-size:.98rem;font-weight:500;transition:color .25s;position:relative}.nav__links a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .4s var(--ease);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{transform:scaleX(1)}.nav__cta{align-items:center;gap:1.25rem;display:flex}.nav__links .btn{display:none}.nav__toggle{cursor:pointer;width:2.75rem;height:2.75rem;color:var(--ink);background:0 0;border:0;justify-content:center;align-items:center;display:none}.nav__toggle svg{width:1.6rem;height:1.6rem}@media (max-width:860px){.nav__links{background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--edge) 1.5rem;transition:transform .5s var(--ease);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0;position:fixed;top:4.5rem;bottom:auto;left:0;right:0;transform:translateY(-130%)}.nav[data-open=true] .nav__links{transform:translateY(0)}.nav__links a{border-bottom:1px solid var(--line-soft);padding:.9rem 0;font-size:1.15rem}.nav__links a:after{display:none}.nav__links .btn{color:var(--paper);justify-content:center;margin-top:1rem;display:inline-flex}.nav__links .btn:last-child{border-bottom:0}.nav__cta>.btn{display:none}.nav__toggle{display:inline-flex}}.hero{padding-top:max(3.5rem,min(2rem + 9vw,7.5rem));padding-bottom:max(3rem,min(2rem + 5vw,6rem));position:relative;overflow:hidden}.hero:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-size:max(48px,min(6vw,88px)) max(48px,min(6vw,88px));position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(120% 90% at 15% 0,#000 30%,transparent 78%);mask-image:radial-gradient(120% 90% at 15% 0,#000 30%,transparent 78%)}.hero__inner{z-index:1;max-width:var(--maxw);padding-inline:var(--edge);margin-left:auto;margin-right:auto;position:relative}.hero h1{letter-spacing:-.035em;max-width:16ch;margin-bottom:1.4rem;font-size:max(2.15rem,min(1.2rem + 5vw,5.5rem));font-weight:800}.hero h1 .mark{color:var(--accent);position:relative}@media (min-width:760px){.hero h1 .mark{white-space:nowrap}}.hero__lead{font-size:var(--step-1);color:var(--ink-2);max-width:44ch;font-weight:400;line-height:1.4}.hero__actions{flex-wrap:wrap;gap:.9rem;margin-top:2.2rem;display:flex}.hero__meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:2.4rem;margin-top:max(3rem,min(2rem + 4vw,4.5rem));padding-top:2rem;display:flex}.hero__meta .m{flex-direction:column;gap:.15rem;display:flex}.hero__meta .m b{font-family:var(--f-display);font-size:var(--step-2);letter-spacing:-.03em;font-weight:700;line-height:1}.hero__meta .m span{font-size:var(--step--1);color:var(--ink-3);letter-spacing:.02em;font-weight:500}.about__grid{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:center;gap:max(2.5rem,min(2rem + 4vw,5rem));display:grid}.about h2{font-size:var(--step-3);max-width:18ch;margin-bottom:1.6rem}.about p{color:var(--ink-2);max-width:60ch;font-size:var(--step-0)}.about p+p{margin-top:1.1rem}.about__sig{align-items:center;gap:.9rem;margin-top:2rem;font-weight:600;display:inline-flex}.about__sig .line{background:var(--accent);width:2.4rem;height:1.5px}.portrait{justify-self:center;position:relative}.portrait img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);filter:grayscale(.15)contrast(1.02);width:min(100%,320px)}.portrait:after{content:"";border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);position:absolute;top:0;bottom:0;left:0;right:0}.portrait__badge{background:var(--accent);color:var(--paper);font-family:var(--f-display);box-shadow:var(--shadow);border-radius:10px;padding:.7rem 1rem;font-size:.95rem;font-weight:700;line-height:1.05;position:absolute;bottom:1.4rem;right:-.8rem}.portrait__badge b{font-size:1.5rem;display:block}@media (max-width:760px){.about__grid{grid-template-columns:1fr}.portrait{order:-1;justify-self:start}}.services__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:max(2rem,min(1.5rem + 2vw,3.2rem));display:flex}.services__head h2{font-size:var(--step-3);max-width:14ch}.services__head p{color:var(--ink-2);max-width:34ch}.spec{border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2);overflow:hidden}.spec__grid{grid-template-columns:repeat(4,1fr);display:grid}.svc{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transition:background .35s var(--ease);padding:max(1.4rem,min(1rem + 1.5vw,2rem));position:relative}.svc:hover{background:var(--paper-2)}.svc__ico{background:var(--accent-soft);width:2.6rem;height:2.6rem;color:var(--accent);border-radius:9px;align-items:center;justify-items:center;margin-bottom:1.1rem;display:grid}.svc__ico svg{width:1.35rem;height:1.35rem}.svc h4{font-size:var(--step-1);letter-spacing:-.02em;margin-bottom:.5rem;font-weight:700}.svc p{color:var(--ink-2);font-size:.96rem;line-height:1.5}.svc__num{font-family:var(--f-display);color:var(--ink-3);opacity:.5;font-size:.8rem;font-weight:700;position:absolute;top:1.1rem;right:1.2rem}@media (max-width:980px){.spec__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.spec__grid{grid-template-columns:1fr}.svc{border-right:0}}.work__head{margin-bottom:max(2rem,min(1.5rem + 2vw,3.2rem))}.work__head h2{font-size:var(--step-3);max-width:16ch}.work__list{gap:max(1.5rem,min(1rem + 2vw,2.5rem));display:grid}.proj{grid-template-columns:1fr 1fr;align-items:center;gap:max(1.5rem,min(1rem + 3vw,4rem));display:grid}.proj:nth-child(2n) .proj__media{order:2}.proj__media{border-radius:var(--r);border:1px solid var(--line);background:var(--paper-3);box-shadow:var(--shadow);position:relative;overflow:hidden}.proj__media img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;transition:transform .8s var(--ease)}.proj:hover .proj__media img{transform:scale(1.035)}.proj__body{max-width:42ch}.proj__idx{font-family:var(--f-display);color:var(--accent);font-weight:700;font-size:var(--step--1);letter-spacing:.08em;margin-bottom:.9rem;display:block}.proj__body h3{font-size:var(--step-2);letter-spacing:-.025em;margin-bottom:.8rem}.proj__body p{color:var(--ink-2);margin-bottom:1.4rem}.proj__link{color:var(--ink);border-bottom:2px solid var(--accent);transition:gap .4s var(--ease);align-items:center;gap:.5rem;padding-bottom:2px;font-weight:600;display:inline-flex}.proj__link svg{width:1em;height:1em}.proj:hover .proj__link{gap:.85rem}@media (max-width:760px){.proj{grid-template-columns:1fr}.proj:nth-child(2n) .proj__media{order:0}}.reasons{color:var(--paper);background:radial-gradient(100% 72% at 86% -12%,rgba(129,59,30,.3),transparent 60%),#251c15;background:radial-gradient(100% 72% at 86% -12%,lab(34.2554% 29.2125 32.1233/.3),transparent 60%),lab(11.1967% 3.90484 6.76876);position:relative}.reasons .eyebrow{color:#ff9965;color:lab(73.452% 41.4795 52.097)}.reasons .eyebrow:before{background:#ff9965;background:lab(73.452% 41.4795 52.097)}.reasons__head{max-width:60rem;margin-bottom:max(2.8rem,min(2rem + 3vw,4.5rem))}.reasons__head h2{font-size:var(--step-3);color:var(--paper);max-width:20ch;line-height:1.08}.reasons__head p{color:#d2cdc5;color:lab(82.6392% .569314 4.55985);max-width:48ch;font-size:var(--step-1);margin-top:1rem;line-height:1.5}.reasons__list{gap:0;display:grid}.reason{border-top:1px solid rgba(255,255,255,.14);border-top:1px solid lab(100% 0 0/.14);grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:start;gap:max(1.5rem,min(1rem + 3vw,4.5rem));padding-top:max(2rem,min(1.5rem + 2vw,3.2rem));padding-bottom:max(2rem,min(1.5rem + 2vw,3.2rem));display:grid}.reason:last-child{border-bottom:1px solid rgba(255,255,255,.14);border-bottom:1px solid lab(100% 0 0/.14)}.reason__topline{align-items:center;gap:1rem;margin-bottom:1.05rem;display:flex}.reason__no{font-family:var(--f-display);letter-spacing:-.02em;color:#ff975f;color:lab(73.3706% 44.3399 56.3469);font-size:max(1.5rem,min(1.1rem + 1.4vw,2.2rem));font-weight:800;line-height:1}.reason__ico{color:#fdb48c;color:lab(79.764% 23.6313 31.4614);background:rgba(255,255,255,.06);background:lab(100% 0 0/.06);border:1px solid rgba(255,255,255,.1);border:1px solid lab(100% 0 0/.1);border-radius:11px;flex-shrink:0;align-items:center;justify-items:center;width:2.75rem;height:2.75rem;display:grid}.reason__ico svg{width:1.35rem;height:1.35rem}.reason__label h4{color:var(--paper);letter-spacing:-.025em;font-size:max(1.25rem,min(1.05rem + .7vw,1.6rem));font-weight:700;line-height:1.1}.reason__body p{color:#dbd7ce;color:lab(86.1282% .466466 4.9612);max-width:58ch;font-size:max(1rem,min(.97rem + .2vw,1.08rem));line-height:1.72}@media (max-width:760px){.reason{grid-template-columns:1fr;gap:.9rem}.reason__topline{margin-bottom:.7rem}.reason__body p{max-width:none}}.contact__grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:max(2.5rem,min(2rem + 4vw,5rem));display:grid}.contact h2{font-size:var(--step-3);max-width:12ch;margin-bottom:1.2rem}.contact__intro{color:var(--ink-2);max-width:40ch;margin-bottom:2.4rem}.contact__methods{gap:.4rem;display:grid}.method{border-top:1px solid var(--line);align-items:center;gap:1.1rem;padding:1rem 0;display:flex}.method:first-child{border-top:0}.method__ico{background:var(--accent-soft);width:2.75rem;height:2.75rem;color:var(--accent);border-radius:10px;flex-shrink:0;align-items:center;justify-items:center;display:grid}.method__ico svg{width:1.25rem;height:1.25rem}.method h6{font-family:var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .1rem;font-size:.8rem;font-weight:600}.method a,.method span{font-family:var(--f-display);color:var(--ink);letter-spacing:-.01em;font-size:1.12rem;font-weight:500}.method a:hover{color:var(--accent)}.form{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:max(1.5rem,min(1rem + 2vw,2.5rem))}.field{margin-bottom:1rem}.field label{color:var(--ink-2);letter-spacing:.01em;margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:block}.field input,.field textarea{width:100%;font-family:var(--f-body);font-size:var(--step-0);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);resize:vertical;border-radius:10px;padding:.8rem 1rem;transition:border-color .25s,box-shadow .25s}.field input::-ms-input-placeholder{color:var(--ink-3)}.field input::placeholder{color:var(--ink-3)}.field textarea::-ms-input-placeholder{color:var(--ink-3)}.field textarea::placeholder{color:var(--ink-3)}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form .btn{justify-content:center;width:100%;margin-top:.5rem}.form__note{color:var(--ink-3);text-align:center;margin-top:1rem;font-size:.8rem}.form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form__row .field{margin-bottom:1rem}.field__opt{color:var(--ink-3);font-weight:400}.field__error{color:var(--accent-deep);margin:.4rem 0 0;font-size:.8rem;font-weight:500}.field input.is-invalid,.field textarea.is-invalid{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field--hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.field--captcha{margin-top:.25rem}#mcaptcha__token-label{color:var(--ink-3);margin-bottom:.6rem;font-size:.78rem;line-height:1.5;display:block}#mcaptcha__token-label a{color:var(--accent);text-decoration:underline}.js #mcaptcha__token{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}#mcaptcha__widget-container{min-height:0}#mcaptcha__widget-container iframe{border:1px solid var(--line);background:var(--paper);border-radius:10px;max-width:100%}.form__status{border-radius:10px;margin:.9rem 0 0;padding:.8rem 1rem;font-size:.9rem;font-weight:500;line-height:1.45}.form__status.is-success{color:#0b5d2a;color:lab(34.0894% -33.3935 22.2294);background:rgba(11,93,42,.1);background:lab(34.0894% -33.3935 22.2294/.1);box-shadow:inset 0 0 0 1px rgba(11,93,42,.25);box-shadow:inset 0 0 0 1px lab(34.0894% -33.3935 22.2294/.25)}.form__status.is-error{color:var(--accent-deep);background:var(--accent-soft);box-shadow:inset 0 0 0 1px rgba(203,58,0,.25);box-shadow:inset 0 0 0 1px lab(47.2344% 58.5447 65.8257/.25)}.form .btn[disabled]{opacity:.65;cursor:not-allowed;transform:none}@media (max-width:760px){.contact__grid{grid-template-columns:1fr}.form__row{grid-template-columns:1fr;gap:0}}.footer{border-top:1px solid var(--line);padding-top:2.5rem;padding-bottom:2.5rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.footer .brand{font-size:1.1rem}.footer__links{color:var(--ink-2);flex-wrap:wrap;gap:1.5rem;font-size:.92rem;display:flex}.footer__links a:hover{color:var(--accent)}.footer__copy{color:var(--ink-3);width:100%;margin-top:.4rem;font-size:.85rem}.subhero{border-bottom:1px solid var(--line);padding-top:max(3rem,min(2rem + 6vw,5.5rem));padding-bottom:max(2.5rem,min(2rem + 3vw,4rem));position:relative;overflow:hidden}.subhero:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-size:max(48px,min(6vw,88px)) max(48px,min(6vw,88px));position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(120% 100% at 12% 0,#000 25%,transparent 75%);mask-image:radial-gradient(120% 100% at 12% 0,#000 25%,transparent 75%)}.subhero__inner{z-index:1;max-width:var(--maxw);padding-inline:var(--edge);margin-left:auto;margin-right:auto;position:relative}.subhero h1{font-size:var(--step-3);letter-spacing:-.035em;max-width:20ch;font-weight:800}.subhero p{color:var(--ink-2);max-width:52ch;font-size:var(--step-1);margin-top:.9rem;line-height:1.4}.legal{max-width:52rem;padding-inline:var(--edge);margin-left:auto;margin-right:auto}.legal__block{border-top:1px solid var(--line);padding-top:max(2rem,min(1.5rem + 2vw,3rem));padding-bottom:max(2rem,min(1.5rem + 2vw,3rem))}.legal__block:first-child{border-top:0}.legal__block>h2{font-size:var(--step-2);letter-spacing:-.025em;align-items:baseline;gap:1rem;margin-bottom:1.3rem;display:flex}.legal__block>h2 .n{font-size:var(--step--1);color:var(--accent);font-weight:700;font-family:var(--f-display);flex-shrink:0;width:1.6rem;line-height:1.6}.legal h3{font-family:var(--f-display);font-size:var(--step-1);letter-spacing:-.02em;margin:2rem 0 .6rem;font-weight:700}.legal h3:first-of-type{margin-top:0}.legal p{color:var(--ink-2);max-width:70ch;margin-bottom:1rem}.legal p:last-child{margin-bottom:0}.legal a{color:var(--accent);text-underline-offset:3px;word-break:break-word;text-decoration:underline;text-decoration-thickness:1px}.legal a:hover{color:var(--accent-deep)}.legal address{font-style:normal;font-family:var(--f-display);font-weight:500;font-size:var(--step-1);color:var(--ink);letter-spacing:-.01em;line-height:1.55}.legal address a{font-family:var(--f-body);font-size:var(--step-0)}.legal ul{color:var(--ink-2);margin:0 0 1rem;padding-left:1.1rem}.legal li{margin-bottom:.3rem}.legal .updated{font-size:var(--step--1);color:var(--ink-3);letter-spacing:.02em;margin-top:.4rem}.totop{z-index:40;background:var(--ink);width:2.9rem;height:2.9rem;color:var(--paper);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s;border:0;border-radius:12px;align-items:center;justify-items:center;display:grid;position:fixed;bottom:1.4rem;right:1.4rem;transform:translateY(12px)}.totop.show{opacity:1;pointer-events:auto;transform:translateY(0)}.totop:hover{background:var(--accent)}.totop svg{width:1.2rem;height:1.2rem}.js .reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(22px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.hero h1 .mark{animation:mark-draw 1.1s var(--ease) .55s both;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M4 9 C 60 4 110 12 160 7 C 210 3 260 10 296 6' fill='none' stroke='%23cd3600' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/0% .16em no-repeat}@keyframes mark-draw{0%{background-size:0% .16em}to{background-size:100% .16em}}.svc__ico{transition:transform .55s var(--ease), background .35s var(--ease), color .35s var(--ease)}.svc__num{transition:color .35s var(--ease)}.svc:hover .svc__ico{background:var(--accent);color:var(--paper);transform:translateY(-3px)scale(1.06)}.svc:hover .svc__num{color:var(--accent)}.brand__dot{transition:transform .55s var(--ease), border-radius .55s var(--ease)}.brand:hover .brand__dot{transform:translateY(1px)scale(1.45)rotate(45deg)}.portrait img{transition:transform .7s var(--ease), filter .5s var(--ease)}.portrait__badge{transition:transform .5s var(--ease)}.portrait:hover img{filter:grayscale(0)contrast(1.02);transform:scale(1.02)}.portrait:hover .portrait__badge{transform:rotate(-3.5deg)translateY(-2px)}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--f-body);transition:transform .3s var(--ease);border-radius:9px;padding:.65rem 1.05rem;font-size:.95rem;font-weight:600;position:fixed;top:.8rem;left:.8rem;transform:translateY(-160%)}.skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(0)}