:root{--ink:#172c4e;--pink:#f8bfd3;--yellow:#ffdf68;--blue:#b9ddf6;--green:#b9d5a5;--paper:#fffdf9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1763a2;outline-offset:5px}header,footer{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 5%;gap:24px}.logo{text-decoration:none;font-size:28px;font-weight:800;letter-spacing:-1px}.logo span{display:block;font-size:12px;letter-spacing:1.4px;font-weight:500}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px;font-weight:700;border-bottom:2px solid transparent;padding:8px 0}nav a[aria-current=page]{border-color:var(--ink)}main{max-width:1280px;margin:auto;padding:30px 5% 80px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:14px;font-weight:700}h1{font-size:clamp(48px,7vw,88px);line-height:1.03;letter-spacing:-4px;margin:20px 0 26px;font-weight:800}h2{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-1px;margin:0 0 20px}h3{font-size:23px;line-height:1.25;margin:0 0 12px}p{margin:0 0 18px}.lead{font-size:20px;max-width:570px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:35px 0 70px;align-items:center}.highlight{background:var(--yellow);display:inline;padding:0 8px}.scrapbook{position:relative;padding:32px 22px}.note{border:2px solid var(--ink);padding:30px;box-shadow:7px 7px 0 var(--ink);background:var(--pink);transform:rotate(-3deg);margin-bottom:24px}.note:nth-child(2){background:var(--blue);transform:rotate(3deg);margin-left:45px}.note:nth-child(3){background:var(--green);transform:rotate(-2deg);margin-right:35px}.note strong{display:block;font-size:27px;line-height:1.2}.note p{margin:10px 0 0}.number{font-size:60px!important;letter-spacing:-3px}.sectionline{border-top:1px solid var(--ink);padding-top:32px;display:flex;justify-content:space-between;gap:20px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.card{padding:36px;border:1.5px solid var(--ink);border-radius:4px;background:var(--blue)}.card.pink{background:var(--pink)}.card .tag{font-size:14px;margin-bottom:24px;display:block}.button{border:1.5px solid var(--ink);padding:12px 23px;display:inline-block;text-decoration:none;background:var(--ink);color:white;border-radius:4px;font-weight:700}.button.light{background:var(--paper);color:var(--ink)}.intro{max-width:760px;padding:25px 0 38px}.intro h1{font-size:clamp(44px,6vw,70px)}.surface{padding:35px;background:var(--blue);border:1.5px solid var(--ink);border-radius:6px}.partner .surface{background:var(--pink)}.tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.tabs button{padding:12px 22px;border:1.5px solid var(--ink);border-radius:30px;background:transparent;color:var(--ink);font-weight:700}.tabs button[aria-pressed=true]{background:var(--ink);color:white}.explorer{display:grid;grid-template-columns:1.15fr 1fr;gap:35px}.detail{background:var(--paper);padding:30px;border-radius:4px}.badge{display:inline-block;background:var(--yellow);padding:5px 12px;font-size:14px;font-weight:700;margin-bottom:18px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.chips span{border:1px solid var(--ink);padding:5px 12px;border-radius:20px;font-size:14px}details{border-top:1px solid #8794a6;padding:15px 0}summary{font-weight:700;cursor:pointer}details p{margin:14px 0 0}label{display:block;font-weight:700;margin:20px 0 6px}select,input,textarea{width:100%;padding:12px;border:1px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink)}textarea{min-height:150px;resize:vertical}.hint{font-size:14px;margin-top:15px}.status{font-size:14px;margin-top:12px;min-height:23px}.smallstory{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:60px}.smallstory p{max-width:550px}footer{border-top:1px solid #ccd1d7;font-size:14px;flex-wrap:wrap}footer span:first-child{font-weight:800}.skip{position:absolute;left:20px;top:-80px;background:white;padding:10px;z-index:9}.skip:focus{top:5px}@media(max-width:760px){header{align-items:flex-start;flex-direction:column;padding:24px 6%}nav{gap:22px}main{padding:10px 6% 50px}.hero,.explorer,.smallstory{grid-template-columns:1fr;gap:25px}.hero{padding:25px 0 45px}h1{letter-spacing:-2px}.scrapbook{padding:10px 16px}.note{padding:25px}.cards{grid-template-columns:1fr}.card,.surface,.detail{padding:25px}.sectionline{flex-direction:column;gap:0}.intro{padding-top:20px}.smallstory{margin-top:40px}footer{padding:25px 6%}.lead{font-size:18px}}@media(prefers-reduced-motion:no-preference){.button,.tabs button{transition:transform .15s}.button:hover,.tabs button:hover{transform:translateY(-2px)}}
.portfolio-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;padding:30px 0 65px}.portfolio-hero p{max-width:550px}.portfolio-hero .button{margin-top:12px}.identity-card{background:var(--pink);border:1.5px solid var(--ink);padding:35px;box-shadow:10px 10px 0 var(--yellow);transform:rotate(2deg)}.identity-card>strong{display:block;font-size:clamp(42px,5vw,65px);line-height:1.05;letter-spacing:-2px;margin:22px 0 28px}.identity-row{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #172c4e55;padding:12px 0;font-size:14px}.identity-footer{background:var(--green);padding:12px 16px;margin:18px -12px -12px;font-size:14px;font-weight:700}.life-tabs{margin:20px 0}.life-panel{background:var(--pink);padding:38px;display:grid;grid-template-columns:1.35fr 1fr;gap:50px;border:1.5px solid var(--ink)}.life-panel h2{margin-top:16px}.life-panel .lead{font-size:18px;margin:0}.life-panel aside{border-left:1px solid #172c4e55;padding-left:32px}.life-college{background:var(--green)}.life-everyday{background:var(--yellow)}.content-section{margin-top:60px}.content-empty{padding:32px 0;display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.content-empty h3{margin-top:15px}.content-empty p{max-width:580px}.content-types{display:flex;flex-direction:column;gap:10px}.content-types span{font-size:17px;font-weight:700;border-bottom:1px solid #ccd1d7;padding:10px 0}.brand-fit{display:grid;grid-template-columns:1fr 1.2fr;gap:45px;background:var(--green);padding:35px;margin:30px 0}.brand-fit h2{margin-top:15px}.collaboration-drawer>summary{font-size:20px;padding:10px 0}.collaboration-drawer .surface{margin-top:20px}@media(max-width:760px){.portfolio-hero,.life-panel,.content-empty,.brand-fit{grid-template-columns:1fr;gap:25px}.portfolio-hero{padding:25px 0 45px}.identity-card{margin:0 12px 10px 0;padding:28px}.life-panel,.brand-fit{padding:25px}.life-panel aside{border-left:0;border-top:1px solid #172c4e55;padding:22px 0 0}.identity-row{flex-wrap:wrap;gap:4px 20px}.content-section{margin-top:40px}}

.partnership-contact{margin:40px 0}.partnership-contact h2{margin-top:14px}.contact-email{margin-top:14px;overflow-wrap:anywhere}

figure{margin:0}.identity-photo{width:100%;height:360px;object-fit:cover;object-position:center 25%;display:block;margin-bottom:22px;border:1px solid var(--ink)}.identity-with-photo>strong{font-size:38px;margin:12px 0 20px}.training-intro{max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}.training-intro h1{font-size:clamp(40px,4.8vw,64px)}.training-action img{display:block;width:100%;height:auto;border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--yellow)}.training-action figcaption{margin-top:15px;font-size:14px}.portfolio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;margin-top:28px}.media-card{min-width:0}.media-card>a:first-child{display:block;background:#edf0f3;border:1px solid var(--ink);border-radius:4px;overflow:hidden}.media-card img,.media-card video{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:var(--paper)}.media-card figcaption{font-size:16px;font-weight:700;padding:10px 0 0}.media-card video{border:1px solid var(--ink);border-radius:4px;background:#111;aspect-ratio:9/16}.video-link{display:inline-block;margin-top:6px;font-size:14px}.volleyball-gallery{margin-top:45px}.court-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.court-photos img{aspect-ratio:4/5;background:var(--blue);max-height:560px}.portfolio-gallery .media-card img{background:#f5f4f1}@media(max-width:760px){.training-intro{grid-template-columns:1fr;gap:22px}.portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.identity-photo{height:340px}.court-photos{gap:16px}}@media(max-width:420px){.portfolio-gallery{grid-template-columns:1fr}.court-photos{grid-template-columns:1fr}.identity-photo{height:300px}}


.identity-photo{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 70%}.number{font-size:clamp(42px,5vw,60px)!important;letter-spacing:-2px;white-space:nowrap}.favorite-things{margin:10px 0 55px}.favorite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.favorite-card{padding:24px;border:1.5px solid var(--ink);border-radius:5px;background:var(--pink)}.favorite-card h3{margin:12px 0}.favorite-card p{margin:0}.favorite-1,.favorite-3{background:var(--green)}.favorite-2,.favorite-4{background:var(--yellow)}.portfolio-media{margin:30px auto 0;max-width:820px}.photo-carousel{min-width:0;position:relative;border:1.5px solid var(--ink);border-radius:6px;background:var(--pink);padding:24px;box-shadow:8px 8px 0 var(--yellow)}.carousel-controls{display:flex;justify-content:center;margin-bottom:12px}.carousel-stage{position:relative}.carousel-arrow{position:absolute;top:calc(50% - 25px);transform:translateY(-50%);z-index:3;width:46px;height:52px;padding:0;border:1.5px solid var(--ink);background:var(--pink);color:var(--ink);font-size:40px;line-height:1;display:grid;place-items:center}.carousel-arrow-prev{left:-24px;border-left:0;border-radius:0 5px 5px 0}.carousel-arrow-next{right:-24px;border-right:0;border-radius:5px 0 0 5px}.carousel-arrow:hover{background:var(--yellow)}.carousel-playback{display:flex;justify-content:center;min-height:44px;margin-top:12px}.carousel-playback button{border:1px solid var(--ink);border-radius:4px;background:var(--yellow);color:var(--ink);padding:8px 16px;font-size:14px;min-height:44px}.carousel-playback button[hidden]{display:none}#carousel-count{font-size:14px;font-weight:700}.carousel-track{display:block;background:var(--pink);position:relative;height:580px;overflow:hidden;perspective:1400px;touch-action:pan-y;border-radius:4px}.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(50px) rotateY(-55deg) scale(.96);transform-origin:center center;transition:transform .8s ease,opacity .65s ease;pointer-events:none;backface-visibility:hidden}.carousel-slide.is-active{opacity:1;visibility:visible;transform:translateX(0) rotateY(0) scale(1);z-index:2;pointer-events:auto}.carousel-slide.is-previous{opacity:0;visibility:visible;transform:translateX(-50px) rotateY(55deg) scale(.96);z-index:1}.carousel-slide .media-card{height:100%;display:flex;flex-direction:column}.carousel-slide .media-card>a{height:calc(100% - 50px);background:var(--pink);border:0}.carousel-slide .media-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;background:var(--pink)}.carousel-slide figcaption{text-align:center;padding:14px 8px 4px;min-height:50px}.carousel-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-top:10px}.carousel-dots button{position:relative;width:32px;height:32px;border:0;background:transparent;padding:10px}.carousel-dots button::after{content:'';display:block;width:10px;height:10px;border:1.5px solid var(--ink);border-radius:50%;background:var(--pink)}.carousel-dots button[aria-current]::after{background:var(--ink)}.carousel-help{text-align:center;font-size:14px;margin:8px 0 0}.video-feature{margin:65px 0 35px;padding:36px;background:var(--green);border:1.5px solid var(--ink);border-radius:6px;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}.video-story h2{margin-top:16px}.video-story p{max-width:530px}.video-feature .portfolio-video{max-width:320px;width:100%;justify-self:center;transform:rotate(1deg)}.portfolio-video video{max-height:560px;box-shadow:7px 7px 0 var(--yellow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.favorite-card{padding:20px;background:var(--pink)}.favorite-1,.favorite-4{background:var(--green)}.favorite-2,.favorite-5{background:var(--yellow)}.photo-carousel{padding:16px;margin-right:8px}.carousel-arrow-prev{left:-16px}.carousel-arrow-next{right:-16px}.carousel-track{height:500px}.video-feature{grid-template-columns:1fr;gap:24px;padding:25px;margin-top:45px}.video-story .lead{font-size:18px}}@media(max-width:420px){.favorite-grid{grid-template-columns:1fr}.carousel-track{height:400px}.carousel-arrow{width:42px;height:48px}.number{font-size:34px!important}.note:nth-child(2){margin-left:15px}}@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none;transform:none}.carousel-slide.is-previous{transform:none}}

.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:550px;margin:24px 0 18px}.social-links a{display:block;padding:14px 16px;border:1.5px solid var(--ink);border-radius:5px;background:var(--yellow);text-decoration:none;overflow-wrap:anywhere}.social-links a:nth-child(2){background:var(--green)}.social-links span{display:block;font-size:14px;margin-bottom:3px}.social-links strong{font-size:16px}.social-links a:hover strong{text-decoration:underline}@media(max-width:420px){.social-links{grid-template-columns:1fr}}

