.hero--compact .hero__inner{padding-block:clamp(72px,12vh,128px) clamp(96px,14vh,150px)}
.hero--compact h1{max-width:14ch}
.crumbs{display:flex;gap:.5em;align-items:center;font-family:var(--font-display);font-size:.8rem;color:var(--on-dark-mute);margin-bottom:1.6rem}
.crumbs a:hover{color:#fff}
.nav__links a[aria-current="page"]{color:var(--ink);background:var(--mist)}

.way{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem;transition:transform .35s var(--ease-out),box-shadow .35s}
.way:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.way .cdetail__ico{margin-bottom:.8rem}
.way .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-mute);font-family:var(--font-display);font-weight:600}
.way .v{font-family:var(--font-display);font-weight:700;font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--ink);letter-spacing:-.01em;overflow-wrap:anywhere}
.way a.v:hover{color:var(--teal)}
.way p{color:var(--ink-soft);font-size:.98rem}
.way .tlink{margin-top:auto;padding-top:.8rem}

.route__head{max-width:46ch;margin-bottom:2.4rem}
.route__head h2,.office h2,.faq h2{font-size:clamp(1.9rem,3.8vw,2.7rem)}
.route__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
@media (max-width:920px){.route__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.route__grid{grid-template-columns:1fr}}
.route{background:var(--paper);padding:28px 24px;text-align:left;display:flex;flex-direction:column;gap:.6rem;transition:background .3s;font:inherit;color:inherit}
.route:hover{background:var(--paper-2)}
.route h3{font-size:1.15rem;letter-spacing:-.01em}
.route p{color:var(--ink-soft);font-size:.96rem;line-height:1.55}
.route .tlink{margin-top:auto;padding-top:.6rem;font-size:.9rem}

.formwrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,88px);align-items:start}
@media (max-width:880px){.formwrap{grid-template-columns:1fr;gap:40px}}
.formwrap h2{font-size:clamp(2rem,4.2vw,3rem)}
.formwrap h2 .mute{color:var(--ink-mute)}
.facts{margin-top:2.2rem;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.fact{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.98rem}
.fact .k{color:var(--ink-mute);font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding-top:.15em}
.fact .val{color:var(--ink);font-weight:600;text-align:right}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:var(--ink-soft);margin:4px 0 16px;cursor:pointer}
.consent input{width:18px;height:18px;accent-color:var(--teal);margin-top:2px;flex:none}

.office__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:880px){.office__grid{grid-template-columns:1fr}}
.office__addr{margin-top:1.4rem;font-size:1.12rem;color:var(--ink-soft);line-height:1.65;font-style:normal}
.office__addr b{color:var(--ink);font-family:var(--font-display)}
.office__cta{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:12px}
.map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--mist)}
.map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.75)}

.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:880px){.faq__grid{grid-template-columns:1fr}}
.faq__list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;font-family:var(--font-display);font-weight:600;font-size:1.08rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:28px;height:28px;border-radius:50%;background:var(--mist);flex:none;position:relative;transition:background .25s}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.8px;background:var(--teal);transform:translate(-50%,-50%);transition:transform .3s var(--ease-out)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq details[open] .pm{background:rgba(19,135,126,.12)}
.faq details p{padding:0 3rem 1.4rem 0;color:var(--ink-soft);line-height:1.65}
.faq details p a{color:var(--teal);font-weight:600}

.cta-band{background:radial-gradient(900px 500px at 85% 0%,rgba(34,194,181,.14),transparent 55%),linear-gradient(180deg,var(--navy-900),var(--navy-950));color:var(--on-dark);border-radius:var(--radius-lg);padding:clamp(36px,5vw,64px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-band h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);max-width:20ch}
.cta-band p{color:var(--on-dark-soft);margin-top:.7rem;max-width:44ch}
.cta-band__btns{display:flex;gap:12px;flex-wrap:wrap}

