/* STARSHINE CLEAN / APPROACH MASTER. Strictly scoped. */
.signature-site .approach-v2 {--ap-ink:#123943;--ap-teal:#2f8181;--ap-gold:#bf9a65;--ap-cream:#f6f4ee;--ap-line:#d9e2db;background:#fffefa;color:var(--ap-ink);overflow:clip;font-family:var(--sans,'Helvetica Neue',Arial,sans-serif)}
.signature-site .approach-v2 *{box-sizing:border-box}
.signature-site .approach-v2 h1,.signature-site .approach-v2 h2,.signature-site .approach-v2 h3{margin:0;font-weight:400;letter-spacing:-.052em;color:inherit;font-family:var(--serif,Georgia,serif)}
.signature-site .approach-v2 h1 em,.signature-site .approach-v2 h2 em{font-weight:400;color:var(--ap-teal)}
.signature-site .approach-v2 p{color:#627879;line-height:1.75;margin:0;font-size:clamp(14px,1.05vw,16px)}
.signature-site .approach-v2 a{text-decoration:none}
.signature-site .approach-v2 .ap-kicker,.signature-site .approach-v2 .ap-eyebrow{display:block;color:#347a7e;font:700 10px/1.5 var(--sans,Arial,sans-serif);letter-spacing:.20em}
.ap-hero{min-height:614px;display:grid;grid-template-columns:52% 48%;background:#f4f4ed}
.ap-hero-copy{padding:clamp(65px,6.6vw,112px) 6vw 43px max(6vw,calc((100vw - 1390px)/2));display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ap-eyebrow{display:flex!important;align-items:center;gap:13px;white-space:nowrap;font-size:9px!important}
.ap-dot{width:6px;height:6px;border-radius:50%;background:var(--ap-gold);display:inline-block;flex:none}
.ap-line{height:1px;width:20px;background:#9cb0ac;display:inline-block}
.signature-site .approach-v2 .ap-hero h1{font-size:clamp(55px,5.7vw,91px);line-height:1.00;max-width:800px;margin:38px 0 25px;letter-spacing:-.07em}
.ap-lede{max-width:510px!important;font-size:clamp(15px,1.25vw,18px)!important;line-height:1.7!important}
.ap-hero-actions{display:flex;align-items:center;gap:30px;margin-top:31px;flex-wrap:wrap}
.signature-site .approach-v2 .ap-button{background:#153c45;color:#fff;min-height:54px;padding:15px 22px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;transition:background .18s,transform .18s;white-space:nowrap}
.signature-site .approach-v2 .ap-button:hover{background:#2a7b80;transform:translateY(-2px)}
.signature-site .approach-v2 .ap-quiet-link{font-size:12px;font-weight:700;border-bottom:1px solid #819994;padding-bottom:8px;color:#18444c;display:inline-flex;gap:15px;white-space:nowrap}
.ap-hero-caption{display:flex;gap:14px 20px;flex-wrap:wrap;margin-top:auto;padding-top:42px;color:#597477;font-size:9px;font-weight:700;letter-spacing:.09em}
.ap-hero-caption span{padding-right:18px;border-right:1px solid #b9c9c5}.ap-hero-caption span:last-child{border:0}
.ap-hero-photo{min-height:614px;position:relative;overflow:hidden;background:#c4d4d1}
.ap-hero-photo picture,.ap-hero-photo img{width:100%;height:100%;display:block}
.ap-hero-photo picture{position:absolute;inset:0}
.ap-hero-photo img{object-fit:cover;object-position:45% center}
.ap-photo-credit{position:absolute;left:26px;right:26px;bottom:24px;display:flex;justify-content:space-between;color:#fff;font:700 9px/1.2 var(--sans,Arial,sans-serif);letter-spacing:.16em;text-shadow:0 1px 8px #123b43c9;gap:20px}
.ap-process{max-width:1330px;padding:79px 0 93px;margin:auto;width:min(88vw,1330px)}
.ap-process-heading{display:grid;grid-template-columns:1.1fr .6fr;align-items:end;gap:65px;margin-bottom:39px}
.signature-site .approach-v2 .ap-process-heading h2{font-size:clamp(46px,4.6vw,71px);line-height:1.03;margin-top:17px;max-width:710px}
.ap-process-heading>p{max-width:350px;padding-bottom:9px}
.ap-steps{border-top:1px solid #bbcfc9}
.ap-step{display:grid;grid-template-columns:75px minmax(0,1fr) 40px;gap:30px;padding:22px 8px 25px 0;border-bottom:1px solid var(--ap-line);align-items:start}
.ap-step-index{font:500 17px/1.4 var(--serif,Georgia,serif);color:#a07a4b;padding-top:5px}
.signature-site .approach-v2 .ap-step h3{font-size:clamp(25px,2.4vw,35px);line-height:1.18;margin-bottom:7px}
.ap-step-info p{max-width:770px!important;font-size:14px!important;line-height:1.65!important}
.ap-step-mark{color:#4c8381;font-size:22px;line-height:1}
.ap-property{background:#edf2ef;padding:71px max(6vw,calc((100vw - 1390px)/2)) 79px;display:grid;grid-template-columns:32% 1fr;gap:clamp(35px,6vw,100px);align-items:center}
.signature-site .approach-v2 .ap-property h2{font-size:clamp(49px,4.4vw,70px);line-height:1.02;margin:18px 0 20px}
.ap-property-intro p{max-width:390px!important}
.ap-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ap-property-card{display:block;min-width:0;background:#fffefa;transition:transform .2s,box-shadow .2s}
.ap-property-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px #103f4620}
.ap-property-image{aspect-ratio:1.4;overflow:hidden}
.ap-property-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ap-property-card:hover img{transform:scale(1.04)}
.ap-property-content{position:relative;padding:19px 23px 26px;display:flex;flex-direction:column;gap:7px;min-height:165px}
.ap-property-content span{font-size:9px;color:#2b7a7d;font-weight:700;letter-spacing:.14em}
.ap-property-content strong{font:400 clamp(24px,2.25vw,31px)/1.06 var(--serif,Georgia,serif);letter-spacing:-.04em;color:#123943}
.ap-property-content small{font-size:12px;color:#60777a;line-height:1.5;max-width:225px}
.ap-property-content b{position:absolute;right:19px;bottom:24px;font-weight:400;font-size:21px;color:#337d80}
.ap-promise{background:#123943;color:#fffefa;padding:77px max(6vw,calc((100vw - 1390px)/2)) 82px}
.ap-promise-inner{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.signature-site .approach-v2 .ap-promise h2{font-size:clamp(46px,4.6vw,73px);line-height:1.02;margin-top:18px;color:#fffefa}
.signature-site .approach-v2 .ap-promise h2 em{color:#b3d5c9}
.signature-site .approach-v2 .ap-promise .ap-kicker{color:#d0b18a}
.signature-site .approach-v2 .ap-promise p{color:#d0e0da;font-size:15px;max-width:550px}
.ap-promise-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px}
.signature-site .approach-v2 .ap-promise-links a{color:#fffefa;padding-bottom:9px;border-bottom:1px solid #779996;font-size:12px;font-weight:700}
.ap-promise-links span{margin-left:15px}
.ap-outro{display:flex;justify-content:space-between;gap:35px;align-items:center;padding:68px max(6vw,calc((100vw - 1390px)/2)) 78px;background:#f7f5ef}
.signature-site .approach-v2 .ap-outro h2{font-size:clamp(46px,4.7vw,70px);line-height:1.05;margin:15px 0 15px}
.ap-outro-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
@media(max-width:1180px){.ap-hero{grid-template-columns:54% 46%}.ap-hero-copy{padding-left:6vw;padding-right:25px}.signature-site .approach-v2 .ap-hero h1{font-size:clamp(53px,6.1vw,75px)}.ap-property{grid-template-columns:1fr;gap:34px}.ap-property-intro{max-width:780px}.ap-property-intro h2 br{display:none}.ap-property-grid{max-width:950px}.ap-outro{align-items:start;flex-direction:column}}
@media(max-width:800px){.ap-hero{grid-template-columns:1fr}.ap-hero-copy{padding:55px 6vw 35px;min-height:475px}.ap-hero-photo{min-height:330px}.ap-photo-credit{bottom:19px}.ap-hero-caption{margin-top:16px}.ap-process{padding:61px 0 64px}.ap-process-heading{grid-template-columns:1fr;gap:17px;margin-bottom:28px}.ap-process-heading>p{max-width:600px}.ap-property{padding:54px 6vw 65px}.ap-promise{padding:62px 6vw}.ap-promise-inner{grid-template-columns:1fr;gap:22px}.ap-outro{padding:54px 6vw 70px}}
@media(max-width:550px){.signature-site .approach-v2 .ap-hero h1{font-size:clamp(50px,12.2vw,69px);margin:27px 0 19px}.ap-hero-copy{min-height:450px}.ap-hero-actions{gap:20px}.ap-hero-caption{gap:9px 12px;font-size:8px}.ap-hero-caption span{padding-right:10px}.ap-hero-photo{min-height:280px}.ap-process-heading h2{max-width:340px}.ap-step{grid-template-columns:33px minmax(0,1fr);gap:13px;padding:22px 0}.ap-step-mark{display:none}.signature-site .approach-v2 .ap-step h3{font-size:26px}.ap-step-info p{font-size:12px!important}.ap-property-grid{grid-template-columns:1fr}.ap-property-image{aspect-ratio:1.8}.ap-property-content{min-height:141px}.ap-outro-actions{align-items:stretch;flex-direction:column;gap:15px;width:100%}.ap-outro-actions .ap-button{width:100%}.ap-photo-credit{font-size:8px}}
@media(prefers-reduced-motion:reduce){.ap-property-card,.ap-property-image img,.ap-button{transition:none!important}}
