/* Consistent, calm, image-led openings across the public site. */
.sf-opening-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(42px,6vw,88px) 0;background:radial-gradient(ellipse at 18% 100%,#d9e9fa 0,transparent 42%),radial-gradient(ellipse at 91% 10%,#d9f3f0 0,transparent 40%),linear-gradient(115deg,#f8fbff,#f0f7fc 52%,#eef8f7);color:#102c45}
.sf-opening-hero:before{position:absolute;z-index:-1;inset:0;content:"";opacity:.32;background-image:radial-gradient(circle at center,#8dc9d22b 1.2px,transparent 1.8px);background-size:23px 23px;mask-image:linear-gradient(90deg,transparent,#000 70%)}
.sf-opening-shell{width:min(1280px,calc(100% - 72px));min-height:clamp(430px,40vw,590px);margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(35px,6vw,90px)}
.sf-opening-copy{position:relative;z-index:2;max-width:650px;padding:20px 0}
.sf-opening-kicker{display:flex;align-items:center;gap:11px;margin:0 0 25px;color:#0b7f81;font:800 11px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:.15em}
.sf-opening-kicker span{width:25px;height:2px;background:#f2662e}
.sf-opening-copy h1{max-width:720px;margin:0;color:#10243a;font:800 clamp(42px,5.8vw,76px)/1.04 var(--font-head,Arial,sans-serif);letter-spacing:-.055em;text-wrap:balance}
.sf-opening-description{max-width:590px;margin:21px 0 0;color:#536a7d;font:500 clamp(16px,1.45vw,20px)/1.65 var(--font-body,Arial,sans-serif);text-wrap:pretty}
.sf-opening-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:31px}
.sf-opening-actions a{min-height:53px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font:750 14px/1.2 var(--font-body,Arial,sans-serif);text-decoration:none;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}
.sf-opening-actions a:hover{transform:translateY(-2px)}
.sf-opening-primary{border:1px solid #087c77;background:#087c77;color:#fff;box-shadow:0 9px 24px #087c7726}
.sf-opening-primary:hover{background:#056966;box-shadow:0 12px 28px #087c7733}
.sf-opening-secondary{border:1px solid #9bafbd;background:#ffffffb8;color:#173a53}
.sf-opening-secondary:hover{border-color:#0b8b8b;background:#fff}
.sf-opening-art{position:relative;isolation:isolate;min-height:clamp(370px,38vw,510px);margin:0;display:grid;grid-template-columns:.88fr 1fr .86fr;grid-template-rows:1fr 1fr;gap:15px;padding:24px 26px 43px;border:1px solid #fff;border-radius:30px;background:linear-gradient(135deg,#d9e5faee,#c8eeeceb 58%,#fff8f1e8);box-shadow:0 28px 80px #102b4518}
.sf-opening-art:before,.sf-opening-art:after{position:absolute;z-index:-1;content:"";border-radius:50%;filter:blur(1px)}
.sf-opening-art:before{width:190px;height:190px;top:-37px;right:-36px;background:#bdd3ff94}
.sf-opening-art:after{width:215px;height:215px;bottom:-74px;left:-52px;background:#b9e9dd9e}
.sf-opening-photo{position:relative;overflow:hidden;min-width:0;min-height:0;border:5px solid #fff;border-radius:45% 45% 16px 16px;background:#d8e6f2;box-shadow:0 12px 30px #17364b1b}
.sf-opening-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 33%}
.sf-opening-photo-a{grid-column:1;grid-row:1/3;align-self:center;height:86%;border-radius:48% 48% 18px 18px;transform:translateY(8px)}
.sf-opening-photo-b{grid-column:2;grid-row:1;align-self:end;height:94%;border-radius:50%;transform:translateY(-5px)}
.sf-opening-photo-c{grid-column:2;grid-row:2;height:91%;border-radius:18px 18px 48% 48%;transform:translateY(1px)}
.sf-opening-photo-d{grid-column:3;grid-row:1/3;align-self:center;height:86%;border-radius:48% 48% 18px 18px;transform:translateY(-3px)}
.sf-opening-art-note{position:absolute;right:26px;bottom:18px;color:#476a7a;font:800 8px/1.2 var(--font-body,Arial,sans-serif);letter-spacing:.12em}
@media(max-width:900px){.sf-opening-shell{width:min(100% - 44px,720px);grid-template-columns:1fr;gap:23px;min-height:0}.sf-opening-copy{padding:10px 0 0}.sf-opening-kicker{margin-bottom:18px}.sf-opening-copy h1{font-size:clamp(40px,8vw,62px)}.sf-opening-art{width:min(100%,570px);min-height:390px;justify-self:center}}
@media(max-width:600px){.sf-opening-hero{padding:38px 0 44px}.sf-opening-shell{width:calc(100% - 34px);gap:20px}.sf-opening-copy{padding:0}.sf-opening-kicker{font-size:9px;letter-spacing:.11em}.sf-opening-copy h1{font-size:clamp(37px,10vw,52px);line-height:1.04}.sf-opening-description{margin-top:14px;font-size:15px;line-height:1.55}.sf-opening-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}.sf-opening-actions a{width:100%;min-height:49px;font-size:13px}.sf-opening-art{width:100%;min-height:300px;gap:8px;padding:16px 14px 38px;border-radius:22px}.sf-opening-photo{border-width:3px}.sf-opening-art-note{right:14px;bottom:14px;font-size:7px}}
@media(prefers-reduced-motion:reduce){.sf-opening-actions a{transition:none}.sf-opening-actions a:hover{transform:none}}

/* Homepage opening: keep the same quiet, clear composition as the interior pages. */
.home-opening-art{position:relative;isolation:isolate;width:100%;max-width:600px;min-height:490px;justify-self:end;margin:0;display:grid;grid-template-columns:.82fr 1fr .88fr;grid-template-rows:1fr 1fr;gap:14px;padding:25px 26px 45px;border:1px solid #fff;border-radius:30px;background:linear-gradient(135deg,#e3e9f8,#d0efeb 62%,#f8ecdf);box-shadow:0 28px 80px #102b4518}
.home-opening-art:before,.home-opening-art:after{position:absolute;z-index:-1;content:"";border-radius:50%;filter:blur(1px)}
.home-opening-art:before{width:180px;height:180px;top:-26px;right:-22px;background:#c4d4ff9c}.home-opening-art:after{width:200px;height:200px;bottom:-70px;left:-44px;background:#b8e9dfad}
.home-opening-portrait{position:relative;overflow:hidden;min-width:0;min-height:0;border:5px solid #fff;border-radius:46% 46% 18px 18px;background:#d8e6f2;box-shadow:0 12px 30px #17364b1b}
.home-opening-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 33%}
.home-portrait-a{grid-column:1;grid-row:1/3;align-self:center;height:88%;transform:translateY(8px)}.home-portrait-b{grid-column:2;grid-row:1;align-self:end;height:95%;border-radius:50%;transform:translateY(-4px)}.home-portrait-c{grid-column:2;grid-row:2;height:92%;border-radius:18px 18px 48% 48%}.home-portrait-d{grid-column:3;grid-row:1/3;align-self:center;height:88%;transform:translateY(-3px)}
.home-opening-note{position:absolute;right:26px;bottom:18px;color:#476a7a;font:800 8px/1.2 var(--font-body,Arial,sans-serif);letter-spacing:.12em}
.hero-shell:has(.home-opening-art){background:radial-gradient(ellipse at 18% 100%,#d9e9fa 0,transparent 42%),radial-gradient(ellipse at 91% 10%,#d9f3f0 0,transparent 40%),linear-gradient(115deg,#f8fbff,#f0f7fc 52%,#eef8f7);color:#102c45}
.hero-shell:has(.home-opening-art)>.ambient{display:none}
.hero-shell:has(.home-opening-art) .hero{min-height:620px;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:clamp(35px,6vw,85px);padding-top:64px;padding-bottom:70px}
.hero-shell:has(.home-opening-art) .hero-eyebrow{color:#087d7a}.hero-shell:has(.home-opening-art) .hero h1{max-width:670px;color:#10243a;font-size:clamp(48px,5.5vw,76px);line-height:1.06;letter-spacing:-.055em}.hero-shell:has(.home-opening-art) .hero h1 span{color:#087d7a}
.hero-shell:has(.home-opening-art) .hero-lede{max-width:540px;color:#536a7d;font-size:18px;line-height:1.65}.hero-shell:has(.home-opening-art) .hero-positioning{max-width:540px;margin:13px 0 0;color:#667b8c;font-size:14px;line-height:1.65}
.hero-shell:has(.home-opening-art) .hero-actions{gap:13px;margin-top:27px}.hero-shell:has(.home-opening-art) .hero-actions .button-primary{background:#087c77;color:#fff;box-shadow:0 9px 24px #087c7726}.hero-shell:has(.home-opening-art) .hero-actions .button-primary:hover{background:#056966}.hero-shell:has(.home-opening-art) .hero-actions .button-ghost{border-color:#9bafbd;background:#ffffffb8;color:#173a53}.hero-shell:has(.home-opening-art) .hero-actions .button-ghost:hover{background:#fff}
.hero-shell:has(.home-opening-art) .pathways{padding-bottom:36px;margin-top:-6px}.hero-shell:has(.home-opening-art) .pathways>a{border-color:#d8e4e8;background:#ffffffb8;color:#173a53;box-shadow:0 8px 22px #102b4509}.hero-shell:has(.home-opening-art) .pathways small{color:#087d7a}.hero-shell:has(.home-opening-art) .path-icon{border-color:#c8dfe0;background:#e5f4f2}
@media(max-width:900px){.home-opening-art{width:min(100%,570px);min-height:390px;justify-self:center}.hero-shell:has(.home-opening-art) .hero{grid-template-columns:1fr;gap:23px;min-height:0}.hero-shell:has(.home-opening-art) .hero-copy{padding:10px 0 0}}
@media(max-width:600px){.home-opening-art{width:100%;min-height:300px;gap:8px;padding:16px 14px 38px;border-radius:22px}.home-opening-portrait{border-width:3px}.home-opening-note{right:14px;bottom:14px;font-size:7px}.hero-shell:has(.home-opening-art) .hero{padding-top:40px;padding-bottom:28px;gap:20px}.hero-shell:has(.home-opening-art) .hero h1{font-size:clamp(39px,10.5vw,54px)}.hero-shell:has(.home-opening-art) .hero-lede{font-size:16px}.hero-shell:has(.home-opening-art) .hero-positioning{font-size:13px}.hero-shell:has(.home-opening-art) .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}.hero-shell:has(.home-opening-art) .hero-actions .button{width:100%;min-height:49px}.hero-shell:has(.home-opening-art) .pathways{padding-bottom:28px}}