.collaboration-brands{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:24px 0 30px}.collaboration-brands li{padding:8px 13px;border:1px solid var(--ink);border-radius:20px;font-size:16px;background:var(--paper)}.featured-collaboration{border-top:1px solid var(--ink);padding-top:24px}.featured-collaboration h3{margin-top:12px}.featured-collaboration p{margin-bottom:0}

.contact-dialog{width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:1.5px solid var(--ink);border-radius:6px;background:var(--pink);color:var(--ink);box-shadow:8px 8px 0 var(--yellow)}.contact-dialog::backdrop{background:#172c4e99}.contact-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.contact-dialog-close{min-height:44px;border:1px solid var(--ink);border-radius:4px;padding:8px 12px;background:transparent;color:var(--ink)}.contact-dialog h2{font-size:32px}.contact-compose{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.contact-copy-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px}.contact-dialog .status{margin:12px 0 0}.contact-dialog .button{padding:12px 16px}.contact-dialog input{font-size:16px}@media(max-width:420px){.contact-dialog{padding:20px}.contact-compose{flex-direction:column}.contact-compose .button{text-align:center}.contact-copy-actions{gap:12px}.contact-dialog h2{font-size:28px}}

/* Simple photo-specific frames, sized around each complete photo. */
.carousel-track{--carousel-height:580px}
.carousel-slide .media-card>a{display:flex;align-items:center;justify-content:center;overflow:visible;padding:16px 22px}
.photo-frame{--frame-padding:8px;--frame-edge:calc(var(--frame-padding) + 1px);position:relative;display:block;flex:none;box-sizing:content-box;width:min(calc(100% - 2*var(--frame-edge)),calc((var(--carousel-height) - 90px - 2*var(--frame-edge))*var(--photo-ratio)));padding:var(--frame-padding);border:1px solid var(--frame-ink);border-radius:var(--frame-radius);background-color:var(--frame-bg);box-shadow:0 2px 8px #172c4e14}
.carousel-slide .photo-frame img{height:auto;width:100%;aspect-ratio:auto;border:0;outline:1px solid var(--frame-ink);outline-offset:-1px;border-radius:3px;background:transparent}
.frame-hannah-volleyball-portrait{--frame-bg:#c6e3fa;--frame-ink:#23518a;--frame-radius:8px;}
.frame-dock-evening{--frame-bg:#cce5ed;--frame-ink:#417387;--frame-radius:10px;}
.frame-teammates{--frame-bg:#d2e1f5;--frame-ink:#49649a;--frame-radius:12px;}
.frame-porch-smile{--frame-bg:#d1dfbb;--frame-ink:#598064;--frame-radius:8px;}
.frame-fishing{--frame-bg:#bde3db;--frame-ink:#3f7b79;--frame-radius:10px;}
.frame-volleyball-crown{--frame-bg:#ffdf79;--frame-ink:#295186;--frame-radius:12px;}
.frame-evening-selfie{--frame-bg:#dfd0ee;--frame-ink:#8763a2;--frame-radius:8px;}
.frame-wildflower-evening{--frame-bg:#f2dfa7;--frame-ink:#8e7846;--frame-radius:10px;}
.frame-beach-day{--frame-bg:#f2c4d6;--frame-ink:#568c9f;--frame-radius:12px;}
.frame-volleyball-action{--frame-bg:#ffdf7d;--frame-ink:#204c81;--frame-radius:8px;}
.frame-ice-cream{--frame-bg:#f3c3d4;--frame-ink:#a65a76;--frame-radius:10px;}
.frame-spring-blooms{--frame-bg:#c8ddb5;--frame-ink:#719465;--frame-radius:12px;}
.frame-dressed-up-together{--frame-bg:#c9d7ed;--frame-ink:#806c9e;--frame-radius:8px;}
.frame-volleyball-warmup{--frame-bg:#b8d5f0;--frame-ink:#294e80;--frame-radius:10px;}
.frame-another-catch{--frame-bg:#d4e4c6;--frame-ink:#57877b;--frame-radius:12px;}
.frame-white-dress{--frame-bg:#f4e2ad;--frame-ink:#6787a4;--frame-radius:8px;}
.frame-bike-day{--frame-bg:#c8e0ca;--frame-ink:#527e75;--frame-radius:10px;}
.frame-match-day{--frame-bg:#c5d8ee;--frame-ink:#315381;--frame-radius:12px;}
.frame-pink-dress{--frame-bg:#f2b7ca;--frame-ink:#ab607f;--frame-radius:8px;}
.frame-puppy-walk{--frame-bg:#eaddaa;--frame-ink:#887652;--frame-radius:10px;}
.frame-heart-hands{--frame-bg:#efc1cc;--frame-ink:#a96c81;--frame-radius:12px;}
.frame-above-the-net{--frame-bg:#f4d577;--frame-ink:#305381;--frame-radius:8px;}
.frame-hannah-portrait{--frame-bg:#d7c6e6;--frame-ink:#8e6b9f;--frame-radius:10px;}
.frame-sunset{--frame-bg:#f4cfaa;--frame-ink:#aa7891;--frame-radius:12px;}
.frame-volleyball-media-day{--frame-bg:#a9cdee;--frame-ink:#285186;--frame-radius:8px;}
.frame-city-stroll{--frame-bg:#c8dcdf;--frame-ink:#607a88;--frame-radius:10px;}
.frame-by-the-pond{--frame-bg:#c8dcb0;--frame-ink:#608267;--frame-radius:12px;}
@media(max-width:760px){.carousel-track{--carousel-height:500px}.carousel-slide .media-card>a{padding:16px 12px}.photo-frame{--frame-padding:6px}}
@media(max-width:420px){.carousel-track{--carousel-height:400px}}

.video-feature{display:block}.video-story .lead{max-width:650px}.collaboration-reels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start;margin-top:30px}.instagram-card{width:100%;max-width:440px;min-width:0;padding:18px;background:var(--paper);border:1px solid var(--ink);border-radius:6px;justify-self:center}.instagram-card h3{margin:10px 0 18px}.instagram-fallback video{display:block;width:100%;height:auto;max-height:570px;aspect-ratio:9/16;object-fit:contain;background:#111;border-radius:4px}.instagram-original{display:block;text-align:center;margin-top:16px}@media(max-width:760px){.collaboration-reels{grid-template-columns:1fr;gap:22px}.video-feature{padding:25px 16px}.instagram-card{padding:14px}}@media(max-width:420px){.video-feature{padding:22px 10px}.instagram-card{padding:10px}.instagram-card h3{font-size:21px}}