/* bold + dark type */
body.cp{--ink:#061226;--ink-soft:#18243B;--ink-mute:#3F4C64;font-weight:500}
.cp h1,.cp h2{font-weight:800;letter-spacing:-.03em}
.cp h3{font-weight:700}
.cp .eyebrow{font-weight:700;font-size:.78rem}
.cp .contact__lead,.cp .hero__sub{font-weight:500}
.cp .field label{font-weight:700;color:var(--ink)}
.cp .tlink,.cp .btn{font-weight:700}
.cp .nav__links a{font-weight:600}
.cp .faq summary{font-weight:700}
.cp .hero h1{font-weight:800}

/* Let's talk */
.nw{white-space:nowrap}
.hero--compact .hero__inner{padding-bottom:clamp(140px,18vh,190px)}
.talk{margin-top:-100px;position:relative;z-index:3;padding-top:0}
.tk{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
@media (max-width:1100px){.tk{grid-template-columns:1fr}}
.tk__side{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:clamp(30px,4vw,52px);color:var(--on-dark);background:radial-gradient(520px 380px at 0% 0%,rgba(34,194,181,.24),transparent 62%),linear-gradient(160deg,var(--navy-900),var(--navy-950))}
.tk__side::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:linear-gradient(210deg,#000,transparent 65%);mask-image:linear-gradient(210deg,#000,transparent 65%)}
.tk__side .eyebrow{white-space:nowrap}
.tk__side h2{color:#fff;font-size:clamp(2.4rem,4.6vw,3.4rem);margin-top:.2rem}
.tk__side p{color:var(--on-dark-soft);font-size:1.06rem;font-weight:500;max-width:32ch}
.tk__side .tlink{color:var(--teal-bright)}
.tk__side .tlink:hover{color:#fff}
.tk__status{margin-top:auto;display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:100px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark-2);font-family:var(--font-display);font-weight:700;font-size:.86rem;color:#fff;white-space:nowrap;max-width:100%}
@media (max-width:1100px){.tk__status{margin-top:.8rem}}
.tk__status small{font-size:inherit;font-weight:500;color:var(--on-dark-soft)}
.tk__dot{width:8px;height:8px;border-radius:50%;background:var(--on-dark-mute);flex:none}
.tk__status.is-open .tk__dot{background:var(--teal-bright);animation:tkpulse 2.2s infinite}
@keyframes tkpulse{0%{box-shadow:0 0 0 0 rgba(34,194,181,.6)}70%{box-shadow:0 0 0 9px rgba(34,194,181,0)}100%{box-shadow:0 0 0 0 rgba(34,194,181,0)}}
.tk__list{list-style:none;display:flex;flex-direction:column;justify-content:center}
.tk__row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:1.3rem;align-items:center;padding:clamp(22px,2.8vw,32px) clamp(22px,3.4vw,42px);transition:background .25s}
.tk__row+.tk__row{border-top:1px solid var(--line)}
.tk__row:hover{background:var(--paper-2)}
.tk__ico{width:54px;height:54px;border-radius:15px;background:var(--mist);color:var(--teal);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,transform .3s var(--ease-out)}
.tk__ico svg{width:23px;height:23px}
.tk__row:hover .tk__ico{background:var(--teal);color:#fff;transform:scale(1.04)}
.tk__label{display:block;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.tk__val{display:block;margin-top:.3rem;font-family:var(--font-display);font-weight:800;font-size:clamp(1.1rem,1.9vw,1.42rem);letter-spacing:-.02em;line-height:1.3;color:var(--ink);font-style:normal;overflow-wrap:break-word}
a.tk__val:hover{color:var(--teal)}
.tk__note{display:block;margin-top:.35rem;font-size:.93rem;font-weight:500;color:var(--ink-mute)}
.tk__acts{display:flex;align-items:center;gap:10px}
.tk__btn{padding:.72em 1.25em;font-size:.9rem;white-space:nowrap}
.tk__copy{position:relative;width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);box-shadow:inset 0 0 0 1.5px var(--line-strong);transition:color .2s,box-shadow .2s}
.tk__copy:hover{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.tk__copy svg{width:17px;height:17px}
.tk__copy .i-ok{display:none}
.tk__copy.is-copied{color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.tk__copy.is-copied .i-copy{display:none}
.tk__copy.is-copied .i-ok{display:block}
.tk__copy::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:.32em .65em;border-radius:6px;background:var(--ink);color:#fff;font-family:var(--font-display);font-size:.72rem;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.tk__copy:hover::after,.tk__copy.is-copied::after{opacity:1;transform:translate(-50%,0)}
@media (min-width:1101px) and (max-width:1280px){.tk__row{grid-template-columns:54px minmax(0,1fr);row-gap:1rem}.tk__acts{grid-column:2}}
@media (max-width:600px){.tk__row{grid-template-columns:46px minmax(0,1fr);row-gap:1rem}.tk__ico{width:46px;height:46px;border-radius:13px}.tk__acts{grid-column:1/-1}.tk__btn{flex:1;justify-content:center}}

/* Looking for a solution */
.sol__head{max-width:40ch;margin-bottom:2.2rem}
.sol__box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}
.sol__tabs{display:flex;gap:6px;padding:10px;background:var(--paper-2);border-bottom:1px solid var(--line);overflow-x:auto}
.sol__tab{display:flex;align-items:center;gap:.6rem;flex:1 0 auto;padding:.7rem 1rem;border-radius:12px;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--ink-soft);white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.sol__tab .cdetail__ico{width:32px;height:32px;border-radius:9px}
.sol__tab .cdetail__ico svg{width:17px;height:17px}
.sol__tab:hover{color:var(--ink);background:var(--paper)}
.sol__tab[aria-selected="true"]{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}
.sol__tab[aria-selected="true"] .cdetail__ico{background:rgba(255,255,255,.12);color:var(--teal-bright)}
.sol__panel{padding:clamp(24px,3.5vw,40px)}
.sol__desc{font-size:1.12rem;color:var(--ink-soft);font-weight:500;margin-bottom:1.6rem;max-width:52ch}
.sol__subs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.sol__sub{text-align:left;display:flex;flex-direction:column;gap:.55rem;padding:24px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);font:inherit;color:inherit;transition:border-color .25s,transform .3s var(--ease-out),box-shadow .3s}
.sol__sub:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:var(--shadow)}
.sol__sub .cdetail__ico{margin-bottom:.4rem}
.sol__sub h3{font-size:1.25rem;font-weight:800;letter-spacing:-.015em}
.sol__sub p{color:var(--ink-soft);font-size:.98rem;line-height:1.55}
.sol__sub .tlink{margin-top:auto;padding-top:.5rem}
@media (max-width:420px){.tk__status{white-space:normal;border-radius:14px}.tk__row{padding-inline:20px}.tk__val{font-size:1.02rem}.tk__row{grid-template-columns:1fr}.tk__ico{width:40px;height:40px;border-radius:11px}.tk__ico svg{width:19px;height:19px}}

.sol__more{margin-top:1.1rem;color:var(--ink-soft);font-size:.95rem}.sol__more a{color:var(--teal);font-weight:700}.sol__more a:hover{color:var(--teal-strong)}
