.summer-page{--sunset:linear-gradient(110deg,#7647a7 0%,#c53b73 36%,#ed7541 70%,#f6c766 100%);--summer-ink:#292235;--summer-copy:#5b5262;background:#fffaf6;color:var(--summer-ink);font-family:Inter,Arial,sans-serif;line-height:1.7;margin:0}
.summer-page *{box-sizing:border-box}.summer-page [hidden]{display:none!important}.summer-page h1,.summer-page h2,.summer-page h3,.summer-page p{margin-top:0}.summer-page h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:38px;line-height:1.15;letter-spacing:-.6px;margin-bottom:18px}.summer-page a{color:#92344f}.summer-page :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #8745a2;outline-offset:4px}.summer-container{max-width:1120px;margin:0 auto;padding:0 28px}
.summer-hero{position:relative;padding:138px 24px 66px;text-align:center;background:radial-gradient(ellipse at 15% 30%,#c397e02a,transparent 55%),radial-gradient(ellipse at 85% 70%,#ffc25945,transparent 55%),linear-gradient(150deg,#fff7f7,#fff0e7 70%,#fff8dc);border-bottom:1px solid #eddbd1;overflow:hidden}.summer-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:5px;background:var(--sunset)}.summer-hero .cf-editions a[aria-current=page]{color:white}.summer-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2.1px;color:#87445e;margin-bottom:14px}.summer-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(54px,7.5vw,92px);font-weight:500;line-height:1.05;letter-spacing:-2px;margin:0 0 23px}.summer-hero h1 span{background:linear-gradient(105deg,#7945a1 8%,#c33d70 42%,#d65d30 70%,#a77417 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.summer-lead{font-size:23px;font-weight:500;line-height:1.5;margin:0 auto 16px;max-width:690px}.summer-intro{font-size:16px;color:var(--summer-copy);max-width:630px;margin:0 auto 26px;line-height:1.8}
.summer-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;border:0;border-radius:9px;padding:14px 23px;background:linear-gradient(110deg,#704397,#ac365b 62%,#af451e);color:#fff!important;font:600 14px/1.5 Inter,Arial,sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 6px 20px #a2375720;transition:transform .18s,box-shadow .18s}.summer-button:hover{transform:translateY(-2px);box-shadow:0 9px 24px #a2375730}.summer-button:disabled{opacity:.65;cursor:wait;transform:none}.summer-text-link{display:block;width:fit-content;margin:17px auto 0;font-size:13px;text-decoration:none}.summer-text-link:hover{text-decoration:underline}
.summer-context{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:55px;padding-bottom:52px}.summer-context p:not(.summer-eyebrow){font-size:14px;color:var(--summer-copy)}.summer-context h3{font-size:17px;margin:28px 0 15px}.summer-context p:last-child{margin-bottom:0}.summer-directory{scroll-margin-top:120px;padding-top:34px;padding-bottom:60px;border-top:1px solid #eaddd5}.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.directory-heading h2{margin-bottom:12px}.summer-status{border:1px solid #e4c9bf;border-radius:999px;background:#fff1e6;color:#87512d;padding:7px 13px;font-size:11px;font-weight:600}.launch-note{font-size:14px;color:var(--summer-copy);max-width:850px;line-height:1.8;margin-bottom:24px}
.summer-toolbar{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.summer-toolbar label{font-size:12px;font-weight:600;flex:1}.summer-toolbar label:first-child{flex:1.5}.summer-toolbar input,.summer-toolbar select{display:block;width:100%;padding:12px;border-radius:8px;border:1px solid #dcced5;background:#fff;font:14px Inter,Arial,sans-serif;color:var(--summer-ink);margin-top:5px;min-height:46px}.summer-view{display:flex;gap:3px;border:1px solid #dcced5;padding:3px;border-radius:10px;background:#fff}.summer-view button{border:0;padding:11px 14px;font:600 12px Inter,Arial,sans-serif;border-radius:7px;min-height:40px;background:#fff;color:#705564;cursor:pointer}.summer-view button[aria-pressed=true]{background:#f5e7ee;color:#87374e}
#summer-map{height:430px;border:1px solid #e5cdd1;border-radius:18px;z-index:1;box-shadow:0 10px 32px #7044550a}.map-caption{font-size:11px;color:#756470;margin:8px 0 17px}.summer-pin{border:3px solid #fff;box-shadow:0 0 0 3px #d4596f,0 4px 14px #753c5955;border-radius:50%;width:46px;height:46px;background:var(--sunset);color:white;display:grid;place-items:center;font-weight:700;font-size:13px;overflow:hidden}.summer-pin img{width:100%;height:100%;object-fit:cover}.summer-popup{font:13px/1.6 Inter,Arial,sans-serif;max-width:230px}.summer-popup strong{display:block;font-size:16px}.summer-popup p{margin:6px 0}.summer-popup .evidence-badge{margin-top:8px;font-size:10px}.summer-page .leaflet-popup-content-wrapper{border-radius:13px}.summer-page .leaflet-popup-content{margin:16px 20px}
#summer-count{font-size:12px;color:#796375;margin:20px 0 12px}.summer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.summer-card{border:1px solid #e7d5d6;border-radius:16px;background:#fff;box-shadow:0 8px 24px #63384907;overflow:hidden;position:relative}.summer-card::before{content:'';display:block;height:4px;background:var(--sunset)}.summer-card-inner{padding:26px}.summer-person{display:flex;align-items:center;gap:18px;margin-bottom:20px}.summer-avatar{width:76px;height:76px;flex:0 0 76px;border-radius:50%;padding:3px;background:var(--sunset);display:grid;place-items:center}.summer-avatar img{width:70px;height:70px;object-fit:cover;border-radius:50%;border:3px solid white}.summer-initials{width:70px;height:70px;border-radius:50%;border:3px solid #fff;display:grid;place-items:center;background:#f7e7e9;color:#904055;font-size:23px;font-weight:600}.summer-person h3{font-size:21px;line-height:1.3;margin:0 0 5px}.summer-person p{font-size:13px;line-height:1.6;margin:0;color:#605466}.summer-card .practice{font-size:13px;color:#655968;margin:0 0 13px}.evidence-badge{display:inline-block;background:#f9eee4;color:#89532a;border:1px solid #ecd4be;border-radius:5px;font-size:11px;font-weight:600;padding:4px 8px}.summer-card .recognition-note{font-size:13px;color:#67596a;margin:12px 0;line-height:1.75}.current-setting{font-size:12px;color:#7c495f;border-top:1px solid #f0e3e7;padding-top:12px;margin-top:15px}.summer-card-actions{display:flex;gap:22px;align-items:center;margin-top:18px;font-size:12px}.summer-card-actions a{font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.summer-card-actions a:hover{text-decoration:underline}.summer-card-actions button{border:0;background:none;color:#92344f;font:600 12px Inter,Arial,sans-serif;cursor:pointer;min-height:44px;padding:0}.summer-empty{grid-column:1/-1;padding:30px;text-align:center;border:1px dashed #d8bec9;border-radius:12px}.summer-empty button{font:inherit;color:#92344f;background:none;border:0;text-decoration:underline;cursor:pointer}
.summer-share{scroll-margin-top:115px;display:grid;grid-template-columns:1fr 1.2fr;gap:56px;margin-bottom:35px;padding-top:40px;padding-bottom:40px;position:relative}.summer-share::before{content:'';position:absolute;top:0;left:28px;right:28px;height:3px;background:var(--sunset)}.share-intro{padding-top:20px}.share-intro p:not(.summer-eyebrow){font-size:14px;color:var(--summer-copy)}.signature{margin-top:25px;font-weight:600;color:#302634!important}.signature span{font-size:12px;font-weight:400;color:#817282}.summer-form{background:#fff;border:1px solid #e4d4da;border-radius:16px;padding:27px}.summer-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.summer-form .form-field{margin-bottom:17px;min-width:0}.summer-form label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.summer-form label span{font-weight:400}.summer-form input,.summer-form textarea{width:100%;min-height:46px;border:1px solid #dbccd5;border-radius:7px;background:#fff;font:16px Inter,Arial,sans-serif;color:#302734;padding:11px 12px}.summer-form textarea{resize:vertical}.form-guidance,.field-hint{font-size:11px!important;color:#7c6979;line-height:1.65;margin:0 0 18px}.field-hint{margin-top:7px}.summer-optional{border-top:1px solid #eee0e6;border-bottom:1px solid #eee0e6;margin:4px 0 20px;padding:12px 0}.summer-optional summary{cursor:pointer;font-size:12px;color:#864762;min-height:34px}.summer-optional[open] summary{margin-bottom:13px}.summer-form .summer-button{width:100%;margin-bottom:18px}.form-error{background:#fff0f1;border:1px solid #bb3b59;color:#853349;padding:12px;border-radius:7px;font-size:13px;margin:12px 0}.independence-note{font-size:12px;text-align:center;color:#776271;padding-bottom:45px}.summer-top{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:20px;z-index:900;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#854ca0,#b94465,#c26035);color:#fff!important;box-shadow:0 4px 18px #5b294935;text-decoration:none;font-size:24px;border:2px solid #fff}.summer-confirm{min-height:70vh}.summer-confirm h1{font-size:58px}.summer-page .mosaic-footer{background:#fff}
@media(max-width:1450px){.summer-hero{padding-top:125px}}
@media(max-width:700px){.summer-container{padding-left:20px;padding-right:20px}.summer-hero{padding:116px 20px 40px}.summer-hero h1{font-size:59px}.summer-lead{font-size:19px;max-width:330px}.summer-intro{font-size:14px}.summer-context{grid-template-columns:1fr;gap:6px;padding-top:34px;padding-bottom:34px}.summer-context h3{margin-top:5px}.summer-page h2{font-size:32px}.summer-grid{grid-template-columns:1fr}.summer-toolbar label{flex:1 1 140px}.summer-toolbar label:first-child{flex:1 1 100%}.summer-view{flex-shrink:0}.summer-view button{padding:11px 10px}#summer-map{height:330px}.summer-share{grid-template-columns:1fr;gap:10px;padding-top:26px}.summer-share::before{left:20px;right:20px}.summer-form{padding:21px}.summer-form-row{grid-template-columns:1fr;gap:0}.summer-status{font-size:10px;margin-bottom:10px}.summer-card-inner{padding:22px}.summer-top{right:14px;bottom:16px}.summer-confirm h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){.summer-button{transition:none}.summer-button:hover{transform:none}}

/* Keep the shared footer legible without changing the summer content palette. */
.summer-page .mosaic-footer{background:#292235;color:#d2d9e0;padding:48px max(24px,calc((100vw - 1180px)/2)) 24px}
.summer-page .mosaic-footer h2{font:600 13px/1.5 Inter,Arial,sans-serif;letter-spacing:1px;margin:8px 0 18px}
.summer-page .mosaic-footer a{color:#d5cad6;overflow-wrap:anywhere;max-width:100%;min-height:44px;padding-block:10px;margin-block:0}
.summer-page .mosaic-footer a:hover{color:#fff}.summer-page .mosaic-footer-brand{color:#fff}
.summer-pin img{max-width:none!important;max-height:none!important;position:static!important}
@media(max-width:370px){.summer-hero h1{font-size:50px}.summer-toolbar>*{min-width:0}.summer-toolbar label{flex-basis:100%}.summer-view{width:100%}.summer-view button{flex:1}.summer-person{gap:12px}.summer-person h3{font-size:19px}.summer-avatar{width:64px;height:64px;flex-basis:64px}.summer-avatar img,.summer-initials{width:58px;height:58px}.summer-card-actions{gap:14px}.summer-form{padding:17px}.form-guidance{overflow-wrap:anywhere}}

.summer-photo{display:block;width:70px;height:70px;border:3px solid #fff;border-radius:50%;background-repeat:no-repeat}.summer-pin-photo{display:block;width:40px;height:40px;border-radius:50%;background-repeat:no-repeat}@media(max-width:370px){.summer-photo{width:58px;height:58px}}

/* Summer remains a compact extension of the main Character & Fitness platform. */
.summer-hero{padding-bottom:34px}.summer-hero h1{font-size:clamp(35px,5vw,56px);letter-spacing:-1px;margin-bottom:10px}.summer-hero h1 a{color:#292235;text-decoration:none}.summer-hero .cf-editions{margin-bottom:18px}.summer-hero .cf-editions .summer-toggle{font-size:11px}.summer-lead{font-size:18px;margin-bottom:9px}.summer-intro{font-size:14px;margin-bottom:20px}.summer-scope{font-size:12px;color:#726373;text-align:center;padding-top:22px;padding-bottom:22px}.summer-directory{padding-top:25px;padding-bottom:32px}.summer-page h2{font-size:30px}.summer-share{padding-top:26px;gap:35px}.summer-top{font:600 11px Inter,Arial,sans-serif;width:40px;height:40px}.summer-card-inner{padding:22px}.summer-card-actions{margin-top:8px}.summer-confirm h1{font-size:44px}@media(max-width:700px){.summer-hero{padding-top:110px;padding-bottom:28px}.summer-hero h1{font-size:37px}.summer-lead{font-size:16px}.summer-scope{font-size:12px}.summer-share{gap:10px}.summer-page h2{font-size:28px}}

/* A personal introduction, using Bryson's established cyan portrait treatment. */
.summer-founder-quote{max-width:690px;margin:0 auto 22px}
.summer-founder-quote blockquote{margin:0;padding:0;border:0;background:none;box-shadow:none;color:inherit;font-style:normal}
.summer-founder-quote figcaption{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font:600 13px/1.4 Inter,Arial,sans-serif;color:var(--summer-ink)}
.summer-founder-quote figcaption img{display:block;width:40px;height:40px;flex:0 0 40px;border-radius:50%;object-fit:cover;border:2px solid #00b4d8;box-shadow:0 0 0 2px #bfe7f266,0 0 12px #00b4d829}
.summer-pin--group{position:relative;width:70px;height:70px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;border-radius:14px;padding:4px}
.summer-pin--group .summer-pin-photo{width:100%;height:100%;border-radius:6px;min-height:0;min-width:0}
.summer-pin-count{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;min-width:23px;height:23px;padding:0 4px;border:2px solid white;border-radius:50%;background:#8c397c;color:white;font:700 12px/1 Inter,Arial,sans-serif;box-sizing:border-box}
.summer-popup-person+.summer-popup-person{margin-top:14px;padding-top:14px;border-top:1px solid #eadce4}

/* Same multi-recommendation sparkle and cyan/gold rings as main C&F. */
.cf-spark { position: absolute; top: -9px; right: -7px; font-size: 13px; color: #C9A227; text-shadow: 0 0 5px rgba(201,162,39,0.95), 0 0 12px rgba(212,175,55,0.75), 0 0 20px rgba(201,162,39,0.4); animation: cfTwinkle 1.8s ease-in-out infinite; pointer-events: none; }
.cf-spark::before { content: '\2726'; position: absolute; font-size: 0.62em; color: #D4AF37; text-shadow: inherit; animation: cfTwinkle 2.4s ease-in-out infinite 0.6s; }
.cf-spark::after { content: '\2726'; position: absolute; font-size: 0.45em; color: #B8860B; text-shadow: inherit; animation: cfTwinkle 2.9s ease-in-out infinite 1.2s; }
@keyframes cfTwinkle { 0%, 100% { transform: scale(0.65); opacity: 0.1; } 50% { transform: scale(1.35); opacity: 1; } }
.summer-avatar.t2,.summer-pin-photo.t2{position:relative;box-shadow:0 0 0 2.5px #00B4D8,0 0 0 5px #C9A227,0 0 14px rgba(0,180,216,.75),0 0 26px rgba(201,162,39,.65)}
.summer-avatar.t2{background:none}.summer-avatar .cf-spark{top:-6px;right:-2px;font-size:18px}.summer-avatar .cf-spark::before{left:-70px;top:54px}.summer-avatar .cf-spark::after{left:-16px;top:70px}
.summer-pin--group{overflow:visible}.summer-pin-photo.t2 .cf-spark{font-size:12px;top:-6px;right:-4px}.summer-pin-photo.t2 .cf-spark::before{left:-24px;top:20px}.summer-pin-photo.t2 .cf-spark::after{left:-6px;top:28px}
.summer-multi-label{display:inline-block;margin:0 0 12px;font:600 11px/1.5 Inter,Arial,sans-serif;color:#785e13;background:#fff9e7;border:1px solid #e9d996;border-radius:6px;padding:5px 8px}
@media(prefers-reduced-motion:reduce){.cf-spark,.cf-spark::before,.cf-spark::after{animation:none;opacity:1;transform:none}}
