:root{--navy:#123f56;--green:#4d7b5f;--cream:#f7f4ec;--gold:#c09a4d}.activities-page{margin:0;background:#0e313f;color:#fff;overflow-x:hidden}.activities-mini-nav{height:82px;padding:0 clamp(18px,4vw,58px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:0;position:relative;z-index:30}.activities-mini-nav img{width:66px;height:66px;object-fit:contain}.activities-mini-nav>a:last-child{font:700 12px "DM Sans",Arial,sans-serif;letter-spacing:.03em;color:var(--green);text-decoration:none}.activity-portfolio{overflow:hidden}.portfolio-hero{height:calc(100svh - 82px);min-height:680px;position:relative;background:#efece3;overflow:hidden}.hero-60{position:absolute;z-index:1;left:-.03em;top:-.17em;font:500 clamp(260px,39vw,650px)/.8 "Playfair Display",Georgia,serif;letter-spacing:-.09em;color:#dfe4db}.hero-copy{position:absolute;z-index:12;left:6vw;top:12%;width:min(430px,34vw);color:var(--navy)}.hero-copy span{font:700 10px "DM Sans",Arial,sans-serif;letter-spacing:.22em;color:var(--green)}.hero-copy h1{margin:12px 0 14px;font:500 clamp(55px,6vw,105px)/.82 "Playfair Display",Georgia,serif;letter-spacing:-.055em}.hero-copy h1 em{color:var(--green);font-weight:400}.hero-copy p{max-width:330px;font:400 15px/1.55 "DM Sans",Arial,sans-serif}.tile{position:relative;margin:0;overflow:hidden;background:#294d59;isolation:isolate}.tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.055);will-change:transform;transition:filter .45s ease}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(4,24,31,.67));z-index:1;pointer-events:none}.tile b{position:absolute;z-index:3;left:16px;bottom:13px;color:#fff;font:800 clamp(9px,.85vw,13px) "DM Sans",Arial,sans-serif;letter-spacing:.13em;text-shadow:0 1px 8px rgba(0,0,0,.25)}.portfolio-hero .tile{position:absolute;box-shadow:0 15px 40px rgba(10,40,48,.13)}.h1{left:41%;top:5%;width:25%;height:42%}.h2{right:0;top:0;width:33%;height:31%}.h3{right:3%;bottom:0;width:28%;height:43%}.h4{left:4%;bottom:0;width:24%;height:34%}.h5{left:27%;bottom:0;width:28%;height:29%}.h6{left:61%;top:31%;width:18%;height:28%}.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;grid-auto-rows:10.5vw;gap:0;background:#0e313f}.mosaic .tile{min-height:0}.a01{grid-column:span 5;grid-row:span 3}.a02{grid-column:span 3;grid-row:span 2}.a03{grid-column:span 4;grid-row:span 2}.a04{grid-column:span 3;grid-row:span 3}.a05{grid-column:span 4;grid-row:span 3}.a06{grid-column:span 2;grid-row:span 2}.a07{grid-column:span 3;grid-row:span 2}.a08{grid-column:span 4;grid-row:span 2}.a09{grid-column:span 3;grid-row:span 2}.a10{grid-column:span 5;grid-row:span 3}.a11{grid-column:span 4;grid-row:span 3}.a12{grid-column:span 3;grid-row:span 3}.a13{grid-column:span 7;grid-row:span 3}.a14{grid-column:span 2;grid-row:span 3}.a15{grid-column:span 3;grid-row:span 3}.a16{grid-column:span 6;grid-row:span 2}.a17{grid-column:span 3;grid-row:span 2}.a18{grid-column:span 3;grid-row:span 2}.a19{grid-column:span 3;grid-row:span 2}.a20{grid-column:span 4;grid-row:span 2}.a21{grid-column:span 5;grid-row:span 3}.a22{grid-column:span 3;grid-row:span 3}.a23{grid-column:span 4;grid-row:span 2}.a24{grid-column:span 4;grid-row:span 3}.a25{grid-column:span 2;grid-row:span 2}.a26{grid-column:span 3;grid-row:span 2}.a27{grid-column:span 3;grid-row:span 2}.a28{grid-column:span 4;grid-row:span 2}.a29{grid-column:span 5;grid-row:span 3}.a30{grid-column:span 7;grid-row:span 3}.a31{grid-column:span 3;grid-row:span 2}.a32{grid-column:span 4;grid-row:span 2}.a33{grid-column:span 5;grid-row:span 3}.a34{grid-column:span 3;grid-row:span 3}.a35{grid-column:span 4;grid-row:span 2}.a36{grid-column:span 5;grid-row:span 3}.a37{grid-column:span 3;grid-row:span 2}.a38{grid-column:span 4;grid-row:span 3}.a39{grid-column:span 4;grid-row:span 2}.a40{grid-column:span 3;grid-row:span 2}.a41{grid-column:span 5;grid-row:span 3}.a42{grid-column:span 4;grid-row:span 2}.a43{grid-column:span 3;grid-row:span 3}.a44{grid-column:span 5;grid-row:span 2}.a45{grid-column:span 7;grid-row:span 3}
.mosaic .tile:nth-child(4n+1) img{transform:scale(1.08) translateY(var(--shift,0px))}.mosaic .tile:nth-child(4n+2) img{transform:scale(1.08) translateX(var(--shift-x,0px))}.mosaic .tile:nth-child(4n+3) img{transform:scale(var(--zoom,1.06))}.portfolio-end{background:var(--cream);color:var(--navy);min-height:78vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:90px 24px}.portfolio-end>p{font:700 10px "DM Sans",Arial,sans-serif;letter-spacing:.2em;color:var(--green);text-transform:uppercase}.portfolio-end h2{margin:12px 0 4px;font:500 clamp(62px,9vw,145px)/.82 "Playfair Display",Georgia,serif;letter-spacing:-.06em}.portfolio-end h2 strong{color:var(--green);font-weight:400}.portfolio-end>em{font:400 clamp(28px,4vw,55px) "Playfair Display",Georgia,serif;color:#6c817c}.end-actions{display:flex;align-items:center;gap:28px;margin-top:42px;flex-wrap:wrap;justify-content:center}.planner-cta{background:var(--navy);color:#fff;text-decoration:none;border-radius:999px;padding:16px 24px;font:700 12px "DM Sans",Arial,sans-serif}.back-teen{color:var(--green);text-decoration:none;font:700 11px "DM Sans",Arial,sans-serif}@media(hover:hover){.tile:hover img{filter:saturate(1.12) contrast(1.03)}}@media(max-width:760px){.activities-mini-nav{height:72px}.activities-mini-nav img{width:56px;height:56px}.portfolio-hero{height:calc(100svh - 72px);min-height:720px}.hero-60{font-size:62vw;top:-.05em;left:-.08em}.hero-copy{left:20px;top:8%;width:70vw}.hero-copy h1{font-size:15vw}.hero-copy p{font-size:13px;max-width:260px}.h1{left:46%;top:30%;width:54%;height:30%}.h2{right:0;top:0;width:42%;height:24%}.h3{right:0;bottom:0;width:52%;height:33%}.h4{left:0;bottom:0;width:48%;height:28%}.h5{left:0;bottom:28%;width:46%;height:20%}.h6{display:none}.mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:24vw}.mosaic .tile{grid-column:span 3;grid-row:span 2}.mosaic .tile:nth-child(5n+1){grid-column:span 6;grid-row:span 2}.mosaic .tile:nth-child(7n+3){grid-column:span 2;grid-row:span 2}.mosaic .tile:nth-child(7n+4){grid-column:span 4;grid-row:span 2}.tile b{left:10px;bottom:9px;font-size:8px}.portfolio-end{min-height:72vh;padding:70px 18px}.portfolio-end h2{font-size:18vw}.end-actions{flex-direction:column;gap:18px}}
@media(prefers-reduced-motion:reduce){.tile img{transform:scale(1.04)!important;transition:none!important}}

/* v115 — clean, compact hero: let the activity mosaic lead */
.portfolio-hero-clean{height:clamp(300px,38vw,500px);min-height:0;background:#f3f0e8;border-bottom:0;}
.portfolio-hero-clean .hero-60{left:clamp(16px,4vw,64px);top:50%;transform:translateY(-54%);font-size:clamp(190px,27vw,430px);line-height:.72;color:#e0e4dc;letter-spacing:-.085em;}
.portfolio-hero-clean .hero-copy{left:auto;right:clamp(28px,8vw,120px);top:50%;transform:translateY(-50%);width:min(610px,48vw);}
.portfolio-hero-clean .hero-copy span{font-size:10px;}
.portfolio-hero-clean .hero-copy h1{margin:10px 0 12px;font-size:clamp(46px,5.5vw,88px);line-height:.9;}
.portfolio-hero-clean .hero-copy h1 em{display:inline;}
.portfolio-hero-clean .hero-copy p{margin:0;max-width:470px;font-size:14px;line-height:1.5;}
.portfolio-hero-clean .hero-cue{position:absolute;right:clamp(28px,8vw,120px);bottom:18px;color:#668174;font:700 9px "DM Sans",Arial,sans-serif;letter-spacing:.18em;}
.portfolio-hero-clean .hero-cue i{font-style:normal;margin-left:8px;font-size:15px;}
.portfolio-hero-clean + .mosaic{margin-top:0;}
@media(max-width:760px){.portfolio-hero-clean{height:310px;min-height:0}.portfolio-hero-clean .hero-60{left:-16px;top:44%;font-size:52vw}.portfolio-hero-clean .hero-copy{left:22px;right:18px;top:50%;width:auto;transform:translateY(-50%)}.portfolio-hero-clean .hero-copy span{font-size:8px}.portfolio-hero-clean .hero-copy h1{font-size:12vw;max-width:88%;margin:8px 0}.portfolio-hero-clean .hero-copy p{font-size:11px;line-height:1.45;max-width:76%}.portfolio-hero-clean .hero-cue{right:16px;bottom:10px;font-size:7px}}


/* v116 — half-height hero + numbered photo placeholders for easy asset replacement */
.portfolio-hero-clean{height:clamp(150px,19vw,250px);}
.portfolio-hero-clean .hero-60{font-size:clamp(105px,15vw,235px);}
.portfolio-hero-clean .hero-copy{width:min(560px,49vw);}
.portfolio-hero-clean .hero-copy span{font-size:8px;}
.portfolio-hero-clean .hero-copy h1{margin:5px 0 7px;font-size:clamp(34px,3.8vw,61px);}
.portfolio-hero-clean .hero-copy p{font-size:12px;line-height:1.35;max-width:430px;}
.portfolio-hero-clean .hero-cue{bottom:8px;font-size:7px;}
.activity-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#dfe7df,#b9cbbc);color:#fff;}
.activity-placeholder:before{content:"PHOTO";position:absolute;top:14px;left:16px;font:700 8px "DM Sans",Arial,sans-serif;letter-spacing:.2em;color:rgba(18,63,86,.55);}
.activity-placeholder span{font:500 clamp(42px,6vw,100px)/1 "Playfair Display",Georgia,serif;color:rgba(18,63,86,.48);letter-spacing:-.05em;}
.tile .activity-placeholder + b{z-index:4;}
.tile:has(.activity-placeholder):after{background:linear-gradient(180deg,transparent 52%,rgba(18,63,86,.36));}
@media(max-width:760px){
 .portfolio-hero-clean{height:155px;min-height:0;}
 .portfolio-hero-clean .hero-60{left:-7px;top:47%;font-size:30vw;}
 .portfolio-hero-clean .hero-copy{left:42%;right:12px;top:47%;width:auto;}
 .portfolio-hero-clean .hero-copy span{font-size:6px;letter-spacing:.14em;}
 .portfolio-hero-clean .hero-copy h1{font-size:7.8vw;line-height:.88;margin:4px 0 5px;}
 .portfolio-hero-clean .hero-copy p{font-size:8px;line-height:1.25;max-width:100%;}
 .portfolio-hero-clean .hero-cue{display:none;}
 .activity-placeholder:before{top:8px;left:9px;font-size:6px;}
 .activity-placeholder span{font-size:14vw;}
}
