.home-main{overflow:hidden}
.section-kicker{font-size:.67rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--color-ocean)}
.kicker-dot{display:inline-block;width:7px;height:7px;margin-right:.7rem;border-radius:50%;background:var(--color-magenta);vertical-align:middle;box-shadow:0 0 0 5px rgb(192 0 122 / 10%)}
.text-link{display:inline-flex;align-items:center;gap:1.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-ocean);font-size:.83rem;font-weight:800;color:var(--color-ocean);transition:gap .3s,color .3s}
.text-link:hover{gap:2rem;color:var(--color-magenta)}
.home-hero{display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:min(710px,calc(100svh - 88px));background:linear-gradient(110deg,#fff 0%,#fff 43%,#eef6f8 100%)}
.home-hero__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:2;padding:clamp(2rem,4vw,4rem) 0 clamp(2rem,4vw,4rem) var(--space-page)}
.home-hero__eyebrow{margin-bottom:clamp(1.4rem,3vw,2.8rem);font-size:.61rem;white-space:nowrap}
.home-hero__title{font-size:clamp(3.1rem,5.55vw,6.25rem);line-height:1.04;letter-spacing:-.07em;color:#08364f;white-space:nowrap}
.hero-line{display:block;overflow:hidden}.hero-line>span{display:block}
.hero-line:last-child{color:var(--color-ocean)}
.home-hero__lead{max-width:34rem;margin-top:clamp(1.4rem,2.6vw,2.4rem);font-size:clamp(1rem,1.13vw,1.15rem);line-height:1.65;color:#476775}
.home-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-top:clamp(1.4rem,2.5vw,2.6rem)}
.home-hero__primary{min-height:3.5rem;padding:0 1.5rem;gap:2rem}
.home-hero__index{margin-top:clamp(2rem,4vw,4rem);font-size:.59rem;font-weight:800;letter-spacing:.18em;color:#7c9da8}
.home-hero__visual{position:relative;min-height:600px;margin:1.2rem 0 1.2rem 2rem;overflow:hidden;border-radius:210px 0 0 12px;box-shadow:-24px 28px 70px rgb(6 75 111 / 13%)}
.home-hero__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(3 56 85 / 5%),transparent 43%),linear-gradient(0deg,rgb(2 50 76 / 24%),transparent 42%);pointer-events:none}
.home-hero__visual>img{width:100%;height:100%;min-height:600px;object-fit:cover;object-position:center}
.hero-visual__card{position:absolute;z-index:2;left:clamp(1.5rem,4vw,4.5rem);bottom:clamp(1.5rem,4vw,4rem);display:grid;gap:.45rem;width:230px;padding:1.3rem 1.4rem;background:rgb(255 255 255 / 88%);border:1px solid rgb(255 255 255 / 70%);border-radius:18px;box-shadow:0 16px 48px rgb(7 55 79 / 18%);backdrop-filter:blur(18px)}
.hero-visual__card-icon{color:var(--color-magenta);font-size:1.5rem}.hero-visual__card strong{font:700 1.2rem/1.2 var(--font-heading);letter-spacing:-.04em;color:var(--color-ocean-deep)}.hero-visual__card small{font-size:.72rem;line-height:1.4;color:#5b7180}
.hero-visual__vertical{position:absolute;right:1.1rem;bottom:2rem;z-index:2;writing-mode:vertical-rl;color:white;font-size:.55rem;font-weight:800;letter-spacing:.22em}
.home-services{padding:clamp(4rem,7vw,7.5rem) var(--space-page) clamp(4rem,7vw,7rem);background:#fff}
.home-services__intro{display:grid;grid-template-columns:1.3fr 1fr;column-gap:4rem;align-items:end;max-width:1100px;margin-bottom:clamp(2rem,4vw,4rem)}
.home-services__intro .section-kicker{grid-column:1/-1;margin-bottom:1rem}.home-services__intro h2{max-width:12ch;font-size:clamp(2.25rem,3.7vw,4.4rem);line-height:1.12;color:var(--color-ocean-deep)}.home-services__intro>p:last-child{max-width:28rem;padding-bottom:.35rem;color:#647d89;font-size:1rem;line-height:1.65}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,2vw,2.2rem)}
.service-card{min-width:0;background:#f5f9fa;border:1px solid #dfeaec;border-radius:20px;overflow:hidden;box-shadow:0 16px 35px rgb(6 73 107 / 5%);transition:transform .4s var(--ease-out),box-shadow .4s}
.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgb(6 73 107 / 13%)}
.service-card__image{display:block;position:relative;height:clamp(240px,27vw,410px);overflow:hidden}.service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.service-card:hover .service-card__image img{transform:scale(1.045)}
.service-card__image-tag{position:absolute;left:1.3rem;top:1.3rem;padding:.55rem .85rem;background:rgb(255 255 255 / 90%);border-radius:99px;color:var(--color-ocean-deep);font-size:.57rem;font-weight:800;letter-spacing:.17em;backdrop-filter:blur(8px)}
.service-card__content{display:grid;grid-template-columns:1fr auto;gap:.5rem 1.2rem;position:relative;padding:clamp(1.4rem,2.2vw,2.1rem)}
.service-card__eyebrow{grid-column:1/-1;color:var(--color-magenta);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.service-card h3{font-size:clamp(1.55rem,2.2vw,2.35rem);letter-spacing:-.055em;color:var(--color-ocean-deep)}.service-card__content p:not(.service-card__eyebrow){max-width:35ch;margin-top:.55rem;font-size:.88rem;line-height:1.55;color:#5e7785}
.home-approach{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2rem,7vw,8rem);padding:clamp(3.5rem,6vw,6.5rem) var(--space-page);background:#edf4f6}
.home-approach__visual{position:relative;max-width:680px;aspect-ratio:1.2;border-radius:12px 120px 12px 12px;overflow:hidden;box-shadow:25px 30px 50px rgb(5 62 89 / 13%)}.home-approach__visual img{width:100%;height:100%;object-fit:cover}.home-approach__visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgb(6 45 63 / 65%),transparent)}
.home-approach__visual figcaption{position:absolute;z-index:1;bottom:1.5rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;gap:1rem;color:white;font-size:.57rem;font-weight:800;letter-spacing:.14em}
.home-approach__copy{max-width:520px}.home-approach__copy h2{margin:1.1rem 0 1.5rem;font-size:clamp(2.3rem,3.5vw,4.1rem);color:var(--color-ocean-deep)}.home-approach__copy>p:not(.section-kicker){max-width:48ch;margin-bottom:1.7rem;color:#5d7581;line-height:1.7}
.home-editorial{padding:1rem var(--space-page);color:#607987;font-size:.88rem}.home-editorial p{max-width:75ch}
.home-contact{max-width:1320px;margin:clamp(3rem,6vw,6rem) auto;padding:clamp(1.8rem,3vw,3rem) clamp(1.8rem,4vw,4.5rem);background:linear-gradient(115deg,#073d5a,#005b8f 80%);color:white;border-radius:22px;box-shadow:0 24px 60px rgb(2 58 88 / 17%)}
.home-contact__marker,.home-contact__base{display:flex;justify-content:space-between;gap:1rem;font-size:.63rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#b9d7e3}
.home-contact__main{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding:clamp(2rem,4vw,4rem) 0}.home-contact h2{max-width:11ch;font-size:clamp(2.2rem,3.9vw,4.5rem);line-height:1.13}.home-contact__copy{max-width:50ch;margin-top:1rem;color:#d8e7eb;font-size:.9rem}.home-contact__button{display:grid;place-items:center;flex:0 0 auto;width:clamp(65px,8vw,108px);height:clamp(65px,8vw,108px);border-radius:50%;background:var(--color-magenta);font-size:2.4rem;transition:transform .4s var(--ease-out),background .3s}.home-contact__button:hover{transform:rotate(45deg) scale(1.05);background:#a8006b}
.home-contact__base{padding-top:1.25rem;border-top:1px solid rgb(255 255 255 / 26%)}.home-contact__base a{color:white}
@media(max-width:1100px){.home-hero__title{font-size:clamp(2.8rem,5vw,5rem)}.home-hero__visual{min-height:550px}.home-hero__visual>img{min-height:550px}.home-contact{margin-left:var(--space-page);margin-right:var(--space-page)}}
@media(max-width:760px){.home-hero{grid-template-columns:1fr;min-height:0}.home-hero__copy{padding:2.4rem var(--space-page) 2rem}.home-hero__eyebrow{white-space:normal;font-size:.56rem;margin-bottom:1.6rem}.home-hero__title{font-size:clamp(2.65rem,9vw,4.5rem);white-space:normal}.home-hero__lead{margin-top:1.4rem}.home-hero__index{display:none}.home-hero__visual{min-height:330px;height:55vw;margin:0 0 0 var(--space-page);border-radius:90px 0 0 0;box-shadow:none}.home-hero__visual>img{min-height:0;height:100%}.hero-visual__card{left:1rem;bottom:1rem;width:175px;padding:.8rem}.hero-visual__card strong{font-size:.9rem}.hero-visual__card small{display:none}.hero-visual__vertical{display:none}.home-services__intro,.service-list,.home-approach{grid-template-columns:1fr}.home-services__intro{gap:.7rem}.home-services__intro .section-kicker{grid-column:1}.home-services__intro h2{font-size:clamp(2.1rem,7vw,3.4rem)}.service-card__image{height:50vw;min-height:220px}.home-approach{gap:2.7rem}.home-approach__visual{max-width:100%}.home-contact__marker span:last-child{display:none}.home-contact__main{gap:1.5rem}}
@media(max-width:480px){.home-hero__actions{align-items:flex-start;flex-direction:column}.home-hero__visual{height:330px}.home-services{padding-top:3.5rem}.home-approach{padding-top:3.2rem;padding-bottom:3.2rem}.home-contact{border-radius:12px}.home-contact h2{font-size:clamp(2rem,8.5vw,3rem)}.home-contact__button{width:58px;height:58px;font-size:1.6rem}.home-contact__base{flex-direction:column}.home-approach__visual figcaption span:last-child{display:none}}
.service-card__book{display:inline-flex;align-items:center;gap:.9rem;margin-top:1rem;padding-bottom:.18rem;border-bottom:1px solid var(--color-magenta);color:var(--color-magenta);font-size:.73rem;font-weight:800;transition:gap .25s}.service-card__book:hover{gap:1.25rem}

/* More cinematic service choices on larger screens; the established mobile cards are unchanged. */
@media(min-width:761px){
  .service-list{align-items:stretch;gap:clamp(1rem,1.8vw,2rem)}
  .service-card{position:relative;display:flex;flex-direction:column;border:0;border-radius:16px 96px 16px 16px;background:#edf5f7;box-shadow:0 24px 55px rgb(4 57 84 / 10%)}
  .service-card:nth-child(even){border-radius:96px 16px 16px 16px;background:#f7fafb}
  .service-card__image{height:clamp(270px,28vw,410px);flex:none}
  .service-card__image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgb(4 48 72 / 27%),transparent);pointer-events:none}
  .service-card__image img{object-position:center}
  .service-card__image-tag{z-index:1;top:1.4rem;left:1.4rem;padding:.6rem .9rem;font-size:.62rem;letter-spacing:.15em}
  .service-card__content{flex:1;align-content:space-between;gap:1.1rem;padding:clamp(1.5rem,2.35vw,2.5rem)}
  .service-card__eyebrow{font-size:.7rem}
  .service-card h3{font-size:clamp(1.85rem,2.45vw,2.75rem);line-height:1.1}
  .service-card h3{overflow-wrap:anywhere}
  .service-card__content p:not(.service-card__eyebrow){max-width:46ch;font-size:clamp(.9rem,.84rem + .2vw,1.02rem);line-height:1.6}
  .service-card__book{margin-top:1.15rem;font-size:.82rem}
}
@media(min-width:1260px){
  .service-list{grid-template-columns:repeat(12,minmax(0,1fr))}
  .service-card:nth-child(odd){grid-column:span 7;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);min-height:465px;border-radius:100px 16px 16px 16px;background:linear-gradient(135deg,#e7f2f6,#fff)}
  .service-card:nth-child(even){grid-column:span 5;min-height:465px;border-radius:16px 100px 16px 16px}
  .service-card:nth-child(odd) .service-card__image{height:100%}
  .service-card:nth-child(even) .service-card__image{height:clamp(215px,21vw,300px)}
  .service-card:nth-child(odd) .service-card__content{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,2.6vw,3rem)}
  .service-card:nth-child(odd) .service-card__content>div{margin-top:auto}
  .service-card:nth-child(even) .service-card__content{padding:clamp(1.4rem,2vw,2.2rem)}
  .service-card:nth-child(even) .service-card h3{font-size:clamp(1.8rem,2.15vw,2.4rem)}
}

/* Update 006: a compact contact moment and named circular discovery links. */
.hero-visual__card{top:50%;bottom:auto;translate:0 -50%}
.service-card__content>div{min-width:0}
.service-card__book.orbit-cta{gap:.55rem;margin-top:1.05rem;padding:.3rem .35rem .3rem .85rem;border:1px solid var(--color-magenta);border-radius:999px;background:#fff;color:var(--color-magenta);font-size:.75rem;line-height:1.15}
.service-card__book.orbit-cta .orbit-cta__arrow{width:1.85rem;height:1.85rem;font-size:.9rem}
.service-card__book.orbit-cta:hover{background:#fceaf4;gap:.55rem}
.service-card__orbit{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;align-self:end;width:clamp(116px,11.5vw,148px);aspect-ratio:1;padding:1rem;border-radius:50%;background:#65004f;color:#fff;text-align:center;box-shadow:0 16px 32px rgb(69 0 55 / 22%);transition:transform .35s var(--ease-out),background .25s,box-shadow .25s}
.service-card__orbit>span:first-child{display:block;max-width:12ch;font-size:clamp(.67rem,.8vw,.78rem);font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.service-card__orbit strong{display:block;font:800 clamp(.72rem,.95vw,.89rem)/1.15 var(--font-heading);overflow-wrap:anywhere}
.service-card__orbit-arrow{display:grid;place-items:center;width:1.95rem;height:1.95rem;flex:none;border:1px solid rgb(255 255 255 / 78%);border-radius:50%;font-size:1rem;transition:transform .25s}
.service-card__orbit:hover{background:#830064;transform:translateY(-4px) scale(1.035);box-shadow:0 22px 40px rgb(69 0 55 / 28%)}
.service-card__orbit:hover .service-card__orbit-arrow{transform:rotate(45deg)}
.service-card__orbit:focus-visible{outline:3px solid var(--color-ocean);outline-offset:4px}
.service-card__orbit--long{gap:.45rem;padding:.7rem}.service-card__orbit--long>span:first-child{max-width:100%;font-size:.67rem;overflow-wrap:normal;text-wrap:balance}.service-card__orbit--long strong{max-width:100%;font-size:clamp(.68rem,.82vw,.78rem);line-height:1.12;overflow-wrap:break-word;text-wrap:balance}
.home-contact{max-width:1180px;margin:clamp(2.2rem,4vw,3.8rem) auto;padding:clamp(1.25rem,2.2vw,2rem) clamp(1.35rem,3.2vw,3rem)}
.home-contact__main{justify-content:flex-start;align-items:center;gap:clamp(1.2rem,4vw,4rem);padding:clamp(1.2rem,2.6vw,2.1rem) 0}
.home-contact h2{max-width:16ch;font-size:clamp(2rem,3.1vw,3.35rem)}
.home-contact__copy{max-width:54ch;margin-top:.65rem;font-size:clamp(.88rem,1vw,.98rem);line-height:1.5}
.home-contact__button{width:clamp(74px,7.2vw,92px);height:clamp(74px,7.2vw,92px);font-size:2rem;animation:contact-pulse 3.2s ease-in-out infinite}
.home-contact__button:after{content:"";position:absolute;inset:-8px;border:1px solid rgb(255 255 255 / 58%);border-radius:50%;animation:contact-halo 3.2s ease-out infinite;pointer-events:none}
.home-contact__button{position:relative}
@keyframes contact-pulse{0%,100%{scale:1}42%{scale:1.09}72%{scale:.96}}
@keyframes contact-halo{0%{scale:.82;opacity:.8}70%,100%{scale:1.27;opacity:0}}
@media(min-width:761px) and (max-width:1259px){.service-card__content{grid-template-columns:1fr}.service-card__orbit{grid-column:1;grid-row:auto;justify-self:end}}
@media(min-width:1260px){.service-card:nth-child(odd) .service-card__orbit{align-self:flex-end;margin-top:1.1rem}}
@media(max-width:760px){.hero-visual__card{top:50%;bottom:auto;translate:0 -50%}.service-card__content{grid-template-columns:1fr}.service-card__orbit{grid-column:1;grid-row:auto;justify-self:end;width:124px}.home-contact{margin-left:var(--space-page);margin-right:var(--space-page)}.home-contact__main{gap:1rem}.home-contact__button{width:70px;height:70px;flex:none}}
@media(max-width:480px){.home-contact{padding:1.3rem}.home-contact__main{align-items:center}.home-contact h2{font-size:clamp(1.9rem,7.4vw,2.6rem)}.home-contact__copy{font-size:.84rem}.home-contact__button{width:62px;height:62px;font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.home-contact__button,.home-contact__button:after{animation:none}}
