/* Homepage-only editorial finish. Open Spark palette / Manrope / approved content.
   Native CSS textures and original decorative sparkle geometry; no extra script. */
.home-premium { --home-grid: rgba(13,115,119,.055); }
.home-premium .hero { padding: 78px 0 100px; isolation: isolate; }
.home-premium .hero-bg {
  background-image: linear-gradient(90deg,var(--home-grid) 1px,transparent 1px),linear-gradient(var(--home-grid) 1px,transparent 1px),radial-gradient(ellipse at 88% 35%,#EDF4F2 0,transparent 62%);
  background-size: 64px 64px,64px 64px,100% 100%;
  -webkit-mask-image: linear-gradient(90deg,rgba(0,0,0,.28),#000);
  mask-image: linear-gradient(90deg,rgba(0,0,0,.28),#000);
}
.home-premium .hero::after {
  content:''; position:absolute; width:630px; height:630px; right:-130px; top:-90px;
  border:1px solid rgba(13,115,119,.15); border-radius:50%; box-shadow:0 0 0 48px rgba(13,115,119,.025),0 0 0 96px rgba(13,115,119,.02); z-index:-1; pointer-events:none;
}
.home-premium .hero-grid { grid-template-columns:1.06fr .94fr; gap:76px; }
.home-premium .hero-copy { padding-bottom:10px; }
.home-premium .hero h1 { font-size:clamp(2.4rem,4.3vw,3.85rem); font-weight:700; line-height:1.08; letter-spacing:-.05em; text-wrap:initial; }
.home-premium .hero h1 em { display:block; margin-top:9px; }
.home-premium .hero .lead { max-width:29em; }
.home-premium .hero .eyebrow { font-size:.6875rem; letter-spacing:.16em; }
.home-premium .hero .actions { gap:14px; }
.home-premium .hero .actions .button { font-size:.875rem; padding-inline:21px; }
.home-premium .button.primary { box-shadow:0 4px 0 rgba(11,53,72,.08),0 8px 20px rgba(234,138,58,.14); }
.home-premium .hero .button.ghost { background:rgba(255,255,255,.75); box-shadow:inset 0 0 0 1px var(--line-strong); }
.home-premium .hero-visual { padding:12px; background:white; border:1px solid rgba(13,115,119,.12); border-radius:8px 68px 8px 8px; box-shadow:0 30px 65px -28px rgba(11,53,72,.38); }
.home-premium .hero-visual::before { inset:40px -24px -24px 40px; background:var(--soft); border:1px solid rgba(13,115,119,.16); border-radius:8px 68px 8px 8px; z-index:-1; }
.home-premium .hero-visual::after { top:-28px; right:25px; width:70px; height:70px; z-index:2; }
.home-premium .hero-visual .photo { height:510px; border-radius:3px 55px 3px 3px; box-shadow:none; object-position:44% 46%; }
.home-premium .photo-note { bottom:32px; left:-35px; border-radius:4px; padding:19px 24px; border-left:3px solid var(--orange); box-shadow:0 15px 40px rgba(11,53,72,.18); }
.home-premium .photo-note .icon-tile { background:var(--soft); border-radius:50%; }
.home-premium .trust-strip { position:relative; background:white; border:0; }
.home-premium .trust-strip .wrap { position:relative; margin-top:-28px; padding:25px 28px; background:#fff; box-shadow:0 15px 35px -20px rgba(11,53,72,.25); border:1px solid var(--line); border-radius:6px; }
.home-premium .trust-strip span+span { border-left:1px solid var(--line); }
.home-premium .section { padding-block:100px; }
.home-premium .section-heading h2 { font-size:clamp(1.8rem,2.8vw,2.65rem); letter-spacing:-.045em; }
.home-premium .home-industries .section-heading { max-width:650px; }
.home-premium .home-industries .card { border:0; border-radius:4px; padding:32px; background:var(--offwhite); border-top:2px solid var(--teal); }
.home-premium .home-industries .card:nth-child(2) { background:var(--soft); }
.home-premium .home-industries .card:nth-child(3) { background:var(--cream); border-top-color:var(--orange); }
.home-premium .home-industries .card-num { font-size:2.4rem; font-weight:400; color:var(--teal); letter-spacing:-.06em; }
.home-premium .home-industries .icon-tile { background:#fff; border-radius:50%; }
.home-premium .card-link { margin-top:auto; padding-top:20px; margin-bottom:0; }
.home-premium .card p { margin-bottom:24px; }
.home-premium .home-standard { background:var(--navy); color:#D5E3E6; position:relative; overflow:hidden; isolation:isolate; }
.home-premium .home-standard::before { content:''; position:absolute; width:600px; height:600px; left:-220px; bottom:-260px; border:1px solid rgba(237,244,242,.12); border-radius:50%; box-shadow:0 0 0 55px rgba(237,244,242,.025),0 0 0 110px rgba(237,244,242,.018); z-index:-1; pointer-events:none; }
.home-premium .home-standard .eyebrow { color:#B7DAD4; }
.home-premium .home-standard h2,.home-premium .home-standard h3,.home-premium .home-standard .large-copy { color:white; }
.home-premium .home-standard .large-copy { font-size:clamp(1.35rem,2.1vw,1.75rem); font-weight:400; line-height:1.6; max-width:20em; }
.home-premium .home-standard .section-heading { max-width:600px; margin-bottom:44px; }
.home-premium .home-standard .icon-tile { background:rgba(237,244,242,.09); color:#B7DAD4; border:1px solid rgba(237,244,242,.13); border-radius:8px; }
.home-premium .home-standard .feature-list article+article { border-color:rgba(237,244,242,.16); }
.home-premium .home-services .cards.four { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.home-premium .home-services .card { border-radius:5px; padding:30px 32px; box-shadow:0 8px 25px -16px rgba(11,53,72,.2); }
.home-premium .home-services .card-top { margin-bottom:18px; }
.home-premium .home-services .card-num { font-size:.65rem; letter-spacing:.12em; }
.home-premium .home-services .icon-tile { border-radius:50%; }
.home-premium .home-process { background-color:var(--soft); background-image:radial-gradient(rgba(13,115,119,.13) .7px,transparent .7px); background-size:10px 10px; }
.home-premium .home-process .section-heading { max-width:780px; }
.home-premium .home-process .steps { gap:24px; }
.home-premium .home-process .steps article { padding:30px; background:rgba(255,255,255,.92); border:1px solid rgba(13,115,119,.16); border-radius:5px; }
.home-premium .home-process .step-num { width:auto; height:auto; border:0; background:none; font-size:2.7rem; line-height:1.1; font-weight:400; letter-spacing:-.07em; }
.home-premium .home-process .step-line { height:1px; background:var(--line-strong); }
.home-premium .home-people .framed { padding:12px; background:white; border:1px solid var(--line-strong); border-radius:4px; }
.home-premium .home-people .framed::before { border-radius:4px; background:var(--cream); background-image:linear-gradient(135deg,rgba(234,138,58,.1) 25%,transparent 25%,transparent 50%,rgba(234,138,58,.1) 50%,rgba(234,138,58,.1) 75%,transparent 75%); background-size:12px 12px; }
.home-premium .home-people .photo { border-radius:3px; box-shadow:none; }
.home-premium .home-people h2 { font-size:clamp(1.8rem,2.8vw,2.65rem); }
.home-premium .home-city { background:var(--offwhite); border-top:1px solid var(--line); position:relative; }
.home-premium .home-city .boroughs { gap:12px; }
.home-premium .home-city .boroughs li { border-radius:4px; padding:13px 21px; }
.home-premium .closing { background-color:var(--navy); background-image:linear-gradient(rgba(237,244,242,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(237,244,242,.025) 1px,transparent 1px); background-size:64px 64px; }
.home-premium .closing .form-card { border-radius:8px; border-top:4px solid var(--orange); }
@media(max-width:1140px) {
  .home-premium .hero-grid { gap:48px; }
  .home-premium .hero h1 { font-size:3.2rem; }
  .home-premium .hero-visual .photo { height:500px; }
}
@media(max-width:980px) {
  .home-premium .hero { padding:60px 0 76px; }
  .home-premium .hero-grid { grid-template-columns:1fr; gap:52px; }
  .home-premium .hero-copy { max-width:670px; }
  .home-premium .hero-visual { width:calc(100% - 24px); max-width:620px; justify-self:center; }
  .home-premium .hero h1 { max-width:650px; font-size:clamp(2.4rem,6vw,3.85rem); }
  .home-premium .hero-visual .photo { height:470px; }
  .home-premium .photo-note { left:-12px; }
  .home-premium .trust-strip span+span { border:0; }
  .home-premium .trust-strip .wrap { padding:22px; }
  .home-premium .section { padding-block:72px; }
  .home-premium .home-process .steps { gap:16px; }
  .home-premium .home-process .steps article { padding:25px; grid-template-columns:45px 1fr; }
  .home-premium .home-process .step-head { align-items:flex-start; }
  .home-premium .home-process .step-line { display:none; }
  .home-premium .home-standard .large-copy { max-width:29em; }
}
@media(max-width:620px) {
  .home-premium .hero { padding:44px 0 65px; }
  .home-premium .hero-grid { gap:42px; }
  .home-premium .hero h1 { font-size:2.4rem; line-height:1.1; }
  .home-premium .hero .eyebrow { font-size:.62rem; letter-spacing:.1em; }
  .home-premium .hero .actions { gap:12px; }
  .home-premium .hero-visual { width:calc(100% - 12px); padding:8px; border-radius:5px 45px 5px 5px; }
  .home-premium .hero-visual .photo { height:360px; border-radius:2px 37px 2px 2px; }
  .home-premium .hero-visual::before { inset:24px -12px -14px 24px; border-radius:5px 45px 5px 5px; }
  .home-premium .hero-visual::after { width:52px; height:52px; top:-20px; right:18px; }
  .home-premium .photo-note { bottom:22px; left:-7px; padding:13px 15px; gap:10px; }
  .home-premium .photo-note strong { font-size:.8rem; }
  .home-premium .trust-strip .wrap { padding:20px 14px; gap:18px 10px; }
  .home-premium .trust-strip span { font-size:.72rem; gap:7px; }
  .home-premium .trust-strip svg { width:17px; }
  .home-premium .section { padding-block:58px; }
  .home-premium .home-services .cards.four { grid-template-columns:1fr; }
  .home-premium .home-services .card,.home-premium .home-industries .card { padding:26px; }
  .home-premium .home-process .steps article { padding:23px 20px; column-gap:15px; }
  .home-premium .home-process .step-num { font-size:2.3rem; }
  .home-premium .home-people .framed { margin-right:14px; }
  .home-premium .home-city .boroughs li { padding:10px 15px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-premium .card,.home-premium .button { transition:none; }
}
