.hero-copy{width:100%;max-width:70rem;min-width:0}
.hero h1{font-size:clamp(3.4rem,6.25vw,5.75rem);line-height:1.12;letter-spacing:-.055em;margin-block:12px 22px;overflow:visible}
.hero-line{padding:.1em .12em;margin:-.1em -.12em;overflow:visible}
.hero-line>span{overflow:visible;overflow-wrap:anywhere}
.hero-copy>.hero-lede{max-width:42rem;margin-inline:auto;font-size:clamp(1.08rem,1.4vw,1.3rem);line-height:1.7;text-wrap:pretty}
.site-header .identity,.site-header nav a,.site-header .nav-contact{position:relative;transition:transform .22s,color .22s}
.site-header .identity::after,.site-header nav a::after,.site-header .nav-contact::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s}
.site-header .identity:hover,.site-header .identity:focus-visible,.site-header nav a:hover,.site-header nav a:focus-visible,.site-header .nav-contact:hover,.site-header .nav-contact:focus-visible{transform:translateY(-2px)}
.site-header a:is(:hover,:focus-visible,:active)::after,.site-header .nav-contact:is(:hover,:focus-visible,:active)::after,.site-header nav [aria-current="location"]::after,.site-header .nav-contact[aria-expanded="true"]::after{transform:scaleX(1)}
.site-header a:active,.site-header .nav-contact:active{transform:translateY(-1px)}
.nav-contact{display:flex;align-items:center;min-height:44px;padding:0;background:none;border:0;font-size:1rem}
.services{width:min(1280px,calc(100% - 48px));margin-block:35px 45px;padding-block:85px;background:linear-gradient(140deg,#eee7f4,#f5eff6);border:1px solid #b5a2c282;border-radius:24px}
.services .section-lead h2,.ways-section .section-lead h2{font-weight:500}
.services .section-kicker,.ways-section .section-kicker{color:#66516f;font-weight:600}
.services .service-row h3{font-weight:500}
.service-row{border-color:#b5a2c278}
.work-heading{border-top:1px solid #b5a2c278;padding-top:45px}
.work-index{gap:22px;border-top:0}
.work-index>a{padding:28px 26px;border:1px solid #b5a2c26b;border-radius:20px;background:#eee8f1;box-shadow:0 6px 18px #39294005;transition:transform .25s,box-shadow .25s,border-color .25s}
.work-index>a[data-project="meridian"]{background:linear-gradient(145deg,#f5eee9,#ebe3eb)}
.work-index>a[data-project="morrow"]{background:linear-gradient(145deg,#f3e0e7,#f7edf1)}
.work-index>a[data-project="relay"]{background:linear-gradient(145deg,#e7e0f0,#f2edf7)}
.work-index>a:is(:hover,:focus-visible){transform:translateY(-5px);border-color:#9a7aad;box-shadow:0 14px 28px #39294012;color:var(--ink)}
.work-index h3{font-weight:500}
.ways-section{background:linear-gradient(140deg,#e9e1ef,#f2eaf3);border-block:1px solid #b5a2c282}
.way{position:relative;padding:28px 25px;background:#faf6fbc9;border:1px solid #b5a2c278;border-radius:20px;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s;isolation:isolate}
.way h3{font-weight:500}
.way .way-boundary{margin-top:auto}
.way .way-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;max-width:100%;min-height:46px;border:1px solid transparent;border-radius:40px;background:var(--ink);color:var(--paper);padding:10px 22px;font-size:1rem;line-height:1.5;transition:background .22s,box-shadow .22s}
.way>.way-trigger{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.way>.way-trigger:focus-visible{outline:2px solid var(--violet);outline-offset:5px}
.way:is(:hover,:has(.way-trigger:focus-visible)){transform:translateY(-6px);border-color:#9677a8;background:#fffbfe;box-shadow:0 16px 32px #39294013}
.way:is(:hover,:has(.way-trigger:focus-visible)) .way-cta{background:#51425f}
.way:has(.way-trigger:active){transform:translateY(-2px);box-shadow:0 5px 16px #39294012}
.process-section{padding-block:95px 100px;gap:8vw}
.process-copy{align-self:start}
.process-copy h2{font-weight:500;margin-bottom:25px}
.process-copy>.section-kicker{font-weight:600;color:#6a5574}
.process-copy>p{max-width:24rem;font-size:1.06rem;line-height:1.8}
.process-steps li{gap:22px;padding-block:24px;border-color:#b5a2c266}
.process-steps li>span{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #b5a2c266;border-radius:50%;background:#eee5f14d;font-size:.9rem;line-height:1}
.process-steps h3{font-weight:600;margin-bottom:9px}
.process-steps p{line-height:1.8}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center;width:min(1280px,calc(100% - 48px));padding:70px 6vw;margin-block:0 38px;border:1px solid #b5a2c278;border-radius:28px;background:radial-gradient(ellipse at 100% 0,#d8c8e244,transparent 65%),linear-gradient(135deg,#f0e2ed,#eee4f0);position:relative}
.contact-copy{min-width:0}
.contact .section-kicker{color:#695172;font-weight:600;letter-spacing:.01em}
.contact h2{font-weight:500;font-size:clamp(3.25rem,5.3vw,5.2rem);line-height:1.1;letter-spacing:-.055em;margin-bottom:26px;overflow:visible}
.contact-copy>p{max-width:33rem;color:#65586b;line-height:1.85;font-size:1.08rem;margin-bottom:0;text-wrap:pretty}
.contact-start{padding:32px;min-width:0;background:#fbf8fccf;border:1px solid #ffffffa3;border-radius:22px;box-shadow:0 18px 45px #39294008}
.contact-mark{display:block;width:46px;height:46px;margin-bottom:28px;fill:none;stroke:#756080;stroke-width:5;stroke-linecap:square}
.contact-cta{display:flex;justify-content:center;align-items:center;width:100%;min-height:56px;padding:15px 22px;border:1px solid transparent;border-radius:40px;background:var(--ink);color:var(--paper);font-size:1rem;line-height:1.5;transition:transform .22s,background .22s,box-shadow .22s}
.contact-cta:is(:hover,:focus-visible){background:#51425f;transform:translateY(-3px);box-shadow:0 10px 22px #39294019}
.contact-cta:active{transform:translateY(0);box-shadow:0 3px 8px #39294013}
.contact .contact-hint{font-size:.94rem;line-height:1.8;color:#6d5e74;margin:23px 0 0}
.contact-address{overflow-wrap:anywhere}
@media(max-width:1000px){.ways-grid{gap:20px}.way{padding:25px 22px}.work-index>a{padding:25px 22px}.contact{gap:30px;padding-inline:5vw}.contact-start{padding:26px}}
@media(max-width:700px){.hero h1{font-size:clamp(2.25rem,9.7vw,4rem);line-height:1.13;letter-spacing:-.045em;margin-block:8px 22px}.hero-line{padding:.12em .06em;margin:-.12em -.06em}.hero-copy>.hero-lede{font-size:1.08rem;max-width:29rem}.services{width:calc(100% - 32px);border-radius:20px;padding-inline:24px;padding-block:55px;margin-block:24px 35px}.work-heading{padding-top:30px}.work-index>a{margin-bottom:17px;padding:25px 23px;border-bottom:1px solid #b5a2c26b}.way{padding:27px 24px;margin-bottom:20px}.nav-contact{font-size:1rem}.process-section{padding-block:70px}.process-steps{margin-top:33px}.process-steps li{gap:17px}.process-steps li>span{width:35px;height:35px}.contact{display:block;width:calc(100% - 32px);padding:42px 26px;border-radius:23px;margin-bottom:26px}.contact h2{font-size:clamp(2.75rem,11vw,4rem);line-height:1.13}.contact-copy>p{font-size:1rem}.contact-start{margin-top:32px;padding:25px 22px;border-radius:18px}.contact-mark{width:39px;height:39px;margin-bottom:22px}.contact-cta{padding-inline:17px;min-height:54px}}
@media(prefers-reduced-motion:reduce){.site-header .identity,.site-header nav a,.site-header .nav-contact,.way,.work-index>a,.contact-cta{transform:none!important}.reveal{opacity:1!important;transform:none!important;animation:none!important}}
