/* Tiny Art Club summer: straight grids, paper details. Page-local only. */
.page-summer .site-header { background:#fcf9f3; border:0; }
.page-summer .header-inner { height:75px; grid-template-columns:150px minmax(0,1fr) auto; }
.page-summer .brand-wordmark { width:auto; font-family:var(--serif); font-size:1.85rem; line-height:.91; letter-spacing:-.075em; }
.page-summer .main-nav a { font-size:.64rem; }
.page-summer .header-contact { padding:10px 20px; }
.page-summer .site-footer { padding-top:48px; }
.page-summer .site-footer h2 { font-size:2.6rem; }
.page-summer .footer-bottom { margin-top:40px; }
.page-summer main h1,.page-summer main h2,.page-summer main h3 { overflow-wrap:break-word; min-width:0; }
.page-summer main h2 { font-size:clamp(2.75rem,4vw,3.5rem); line-height:1.07; }
.page-summer main h3 { font-size:clamp(1.625rem,2.2vw,2rem); line-height:1.12; }
.page-summer main p { font-size:18px; line-height:1.6; }
.page-summer main .button { min-height:56px; padding:14px 24px; font-size:16px; }
.page-summer main .button svg { flex:none; }
.summer-eyebrow { margin-bottom:24px; color:var(--muted); font-size:12px!important; line-height:1.5!important; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.summer-eyebrow span { color:var(--orange); }
.summer-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:48px; align-items:start; padding-block:48px 64px; }
.summer-hero-copy { padding-top:20px; }
.summer-hero h1 { font-size:clamp(4.5rem,6.3vw,6rem); line-height:.99; letter-spacing:-.055em; }
.summer-title-line { display:flex; align-items:center; gap:16px; }
.summer-title-line em { font-family:var(--hand); font-size:.9em; line-height:1.25; font-style:normal; letter-spacing:-.065em; }
.summer-title-line > svg { width:98px; height:50px; color:var(--orange); flex:none; }
.page-summer .summer-subtitle { max-width:38ch; margin-top:24px; font-family:var(--serif); font-size:26px; line-height:1.35; }
.page-summer .summer-hero-hand { margin-top:20px; font-family:var(--hand); font-size:25px; line-height:1.45; }
.summer-hero-facts { display:flex; flex-wrap:wrap; gap:12px 24px; margin:24px 0; padding:0; list-style:none; font-size:18px; line-height:1.5; }
.summer-hero-facts li { padding-left:14px; border-left:2px solid var(--ochre); }
.summer-hero-facts strong { font-weight:700; }
.page-summer .summer-status { max-width:34ch; margin-top:16px; font-size:16px; line-height:1.5; color:var(--muted); }
.summer-hero-media { position:relative; min-width:0; }
.summer-town { width:100%; height:auto; aspect-ratio:680/420; }
.summer-photo { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; border:10px solid var(--cream); background:#e2d8c9; box-shadow:0 3px 10px #4b40361b; }
.summer-photo > svg { width:42%; aspect-ratio:220/150; height:auto; color:#938b7e; }
.summer-photo-real { display:block; aspect-ratio:auto; }
.summer-photo-real > img { display:block; width:100%; height:auto; }
.summer-photo figcaption { max-width:30ch; margin-top:16px; padding-inline:12px; font-size:16px; line-height:1.5; text-align:center; color:var(--muted); }
.summer-hero-photo { width:min(100%,440px); margin:16px auto 0; }
.summer-photo-tape { position:absolute; top:-20px; left:20%; width:110px; height:32px; background:#ddcda9c9; clip-path:polygon(0 4%,100% 0,98% 100%,2% 94%); transform:rotate(-6deg); }
.summer-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; padding-block:24px 80px; }
.summer-story-copy > p { max-width:57ch; margin-top:24px; }
.summer-story-note { display:flex; gap:24px; align-items:center; margin-top:28px; }
.summer-story-note > svg { width:96px; height:90px; flex:none; }
.page-summer .summer-story-note > p { font-family:var(--hand); font-size:23px; line-height:1.4; color:#725c4c; }
.summer-activities { position:relative; background:var(--sage); }
.summer-activities:before,.summer-activities:after { content:''; position:absolute; left:0; right:0; height:10px; background:inherit; pointer-events:none; }
.summer-activities:before { top:-6px; clip-path:polygon(0 40%,13% 15%,27% 45%,43% 0,62% 35%,81% 12%,100% 35%,100% 100%,0 100%); }
.summer-activities:after { bottom:-6px; clip-path:polygon(0 0,100% 0,100% 60%,86% 90%,67% 60%,46% 100%,23% 72%,0 90%); }
.summer-activities-inner { padding-block:56px 64px; }
.summer-activities h2 { max-width:24ch; }
.summer-activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 64px; margin-top:40px; }
.summer-activity { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:24px; min-width:0; }
.summer-activity > svg { width:120px; height:128px; }
.summer-activity p { margin-top:12px; max-width:40ch; }
.summer-weeks { position:relative; padding-block:72px; }
.summer-weeks-heading { display:flex; align-items:start; justify-content:space-between; gap:24px; }
.summer-weeks-heading > svg { flex:none; width:54px; height:54px; color:var(--orange); transform:rotate(9deg); }
.summer-weeks > p { max-width:65ch; margin-top:24px; }
.summer-week-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; margin:32px 8px 0 0; padding:0; list-style:none; }
.summer-week { position:relative; min-width:0; min-height:86px; padding:16px 20px; border:1px solid #a9857c; background:var(--cream); }
.summer-week:before { content:''; position:absolute; top:4px; left:100%; width:6px; bottom:-7px; border:1px solid #a9857c; background:repeating-linear-gradient(45deg,#ae9289 0 1px,#f4e8d9 1px 5px); }
.summer-week:after { content:''; position:absolute; top:100%; left:4px; right:-7px; height:6px; border:1px solid #a9857c; background:repeating-linear-gradient(45deg,#ae9289 0 1px,#f4e8d9 1px 5px); }
.summer-week:nth-child(3n+2) { background:#edf0e6; }
.summer-week:nth-child(3n) { background:#f5e6df; }
.summer-week-number { font-family:var(--serif); font-size:32px; line-height:1.1; color:#986144; }
.summer-week h3 { margin-top:8px; }
.summer-week time { display:block; margin-top:8px; font-size:16px; }
.page-summer .summer-weeks-note { margin-top:28px; font-family:var(--hand); font-size:24px; line-height:1.4; }
.summer-terms { background:var(--sage); }
.summer-terms-inner { position:relative; padding-block:56px 64px; }
.summer-terms-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.summer-terms-heading > svg { width:80px; height:80px; color:#b77830; flex:none; }
.summer-terms-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin-top:32px; }
.summer-terms-facts > div { min-width:0; border-left:1px solid #8d9a80; padding-left:24px; }
.summer-terms-facts > div:first-child { border:0; padding:0; }
.summer-terms-facts strong { display:block; font-family:var(--serif); font-weight:400; font-size:clamp(2.5rem,4.4vw,4rem); line-height:1.1; letter-spacing:-.05em; white-space:nowrap; }
.summer-terms-facts span { display:block; margin-top:8px; font-family:var(--hand); font-size:24px; line-height:1.3; }
.page-summer .summer-terms-facts p { margin-top:12px; font-size:16px; line-height:1.5; }
.page-summer .summer-terms-warning { margin-top:32px; padding:20px 24px; background:var(--cream); border-left:4px solid var(--orange); font-size:18px; line-height:1.6; }
.summer-terms-warning strong { font-weight:700; }
.summer-terms-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 64px; margin-top:32px; }
.summer-terms-detail { display:flex; align-items:start; gap:20px; }
.summer-terms-detail > svg { width:64px; height:70px; flex:none; }
.summer-contact { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 140px; gap:32px; align-items:center; margin-block:48px; padding:40px 48px; background:#edc7bd; }
.summer-contact-copy > p { max-width:63ch; margin-top:20px; }
.summer-contact .actions { margin-top:28px; }
.summer-contact > svg { width:140px; height:140px; }
@media(max-width:1100px) {
  .page-summer .header-inner { grid-template-columns:120px minmax(0,1fr) auto; }
  .summer-hero { gap:32px; padding-top:40px; }
  .summer-hero h1 { font-size:clamp(3.75rem,7vw,4.75rem); }
  .summer-title-line > svg { width:64px; height:40px; }
  .summer-story { gap:40px; }
  .summer-activity-grid { column-gap:40px; }
  .summer-activity { grid-template-columns:100px minmax(0,1fr); gap:20px; }
  .summer-activity > svg { width:100px; height:116px; }
}
@media(max-width:960px) {
  .page-summer .header-inner { grid-template-columns:minmax(0,1fr) auto auto; }
  .page-summer .brand-wordmark { font-size:1.65rem; }
  .summer-hero { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:32px; }
  .summer-hero-copy { padding:0; }
  .summer-hero h1 { font-size:clamp(4.5rem,10vw,6rem); }
  .summer-hero-media { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:24px; }
  .summer-hero-photo { margin:0; }
  .summer-hero-facts { margin-block:20px 24px; }
  .summer-activity { grid-template-columns:84px minmax(0,1fr); gap:16px; align-items:start; }
  .summer-activity > svg { width:84px; height:100px; }
  .summer-activity-grid { gap:32px; }
  .summer-week-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .summer-terms-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .summer-terms-facts > div:nth-child(3) { border:0; padding:0; }
  .summer-terms-details { gap:32px; }
  .summer-contact { grid-template-columns:minmax(0,1fr) 100px; padding:32px; }
  .summer-contact > svg { width:100px; height:100px; }
}
@media(max-width:700px) {
  .page-summer main h2 { font-size:clamp(2.25rem,7vw,2.75rem); }
  .summer-hero h1 { font-size:clamp(3.25rem,11vw,4.5rem); }
  .summer-hero-media { grid-template-columns:minmax(0,1fr); gap:24px; max-width:520px; margin-inline:auto; width:100%; }
  .summer-hero-photo { width:100%; }
  .summer-town { max-height:320px; }
  .page-summer .summer-subtitle { font-size:24px; }
  .page-summer .summer-hero-hand { font-size:23px; }
  .summer-hero { padding-bottom:48px; }
  .summer-story { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:8px 56px; }
  .summer-story-note { margin-top:20px; }
  .summer-photo { border-width:8px; }
  .summer-activities-inner { padding-block:40px 48px; }
  .summer-activity-grid { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:32px; }
  .summer-activity { grid-template-columns:96px minmax(0,1fr); gap:20px; }
  .summer-activity > svg { width:96px; height:108px; }
  .page-summer main .summer-activity h3 { font-size:28px; }
  .summer-weeks { padding-block:48px; }
  .summer-week-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .summer-week { padding:16px; min-height:76px; }
  .summer-weeks-heading > svg { width:32px; height:32px; }
  .summer-terms-inner { padding-block:40px 48px; }
  .summer-terms-heading > svg { width:64px; height:64px; }
  .summer-terms-facts { gap:28px 20px; }
  .summer-terms-facts > div { padding-left:20px; }
  .summer-terms-facts strong { font-size:44px; }
  .summer-terms-facts span { font-size:22px; }
  .summer-terms-details { grid-template-columns:minmax(0,1fr); gap:24px; }
  .page-summer .summer-terms-warning { padding:16px; }
  .summer-contact { grid-template-columns:minmax(0,1fr); margin-block:32px; padding:28px 24px; gap:24px; }
  .summer-contact > svg { justify-self:end; width:80px; height:80px; }
  .summer-contact .actions { gap:16px; }
}
@media(max-width:430px) {
  .page-summer .header-inner { height:72px; grid-template-columns:minmax(0,1fr) auto; }
  .summer-title-line { gap:12px; }
  .summer-title-line > svg { width:50px; height:34px; }
  .summer-hero h1 { font-size:clamp(2.85rem,11.7vw,3.25rem); }
  .summer-activity { grid-template-columns:76px minmax(0,1fr); gap:16px; }
  .summer-activity > svg { width:76px; height:90px; }
  .summer-terms-facts strong { font-size:40px; }
  .summer-terms-heading > svg { width:48px; height:48px; }
  .summer-terms-heading h2 { max-width:10ch; }
  .summer-contact .button { width:100%; }
}
@media(max-width:360px) {
  .summer-week-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .summer-terms-facts { gap:24px 16px; }
  .summer-terms-facts > div { padding-left:16px; }
}
