:root{color-scheme:light;--bg:#fff;--surface:#f7f7f7;--ink:#080808;--muted:#666;--line:#e7e7e7;--font:"DM Sans",Arial,sans-serif;--display:"Manrope","DM Sans",Arial,sans-serif;--serif:Georgia,serif;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #000;outline-offset:4px}
.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-60px;z-index:30;padding:12px 16px;background:#000;color:#fff}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #000;color:#000;font:800 21px var(--display);letter-spacing:-3px;padding-right:3px}
.brand-name{font:800 15px var(--display);letter-spacing:-.6px}.brand-name span{display:block;margin-top:-3px;color:#777;font:500 9px var(--font);letter-spacing:2px;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{text-decoration:none;font-size:12px;font-weight:600}.site-nav a:not(.nav-cta):hover{opacity:.55}
.site-nav .nav-cta{padding:12px 17px;background:#000;color:#fff;border:1px solid #000;transition:background .2s,color .2s}.site-nav .nav-cta:hover{background:#fff;color:#000}
.menu-toggle{display:none}
.hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-block:100px 110px}
.eyebrow,.section-index{margin:0;color:#555;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:11px}.eyebrow-line{width:26px;height:1px;background:#000}
h1,h2,h3,p{overflow-wrap:break-word}h1,h2{font-family:var(--display);letter-spacing:-.065em}
.hero h1{max-width:620px;margin:25px 0 22px;font-size:clamp(50px,6.3vw,82px);line-height:.99;font-weight:650}
h1 em,h2 em{font-family:var(--serif);font-weight:400}
.hero-lead{max-width:480px;margin:0;color:var(--muted);font-size:15px;line-height:1.9}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 21px;text-decoration:none;font-size:12px;font-weight:700;border:1px solid #000;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}.button-dark{background:#000;color:#fff}.button-dark:hover{background:#fff;color:#000}
.text-link{display:inline-block;color:#000;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #888;padding-bottom:5px}.text-link:hover{border-color:#000}
.hero-note{margin-top:30px;color:#777;font-size:10px;line-height:1.7}
.hero-art{min-width:0}.preview-window{border:1px solid #dedede;background:#fafafa;box-shadow:0 24px 70px rgba(0,0,0,.055);transform:rotate(1deg)}
.preview-bar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #e5e5e5;color:#777;font-size:9px;letter-spacing:.3px}
.window-dots{display:flex;gap:4px}.window-dots i{width:6px;height:6px;border:1px solid #aaa;border-radius:50%}
.preview-body{margin:10px;background:#fff;border:1px solid #eee;min-height:350px;display:flex;flex-direction:column}
.preview-nav{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #eee;font-size:8px;color:#777}
.preview-nav b{font:800 19px var(--display);color:#000}.preview-nav small{font-size:7px;font-weight:700;color:#000}
.preview-content{flex:1;padding:50px 30px 38px}.preview-kicker{font-size:8px;letter-spacing:1.4px;color:#777}
.preview-content strong{display:block;margin-top:18px;font:700 clamp(35px,4.2vw,54px)/.98 var(--display);letter-spacing:-.075em}
.preview-content strong em{font-family:var(--serif);font-weight:400}
.preview-content p{margin:15px 0 24px;color:#777;font-size:10px}
.preview-cta{display:inline-block;padding:10px 13px;background:#000;color:#fff;font-size:8px;font-weight:700;letter-spacing:.5px}
.preview-foot{display:flex;justify-content:space-between;padding:12px 17px;border-top:1px solid #eee;color:#777;font-size:7px;letter-spacing:.7px}
.preview-caption{display:flex;justify-content:space-between;gap:10px;margin-top:18px;color:#777;font-size:8px;letter-spacing:1px}
.intro-band{padding-block:75px;border-block:1px solid var(--line);background:#fafafa}
.intro-inner{display:grid;grid-template-columns:.6fr 1.6fr .8fr;align-items:start;gap:35px}
.intro-inner h2{margin:-8px 0 0;max-width:680px;font-size:clamp(28px,3.3vw,43px);line-height:1.17;font-weight:600}
.intro-aside{max-width:260px;margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.85}
.section-space{padding-block:115px}
.section-heading{display:grid;grid-template-columns:.6fr 1.6fr;gap:35px;margin-bottom:48px}
.section-heading h2,.process-heading h2,.faq-layout h2{margin:-10px 0 16px;font-size:clamp(40px,5vw,62px);line-height:1.03;font-weight:650}
.section-description{max-width:490px;color:var(--muted);font-size:13px;line-height:1.85}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:205px;padding:27px 23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.service-card:hover{background:#f8f8f8}
.service-card>span{color:#777;font-size:10px;font-weight:700;letter-spacing:1px}
.service-card h3{margin:28px 0 9px;font:700 16px var(--display);letter-spacing:-.5px}
.service-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}
.pricing-section{padding-block:100px;background:#fafafa;border-block:1px solid var(--line)}
.pricing-section .section-heading{margin-bottom:42px}
.pricing-content{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.pricing-note{padding:32px;border:1px solid #ddd;background:#fff}
.pricing-label{color:#777;font-size:9px;font-weight:700;letter-spacing:1.5px}
.pricing-note h3{margin:24px 0 15px;font:700 25px/1.2 var(--display);letter-spacing:-.8px}
.pricing-note p{margin:0 0 25px;color:var(--muted);font-size:12px;line-height:1.85}
.price-list{border-top:1px solid #ddd}.price-list>div{display:flex;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid #ddd;font-size:11px}
.price-list span{color:var(--muted)}.price-list strong{color:#000;text-align:right;font-size:11px}
.price-disclaimer{max-width:850px;margin:23px 0 0;color:#777;font-size:10px;line-height:1.8}
.project-list{border-top:1px solid var(--line)}.project-list>div{display:grid;grid-template-columns:60px 1fr 240px;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}
.project-list span{color:#777;font-size:10px}.project-list strong{font:700 17px var(--display);letter-spacing:-.4px}.project-list small{color:#777;font-size:10px;text-align:right}
.process-section{padding-block:100px;background:#fafafa;border-block:1px solid var(--line)}
.process-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.process-heading h2{margin-top:27px}.process-heading>p:last-child{max-width:360px;color:var(--muted);font-size:13px;line-height:1.9}
.process-list{margin:0;padding:0;list-style:none}.process-list li{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #ddd}.process-list li:first-child{padding-top:0}
.process-list li>span{color:#777;font-size:10px}.process-list h3{margin:0 0 7px;font:700 17px var(--display)}.process-list p{max-width:440px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.about-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}
.about-mark{min-height:290px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border:1px solid var(--line);background:#fafafa;color:#000}
.about-mark>span{font:800 145px/.8 var(--display);letter-spacing:-.12em}.about-mark small{font-size:8px;font-weight:700;letter-spacing:1.8px;line-height:1.6}
.about-copy h2{max-width:570px;margin:24px 0 20px;font:650 clamp(34px,4vw,48px)/1.12 var(--display);letter-spacing:-.06em}
.about-copy>p:not(.section-index){max-width:570px;margin-bottom:27px;color:var(--muted);font-size:13px;line-height:1.9}
.faq-section{padding-block:95px;background:#fafafa;border-block:1px solid var(--line)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-layout h2{margin-top:25px}
.faq-list details{border-bottom:1px solid #ddd}.faq-list details:first-child{border-top:1px solid #ddd}
.faq-list summary{position:relative;padding:21px 35px 21px 0;cursor:pointer;list-style:none;font-size:13px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:3px;top:17px;color:#000;font:400 22px var(--font)}
.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:620px;margin:-3px 30px 21px 0;color:var(--muted);font-size:12px;line-height:1.8}
.contact-section{display:grid;grid-template-columns:1.35fr .65fr;min-height:370px;margin-block:100px;border:1px solid #ddd;background:#fafafa}
.contact-inner{padding:55px 65px}.contact-inner h2{margin:26px 0 16px;font-size:clamp(38px,5vw,60px);line-height:1.03}
.contact-inner>p:not(.section-index){margin:0 0 25px;color:var(--muted);font-size:12px;line-height:1.8}
.button-light{background:#000;color:#fff}.button-light:hover{background:#fff;color:#000}
.contact-side{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:38px;border-left:1px solid #ddd;background:#fff}
.contact-side span{font:800 34px/1.05 var(--display);letter-spacing:-.07em}.contact-side b{align-self:end;font:800 110px/.8 var(--display);letter-spacing:-.13em}
.site-footer{border-top:1px solid var(--line)}.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-inner p,.footer-inner>a:not(.brand),.footer-inner small{color:#777;font-size:10px;text-decoration:none}
.footer-brand .brand-mark{width:30px;height:30px;font-size:19px}.footer-brand .brand-name{font-size:13px}
@media(max-width:950px){.site-nav{gap:16px}.site-nav a{font-size:11px}.service-grid{grid-template-columns:repeat(2,1fr)}.pricing-content{gap:35px}.process-layout,.about-section,.faq-layout{gap:55px}}
@media(max-width:700px){
html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.nav-wrap{min-height:68px}
.menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;cursor:pointer}
.menu-toggle span{width:17px;height:1.5px;background:#000;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.site-nav{position:absolute;top:68px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;background:#fff;border-bottom:1px solid var(--line)}
.site-nav.is-open{display:flex}.site-nav a{padding:14px 0;font-size:13px}.site-nav .nav-cta{margin-top:8px;padding:14px 16px;text-align:center}
.hero{grid-template-columns:1fr;gap:48px;min-height:auto;padding-block:68px 75px}.hero h1{font-size:clamp(48px,13vw,68px)}.hero-lead{font-size:13px}.hero-actions{flex-wrap:wrap;gap:19px}
.preview-body{min-height:300px}.preview-content{padding:42px 22px 30px}.preview-content strong{font-size:46px}.preview-foot{font-size:6px}.preview-caption{font-size:7px}
.intro-band{padding-block:55px}.intro-inner{grid-template-columns:1fr;gap:22px}.intro-inner h2{margin:0;font-size:30px}.intro-aside{margin:0}
.section-space{padding-block:76px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:34px}.section-heading h2,.process-heading h2,.faq-layout h2{font-size:43px}
.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:22px}.service-card h3{margin:17px 0 8px}
.pricing-section{padding-block:72px}.pricing-content{grid-template-columns:1fr;gap:27px}.pricing-note{padding:25px}.price-list>div{align-items:flex-start}.price-list span{max-width:55%;line-height:1.5}.price-list strong{max-width:45%}
.project-list>div{grid-template-columns:30px 1fr;gap:10px}.project-list strong{font-size:15px}.project-list small{grid-column:2;text-align:left}
.process-section{padding-block:72px}.process-layout,.about-section,.faq-layout{grid-template-columns:1fr;gap:40px}.process-heading h2{margin-top:22px}.process-list li{grid-template-columns:34px 1fr}
.about-mark{min-height:210px}.about-mark>span{font-size:115px}.about-copy h2{font-size:38px}
.faq-section{padding-block:70px}.faq-layout{gap:25px}.faq-layout h2{margin-bottom:0}
.contact-section{grid-template-columns:1fr;margin-block:65px}.contact-inner{padding:38px 25px 40px}.contact-inner h2{font-size:42px}
.contact-side{min-height:155px;padding:24px;flex-direction:row;align-items:end;border-left:0;border-top:1px solid #ddd}.contact-side span{font-size:24px}.contact-side b{font-size:72px}
.footer-inner{align-items:flex-start;flex-direction:column;gap:12px;padding-block:24px}.footer-inner p{margin:0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
