.ct-hero{padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,64px)}.ct-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(40px,6vw,96px);display:grid}.ct-hero h1{font-family:var(--display);letter-spacing:-.055em;text-wrap:balance;margin:24px 0;font-size:clamp(46px,6.6vw,100px);font-weight:700;line-height:.95}.ct-hero .lede{font-size:clamp(17px,1.4vw,20px)}.ct-intents{gap:10px;max-width:560px;margin-top:36px;display:grid}.ct-intent{border:1px solid var(--line);transition:border-color .3s ease, box-shadow .4s var(--ease-out), transform .16s var(--ease-out);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:14px 14px 14px 16px;display:flex}.ct-intent:active{transform:scale(.98)}.ct-intent .ic{background:var(--mist);width:40px;height:40px;color:var(--blue);border-radius:11px;flex:none;place-items:center;transition:background-color .3s,color .3s;display:grid}.ct-intent .ic svg{width:18px;height:18px}.ct-intent>span:nth-child(2){flex:1;min-width:0}.ct-intent b{font-size:16px;display:block}.ct-intent small{color:var(--muted);font-size:13.5px;display:block}.ct-intent .go{background:var(--fog);width:36px;height:36px;transition:transform .4s var(--ease-out), background-color .3s ease, color .3s ease;border-radius:50%;flex:none;place-items:center;display:grid}.ct-intent .go svg{width:15px;height:15px}@media (hover:hover) and (pointer:fine){.ct-intent:hover{border-color:var(--line-strong);box-shadow:0 24px 40px -28px #0b214766}.ct-intent:hover .ic{background:var(--blue);color:#fff}.ct-intent:hover .go{background:var(--ink);color:#fff;transform:rotate(-45deg)}}.ct-office{isolation:isolate;background:linear-gradient(160deg, var(--navy) 0%, #0f2a57 100%);color:#fff;border-radius:24px;padding:clamp(28px,3.4vw,44px);position:relative;overflow:hidden;box-shadow:0 50px 90px -40px #0b21478c}.ct-office .label{color:#ffffff8c}.ct-office h2{font-family:var(--display);letter-spacing:-.05em;margin:12px 0 10px;font-size:clamp(36px,3.6vw,52px);font-weight:700;line-height:1}.ct-office .serif{color:var(--sky-soft)}.ct-office address{color:#ffffffb8;font-size:16px;font-style:normal;line-height:1.6}.ct-pin{z-index:-1;place-items:center;width:260px;height:260px;display:grid;position:absolute;top:-40px;right:-40px}.ct-pin i{animation:ctPulse 3.6s var(--ease-out) infinite;border:1px solid #a9d6ff59;border-radius:50%;position:absolute;inset:0}.ct-pin i:nth-child(2){animation-delay:1.2s}.ct-pin i:nth-child(3){animation-delay:2.4s}.ct-pin span{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 0 0 8px #2f6bd840}.ct-pin span svg{width:24px;height:24px}@keyframes ctPulse{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1)}}.ct-facts{border-top:1px solid var(--line-dark);grid-template-columns:1fr 1fr;margin:28px 0 22px;display:grid}.ct-facts>div{padding:16px 0 0}.ct-facts>div+div{border-left:1px solid var(--line-dark);padding-left:20px}.ct-facts small{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;font-size:11px;display:block}.ct-facts b{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:34px;font-weight:600;display:block}.ct-mail{background:#ffffff14;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:15px;transition:background-color .3s;display:flex}.ct-mail svg{width:18px;height:18px;color:var(--sky)}@media (hover:hover) and (pointer:fine){.ct-mail:hover{background:#ffffff24}}.ct-hero+.contact{padding-top:0}.ct-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid;position:relative}.ct-line{background:var(--line);height:2px;position:absolute;top:27px;left:28px;right:28px}.ct-line i{background:var(--blue);transform-origin:0;position:absolute;inset:0}.anim .ct-line i{transform:scaleX(0)}.ct-step{position:relative}.ct-step .dot{border:1px solid var(--line-strong);width:56px;height:56px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;transition:background-color .4s,color .4s,border-color .4s;display:grid;position:relative}.ct-step .dot svg{width:22px;height:22px}.ct-step.on .dot,html:not(.anim) .ct-step .dot{background:var(--blue);border-color:var(--blue);color:#fff}.ct-step .n{font-family:var(--mono);color:var(--blue);margin-top:24px;font-size:12px;display:block}.ct-step h3{font-family:var(--display);letter-spacing:-.035em;margin:6px 0 10px;font-size:28px;font-weight:600}.ct-step p{max-width:22em;color:var(--muted);margin:0}.ct-ch{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.ct-card{background:var(--fog);border:1px solid var(--line);transition:background-color .4s ease, box-shadow .5s var(--ease-out);border-radius:22px;flex-direction:column;padding:30px 28px;display:flex}.ct-card .ico{width:52px;height:52px;color:var(--blue);transition:transform .5s var(--ease-out);background:#fff;border-radius:14px;place-items:center;display:grid}.ct-card .ico svg{width:24px;height:24px}.ct-card h3{font-family:var(--display);letter-spacing:-.03em;margin:26px 0 8px;font-size:24px;font-weight:600}.ct-card p{color:var(--muted);margin:0 0 24px;font-size:15.5px}.ct-how{border-top:1px solid var(--line);margin-top:auto;padding-top:18px;font-weight:600}.ct-how a{color:var(--blue);text-underline-offset:3px;text-decoration:underline}@media (hover:hover) and (pointer:fine){.ct-card:hover{background:#fff;box-shadow:0 40px 70px -40px #0b214766}.ct-card:hover .ico{transform:translateY(-4px)rotate(-4deg)}}.ph{color:var(--warn);font-family:var(--mono);background:#fdf0e9;border-radius:5px;padding:1px 6px;font-size:.82em;font-weight:500}.ct-office .ph{color:#ffb48f;background:#fdf0e91f}@media (prefers-reduced-motion:reduce){.ct-pin i{opacity:.4;animation:none}}@media (max-width:960px){.ct-hero-grid,.ct-ch{grid-template-columns:1fr}.ct-steps{grid-template-columns:1fr;gap:36px;padding-left:0}.ct-line{width:2px;height:auto;inset:28px auto 28px 27px}.ct-line i{transform-origin:50% 0}.ct-step{grid-template-columns:56px minmax(0,1fr);column-gap:20px;display:grid}.ct-step .dot{grid-row:span 3}.ct-step .n{margin-top:4px}}@media (max-width:640px){.ct-hero h1{font-size:44px}.ct-facts b{font-size:28px}.ct-pin{top:-110px;right:-110px}.ct-pin span{display:none}}
