:root{--bg: #f6f1e7;--bg-elev: #fdfaf2;--bg-elev-2: #efe8d9;--bg-white: #fffdf9;--bg-line: rgba(36, 33, 26, .16);--bg-line-2: rgba(36, 33, 26, .08);--text: #23211a;--text-soft: #45423a;--text-mut: #6b675c;--text-dim: #6e6a59;--accent: #30506e;--accent-2: #253f58;--accent-ink:#f6f1e7;--accent-glow: rgba(48, 80, 110, .32);--accent-tint: rgba(48, 80, 110, .09);--camel: #a8763e;--camel-tint: rgba(168, 118, 62, .14);--maxw: 1200px;--gut: clamp(20px, 5vw, 56px);--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Karla", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:balance}p{margin:0}img{max-width:100%;display:block}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}section{position:relative}.section-pad{padding-block:clamp(72px,11vw,150px)}.section-alt{background:var(--bg-white);border-block:1px solid var(--bg-line)}.section-alt .svc,.section-alt .value,.section-alt .svc .tags span{background:var(--bg)}.section-alt .svc.feature{background:radial-gradient(130% 120% at 0% 0%,var(--accent-tint),transparent 50%),var(--bg)}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2)}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--camel);box-shadow:0 0 0 4px var(--camel-tint)}.section-head{max-width:660px}.section-head .kicker{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);margin-bottom:18px}.section-head .kicker:before{content:"";width:26px;height:1px;background:var(--camel)}.section-head h2{font-size:clamp(30px,4.4vw,50px);margin-bottom:18px}.section-head p{color:var(--text-mut);font-size:clamp(16px,1.5vw,19px);max-width:56ch}.btn{--pad-y: 14px;--pad-x: 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:var(--pad-y) var(--pad-x);font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:-.01em;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease),color .25s var(--ease);white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 22px -12px var(--accent-glow)}.btn-primary:hover{background:var(--accent-2);box-shadow:0 14px 30px -12px var(--accent-glow);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--bg-line)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-2);transform:translateY(-2px)}.btn .arrow{transition:transform .3s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.nav{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .35s var(--ease),border-color .35s var(--ease),backdrop-filter .35s;border-bottom:1px solid transparent}.nav.scrolled{background:#f6f1e7d1;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--bg-line)}.nav:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--scrollp, 0));transform-origin:left;opacity:0;transition:opacity .3s}.nav.scrolled:after{opacity:1}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;height:76px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-display);font-weight:600;font-size:18.5px;letter-spacing:-.02em;white-space:nowrap}.brand .mark{width:32px;height:32px;display:grid;place-items:center;flex:none}.brand .mark svg{width:100%;height:100%}.brand b{font-weight:600}.brand .brand-tail{color:var(--text-mut);font-weight:600}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{padding:9px 15px;font-size:14.5px;font-weight:600;white-space:nowrap;color:var(--text-soft);border-radius:var(--radius-sm);transition:color .2s,background .2s}.nav-links a:hover{color:var(--text);background:var(--bg-line-2)}.nav-cta{display:flex;align-items:center;gap:14px}.nav-cta .btn{--pad-y: 11px;--pad-x: 20px;font-size:14px}.nav-cta .label-short{display:none}@media(max-width:880px){.nav-links{display:none}}@media(max-width:600px){.nav-cta .label-full{display:none}.nav-cta .label-short{display:inline}.nav-cta .btn{--pad-y: 10px;--pad-x: 16px}.brand{font-size:16.5px;gap:9px}.brand .mark{width:27px;height:27px}}@media(max-width:360px){.nav-cta .btn{--pad-x: 12px;font-size:13px}.brand{font-size:15px}}.hero{position:relative;padding-top:clamp(130px,17vh,200px);padding-bottom:clamp(70px,10vw,130px);overflow:hidden;text-align:center}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero-bg .grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--bg-line-2) 1px,transparent 1px),linear-gradient(90deg,var(--bg-line-2) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 22%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 80% 70% at 50% 22%,#000 35%,transparent 78%)}.hero-bg .grid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle 1.5px at center,rgba(168,118,62,.45) 99%,transparent);background-size:224px 224px;background-position:28px 28px;-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 22%,#000 25%,transparent 70%);mask-image:radial-gradient(ellipse 60% 50% at 50% 22%,#000 25%,transparent 70%)}.hero .wrap{position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:7px 8px 7px 14px;border:1px solid var(--bg-line);border-radius:999px;background:var(--bg-elev);font-size:13px;color:var(--text-soft);margin-bottom:30px}.hero-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--camel);animation:badge-pulse 2.4s var(--ease) infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 0 0 var(--camel-tint)}50%{box-shadow:0 0 0 6px transparent}}.hero-badge .pill{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--accent-tint);color:var(--accent-2);white-space:nowrap}@media(max-width:480px){.hero-badge{font-size:12px;gap:8px;padding-left:12px}.hero-badge .pill{font-size:9.5px;padding:3px 7px}}.hero h1{font-size:clamp(44px,8.2vw,104px);font-weight:600;letter-spacing:-.02em;line-height:1.02;max-width:14ch;margin-inline:auto}.hero h1 .lead{display:block}body.js-on .hero h1 .lead{opacity:0;transform:translateY(.55em);animation:hero-word .9s var(--ease) forwards}body.js-on .hero h1 .lead:nth-child(1){animation-delay:.08s}body.js-on .hero h1 .lead:nth-child(2){animation-delay:.22s}body.js-on .hero h1 .lead:nth-child(3){animation-delay:.36s}@keyframes hero-word{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){body.js-on .hero h1 .lead{opacity:1;transform:none;animation:none}}.hero h1 em{font-style:italic;font-weight:600;position:relative;color:var(--accent)}.hero h1 em:after{content:"";position:absolute;left:2%;right:4%;bottom:.02em;height:.07em;border-radius:2px;background:var(--camel);transform:scaleX(0);transform-origin:left;animation:hero-underline .8s var(--ease) 1.05s forwards}@keyframes hero-underline{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.hero h1 em:after{transform:scaleX(1);animation:none}}.hero-sub{color:var(--text-mut);font-size:clamp(17px,1.9vw,21px);line-height:1.55;max-width:52ch;margin-top:28px;margin-inline:auto}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;justify-content:center}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:46px;padding-top:30px;border-top:1px solid var(--bg-line);justify-content:center}.hero-meta .item{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em;color:var(--text-soft)}.hero-meta .item svg{width:17px;height:17px;color:var(--accent);flex:none}.strip{border-block:1px solid var(--accent-2);background:var(--accent);padding-block:22px;overflow:hidden}.strip-mask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.strip-track{display:flex;align-items:center;gap:52px;width:max-content;animation:marquee 34s linear infinite}.strip:hover .strip-track{animation-play-state:paused}.strip-track .it{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-weight:500;font-size:13.5px;color:var(--accent-ink);letter-spacing:.08em;text-transform:uppercase}.strip-track .it svg{width:16px;height:16px;color:var(--camel)}.strip-track .dot{width:4px;height:4px;border-radius:50%;background:#f6f1e773}@keyframes marquee{to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.strip-track{animation:none}}.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:56px}.svc{position:relative;grid-column:span 2;padding:32px 30px 30px;border:1px solid var(--bg-line);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}.svc:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(280px circle at var(--mx, 100%) var(--my, 0%),var(--accent-tint),transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}.svc:hover{transform:translateY(-4px);border-color:color-mix(in oklab,var(--accent) 45%,var(--bg-line));box-shadow:0 18px 36px -24px #24211a59}.svc:hover:after{opacity:1}.svc .idx{position:absolute;top:26px;right:26px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--text-dim);transition:color .35s var(--ease)}.svc:hover .idx{color:var(--camel)}body.js-on .services-grid .svc:nth-child(2){transition-delay:.08s}body.js-on .services-grid .svc:nth-child(3){transition-delay:.16s}body.js-on .services-grid .svc:nth-child(4){transition-delay:.24s}body.js-on .services-grid .svc:nth-child(5){transition-delay:.32s}.svc.wide,.svc.feature{grid-column:span 3}.svc-ico{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:var(--accent-tint);color:var(--accent-2);margin-bottom:22px}.svc-ico svg{width:23px;height:23px}.svc h3{font-size:22px;font-weight:600;margin-bottom:9px;letter-spacing:-.01em}.svc p{color:var(--text-mut);font-size:15px;line-height:1.6}.svc .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.svc .tags span{font-family:var(--font-mono);font-size:11px;color:var(--text-soft);letter-spacing:.02em;padding:5px 11px;border-radius:6px;border:1px solid var(--bg-line);background:var(--bg)}.svc.feature{background:radial-gradient(130% 120% at 0% 0%,var(--accent-tint),transparent 50%),var(--bg-elev);border-color:color-mix(in oklab,var(--accent) 30%,var(--bg-line))}@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr)}.svc,.svc.wide,.svc.feature{grid-column:span 1}}@media(max-width:560px){.services-grid{grid-template-columns:1fr}}.process{background:linear-gradient(180deg,transparent,rgba(36,33,26,.025),transparent)}.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px}.proc{position:relative;padding:30px 26px 30px 0}.proc+.proc{padding-left:30px;border-left:1px solid var(--bg-line)}.proc:before{content:attr(data-n);position:absolute;top:-14px;right:14px;font-family:var(--font-display);font-size:110px;font-weight:600;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(48,80,110,.22);pointer-events:none;transition:-webkit-text-stroke-color .4s var(--ease)}.proc:hover:before{-webkit-text-stroke-color:rgba(48,80,110,.45)}.proc .num{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--accent-2);letter-spacing:.14em;margin-bottom:22px;display:flex;align-items:center;gap:12px}.proc .num:after{content:"";height:1px;flex:1;background:var(--bg-line)}body.js-on .proc-grid .proc:nth-child(2){transition-delay:.1s}body.js-on .proc-grid .proc:nth-child(3){transition-delay:.2s}body.js-on .proc-grid .proc:nth-child(4){transition-delay:.3s}.proc h3{font-size:21px;font-weight:600;margin-bottom:11px;letter-spacing:-.01em}.proc p{color:var(--text-mut);font-size:14.5px;line-height:1.62}@media(max-width:820px){.proc-grid{grid-template-columns:1fr 1fr;gap:4px 0}.proc:nth-child(odd){padding-left:0;border-left:none}.proc:nth-child(2n){padding-left:30px;border-left:1px solid var(--bg-line)}}@media(max-width:520px){.proc-grid{grid-template-columns:1fr}.proc{padding-left:0!important;border-left:none!important;border-top:1px solid var(--bg-line)}.proc:first-child{border-top:none}}.about-grid{display:grid;grid-template-columns:1fr .9fr;gap:clamp(36px,6vw,84px);align-items:center}.about-copy h2{font-size:clamp(28px,4vw,46px);margin-bottom:24px;margin-top:18px}.about-copy p{color:var(--text-soft);font-size:17px;margin-bottom:18px}.about-copy p strong{color:var(--text);font-weight:700}.values{display:grid;grid-template-columns:1fr 1fr;gap:14px}.value{padding:22px;border:1px solid var(--bg-line);border-radius:var(--radius);background:var(--bg-elev);transition:transform .35s var(--ease),border-color .35s var(--ease)}.value:hover{transform:translateY(-3px);border-color:color-mix(in oklab,var(--accent) 35%,var(--bg-line))}@media(min-width:441px){.values .value:nth-child(2n){transform:translateY(14px)}.values .value:nth-child(2n):hover{transform:translateY(11px)}}.value .vh{display:flex;align-items:center;gap:11px;margin-bottom:9px}.value .vh svg{width:19px;height:19px;color:var(--accent)}.value h3{font-family:var(--font-display);font-size:16.5px;font-weight:600;letter-spacing:0}.value p{font-size:13.5px;color:var(--text-mut);line-height:1.55}@media(max-width:820px){.about-grid{grid-template-columns:1fr}}@media(max-width:440px){.values{grid-template-columns:1fr}}.contact-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,64px);border:1px solid var(--bg-line);border-radius:var(--radius-lg);background:radial-gradient(120% 120% at 0% 0%,var(--accent-tint),transparent 46%),var(--bg-elev);padding:clamp(32px,4.5vw,56px);overflow:hidden}.contact-aside h2{font-size:clamp(28px,3.6vw,42px);margin-bottom:18px;margin-top:18px}.contact-aside p{color:var(--text-mut);font-size:16px;margin-bottom:30px;max-width:38ch}.contact-detail{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--bg-line);font-size:15px;color:var(--text-soft)}.contact-detail svg{width:18px;height:18px;color:var(--accent);flex:none}.contact-detail:last-of-type{border-bottom:1px solid var(--bg-line)}.form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1 / -1}.field label{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mut)}.field label .req{color:var(--camel)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:15px;color:var(--text);background:#fffdf8;border:1px solid var(--bg-line);border-radius:var(--radius-sm);padding:13px 15px;transition:border-color .2s,background .2s,box-shadow .2s;width:100%}.field textarea{resize:vertical;min-height:110px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b675c' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px}.field input::placeholder,.field textarea::placeholder{color:var(--text-dim)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:#fffefb;box-shadow:0 0 0 3px var(--accent-tint)}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#bf4632}.field .err{font-size:12px;color:#a33a27;display:none}.field.invalid .err{display:block}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}.form-foot .note{font-size:13px;color:var(--text-dim)}.form .btn-primary{--pad-x: 28px}.form .btn-primary:disabled{opacity:.6;pointer-events:none}.hp-field{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.captcha-field{margin-top:4px}.captcha-field .h-captcha{min-height:78px}.form-error{font-size:14px;color:#a33a27;background:#a33a2714;border:1px solid rgba(163,58,39,.25);border-radius:10px;padding:10px 14px}.form-success{text-align:center;padding:30px 10px;animation:pop .5s var(--ease)}.form-success .check{width:60px;height:60px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:var(--accent-tint);color:var(--accent-2)}.form-success .check svg{width:30px;height:30px}.form-success h3{font-size:24px;margin-bottom:10px}.form-success p{color:var(--text-mut);font-size:15px;max-width:34ch;margin:0 auto}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media(max-width:820px){.contact-card{grid-template-columns:1fr}}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--bg-line);padding-block:56px 40px;margin-top:clamp(60px,9vw,120px)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--bg-line)}.footer-brand{max-width:320px}.footer-brand .brand{margin-bottom:16px}.footer-brand p{color:var(--text-mut);font-size:14.5px}.footer-nav{display:flex;gap:60px;flex-wrap:wrap}.footer-col h3{font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px}.footer-col a{display:block;color:var(--text-soft);font-size:14.5px;padding:6px 0;transition:color .2s}.footer-col a:hover{color:var(--accent-2)}.footer-bot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:13px;color:var(--text-dim)}.footer-bot .made{display:inline-flex;align-items:center;gap:8px}.footer-bot .made b{color:var(--text-soft);font-weight:700}.footer{overflow:hidden}.footer-ghost{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,9.6vw,150px);letter-spacing:-.02em;line-height:.8;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(48,80,110,.25);margin-top:48px;margin-bottom:-.18em;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 92%);mask-image:linear-gradient(180deg,#000 30%,transparent 92%)}.reveal{opacity:1;transform:none}body.js-on .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}body.js-on .reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){body.js-on .reveal{opacity:1;transform:none}}
