/* =========================================================================
   THE BOSTON ARTISTRY: /art-camp/ only (round 7, 23 Sep 2026 night)
   Nandita's camp page from her board (_site/copy/canva-round7/p4.html),
   her sections in her order, in the site's theme: Fraunces headings (from
   site.css h1-h3, never set here), Caveat notes, drip buttons, gingham,
   washi tape, polaroids, smileys and hearts. Loaded after site.css and
   service.css by _site/build-r7-art-camp.py. The paper-and-tape kit
   (.polaroid .tape .pnote .sticker .gingham--pink .dot-eyebrow) is in
   site.css, ROUND 6B.
   ========================================================================= */
.ac-hero, .ac{ --ac-pink:#FF8AC4; --ac-sun:#F8C72F; --ac-blue:#6CB9F2; --ac-lav:#B79CF2; }
.ac{ --sec-pad:clamp(2.6rem,5.5vw,4.6rem); }
.ac-hero .dot-eyebrow, .ac .dot-eyebrow{ --dot:#FF6FAE; }
.ac .doodle{ display:inline-block; }
.ac .doodle svg, .ac-hero .doodle svg{ display:block; width:100%; height:auto; }
.ac-h2{ margin:0; font-weight:600; letter-spacing:-.02em; line-height:1.02; font-size:clamp(2rem,1rem + 3vw,3.4rem); }
.ac-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:2rem 1.1rem; margin:1.6rem 0 44px; }   /* 44px and the 2rem row gap: the drips clear what follows */

/* ---------------------------------------------------------------- hero */
.ac-hero{ display:block; padding-block:clamp(1rem,2.5vw,1.75rem) 0; }   /* site.css .hero is a flex row; this hero has two rows (the words and board, then the strip) */
.ac-hero__wrap{ display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:clamp(1.5rem,5vw,4rem); align-items:center; }
.ac-hero .crumb{ grid-column:1 / -1; margin-bottom:clamp(.4rem,1.4vw,1rem); }
.ac-hero__h1{ margin:.2rem 0 1rem; font-weight:600; letter-spacing:-.025em; line-height:.98; font-size:clamp(2.5rem,1rem + 4.4vw,4.8rem); }
.ac-hero__h1 .u{ background:linear-gradient(transparent 68%, #FDE382 68%, #FDE382 92%, transparent 92%); }
.ac-hero__h1 svg{ display:inline-block; width:.62em; height:.62em; vertical-align:-.02em; margin-left:.14em; }
.ac-hero__tag{ margin:0 0 .9rem; font-weight:700; font-size:clamp(1.12rem,.95rem + .8vw,1.6rem); line-height:1.22; max-width:36ch; }
.ac-hero__p{ margin:0; max-width:58ch; color:var(--ink-2); line-height:1.55; }
.ac-hero .ac-cta{ margin-bottom:40px; }

/* her pink gingham board: the camp photo on tape (the hero shuffle), her panel, two paper notes */
.ac-board{ position:relative; min-height:clamp(470px,42vw,560px); }
.ac-board__g{ position:absolute; inset:18px 6px 18px 24px; border-radius:38px; box-shadow:0 18px 45px rgba(30,20,24,.08); }
.ac-board__pic{ position:absolute; z-index:1; right:7%; top:0; width:52%; margin:0; padding:10px 10px 30px; background:#fff; border-radius:3px;
  box-shadow:0 2px 0 rgba(0,0,0,.05), 0 22px 36px -20px rgba(20,17,10,.5); transform:rotate(3deg); }
.ac-board__pic > .tape{ z-index:3; top:-12px; left:50%; transform:translateX(-50%) rotate(-4deg); }
.ac-hero .hero__img img{ display:block; aspect-ratio:4/5; max-height:none; border-radius:2px; box-shadow:none; }
.ac-hero .hero__shuf{ border-radius:2px; }
.ac-board__panel{ position:absolute; z-index:2; left:0; bottom:5%; width:60%; padding:1.5rem 1.5rem 1.35rem; background:rgba(255,240,245,.95);
  border-radius:22px; box-shadow:0 18px 40px -22px rgba(20,17,10,.45); transform:rotate(-1.5deg); }
.ac-board__panel > .tape{ top:-12px; left:1.4rem; width:92px; height:22px; transform:rotate(-5deg); }
.ac-board__big{ margin:.15rem 0 .6rem; font-family:var(--display); font-weight:600; letter-spacing:-.02em; line-height:1.02; font-size:clamp(1.55rem,1rem + 1.4vw,2.35rem); }
.ac-board__p{ margin:0; font-size:.92rem; line-height:1.45; color:var(--ink-2); }
.ac-board .pnote{ z-index:3; font-size:1.2rem; }
.ac-n1{ left:5%; top:9%; background:#FFF2A9; --tilt:-5deg; }
.ac-n2{ right:0; bottom:9%; background:#FFD8E7; --tilt:4deg; }
.ac-board > .sticker{ z-index:3; right:1%; top:50%; width:60px; height:60px; }
.ac-board > .ac-star{ right:auto; left:38%; top:1%; width:44px; height:44px; }

/* her white strip of four facts, a hairline band under both columns */
.ac-strip{ margin-top:clamp(1.6rem,3.5vw,2.6rem); background:#fff; border-block:1px solid var(--line); }
.ac-strip__in{ list-style:none; margin-block:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.ac-strip__in li{ display:flex; gap:.7rem; align-items:flex-start; padding:1.25rem 1.3rem; border-right:1px solid var(--line); }
.ac-strip__in li:first-child{ padding-left:0; }
.ac-strip__in li:last-child{ border-right:0; }
.ac-strip__in svg{ flex:none; width:1.4rem; height:1.4rem; margin-top:.05rem; color:#FF6FAE; }
.ac-strip__in li:nth-child(2) svg{ color:#E3A915; }
.ac-strip__in li:nth-child(3) svg{ color:#3E9BE0; }
.ac-strip__in li:nth-child(4) svg{ color:#9A78EC; }
.ac-strip__in strong{ display:block; font-size:.96rem; }
.ac-strip__in div span{ display:block; margin-top:.15rem; font-size:.84rem; color:var(--ink-3); line-height:1.4; }

@media (max-width:980px){
  .ac-strip__in{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ac-strip__in li:nth-child(2n){ border-right:0; }
  .ac-strip__in li:nth-child(odd){ padding-left:0; }
  .ac-strip__in li:nth-child(n+3){ border-top:1px solid var(--line); }
}
@media (max-width:900px){
  .ac-hero__wrap{ grid-template-columns:minmax(0,1fr); }
  .ac-board{ min-height:0; display:grid; padding:26px 16px 22px; }
  .ac-board__g{ inset:0; border-radius:28px; }
  .ac-board__pic{ position:relative; right:auto; top:auto; width:min(70%,330px); justify-self:end; margin-right:3%; }
  .ac-board__panel{ position:relative; left:auto; bottom:auto; width:auto; max-width:440px; margin:-2.6rem 10% 0 0; }
  .ac-n1{ left:3%; top:14%; }
  .ac-n2{ right:3%; bottom:-.7rem; }
  .ac-board > .sticker{ top:6px; right:6px; }
  .ac-board > .ac-star{ left:4%; top:12px; }
}
@media (max-width:560px){
  .ac-strip__in{ grid-template-columns:minmax(0,1fr); }
  .ac-strip__in li{ border-right:0; padding:1rem 0; }
  .ac-strip__in li + li{ border-top:1px solid var(--line); }
  .ac-board .pnote{ font-size:1.05rem; }
}

/* ---------------------------------------------------------------- section heads (her h2 left, her line right) */
.ac-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:1rem 2.4rem; margin-bottom:clamp(1.6rem,3vw,2.3rem); }
.ac-head .ac-h2{ max-width:19ch; }
.ac-head > p{ margin:0; max-width:46ch; color:var(--ink-2); line-height:1.5; }
.ac-head a{ color:inherit; text-decoration:underline; text-decoration-color:#FF6FAE; text-decoration-thickness:2px; text-underline-offset:3px; }
.ac-head a:hover{ color:var(--m-txt); }
.ac-h2 .doodle{ width:.55em; margin-left:.25em; vertical-align:.05em; }
@media (max-width:980px){ .ac-head{ flex-direction:column; align-items:flex-start; } }

/* ---------------------------------------------------------------- camp interest list: pink gingham box, panel + form */
.ac-wait{ padding-top:clamp(2.4rem,5vw,3.4rem); }
.ac-wait__box{ position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(1.4rem,3.5vw,2.4rem); align-items:center;
  padding:clamp(1.4rem,4vw,3rem) clamp(1.1rem,4vw,3.2rem); border-radius:30px; }
.ac-wait__box > .tape, .ac-box > .tape{ width:120px; }
.ac .ac-t1{ top:-12px; left:8%; transform:rotate(-4deg); }
.ac .ac-t2{ top:-12px; right:8%; transform:rotate(5deg); }
.ac-wait__copy{ position:relative; padding:clamp(1.2rem,3vw,1.8rem) clamp(1.1rem,3vw,2rem); border-radius:22px; background:rgba(255,240,245,.93); }
.ac-wait__copy .ac-h2{ margin:.2rem 0 .9rem; font-size:clamp(1.9rem,1rem + 2.6vw,3.2rem); }
.ac-wait__copy > p:not(.dot-eyebrow){ margin:0; color:var(--ink-2); line-height:1.55; }
.ac-wait__copy .doodle{ position:absolute; right:1.2rem; top:-15px; width:30px; }
.ac-form{ position:relative; border-radius:22px; gap:.65rem; box-shadow:0 18px 45px rgba(30,20,24,.1); }
.ac-form__h{ margin:0 0 .35rem; font-weight:600; letter-spacing:-.02em; font-size:clamp(1.4rem,1rem + 1vw,1.75rem); }
.ac-form .field{ gap:.25rem; }
.ac-form #submit{ margin:.35rem 0 36px; }   /* room for the drips */
@media (max-width:980px){ .ac-wait__box{ grid-template-columns:minmax(0,1fr); } }

/* ---------------------------------------------------------------- summer art camp 2027: three cards, her colour on top */
.ac-cards{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); }
.ac-card{ position:relative; display:flex; flex-direction:column; background:#fff; border-radius:22px; border-top:6px solid var(--top);
  box-shadow:0 10px 28px rgba(30,20,24,.07); }
.ac-card > .tape{ z-index:2; top:-16px; left:50%; width:96px; height:24px; transform:translateX(-50%) rotate(-3deg); }
.ac-card img{ display:block; width:calc(100% - 20px); margin:10px 10px 0; aspect-ratio:4/3; object-fit:cover; border-radius:14px; }
.ac-card__b{ padding:1.1rem 1.5rem 1.5rem; }
.ac-card h3{ margin:.1rem 0 .5rem; font-weight:600; letter-spacing:-.02em; line-height:1.05; font-size:clamp(1.5rem,1.1rem + 1vw,1.9rem); }
.ac-card__b > p:not(.dot-eyebrow){ margin:0; color:var(--ink-2); line-height:1.5; }
.ac-card__b > .ac-card__meta{ margin-bottom:.6rem; font-weight:700; font-size:.92rem; color:var(--ink); }
.ac-card__b > .ac-card__small{ margin-top:.95rem; font-size:.85rem; }
.ac-card__small strong{ color:var(--ink); }
.ac-card > .ac-smile{ z-index:3; right:-14px; top:-22px; width:54px; height:54px; }
@media (max-width:980px){ .ac-cards{ grid-template-columns:minmax(0,1fr); max-width:560px; gap:2rem; } }

/* ---------------------------------------------------------------- school-year camps: her dark checkerboard band */
.ac-school__in{ position:relative; background:rgba(14,14,17,.92); border:1px solid rgba(255,255,255,.1); border-radius:30px; padding:clamp(1.5rem,4vw,2.9rem); }
.ac-school__in > .tape{ width:120px; }
.ac-school .dot-eyebrow{ color:#E9E6EE; --dot:#F8C72F; }
.ac-school .ac-h2{ margin:.2rem 0 1rem; color:#fff; max-width:20ch; }
.ac-school .ac-school__p{ margin:0; max-width:72ch; color:#C8C4CB; line-height:1.6; }
.ac-school__grid{ list-style:none; margin:clamp(1.4rem,3vw,1.9rem) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; }
.ac-school__card{ position:relative; background:#232328; border:1px solid rgba(255,255,255,.08); border-radius:17px; padding:1.45rem 1.25rem 1.25rem; }
.ac-school__card > .tape{ top:-10px; left:1.2rem; width:72px; height:18px; transform:rotate(-4deg); }
.ac-school__card b{ display:block; margin-bottom:.4rem; font-size:1.06rem; color:#fff; }
.ac-school__d{ display:block; color:#BDBAC2; font-size:.9rem; line-height:1.55; }
.ac-school__heart{ position:absolute; right:clamp(1rem,3vw,2rem); top:-17px; width:34px; }
@media (max-width:980px){ .ac-school__grid{ grid-template-columns:minmax(0,1fr); gap:1.1rem; } }

/* ---------------------------------------------------------------- white boxes: why the list matters, snacks and breaks */
.ac-box{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:clamp(1.4rem,4vw,2.6rem); align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:30px; padding:clamp(1.4rem,4vw,3rem) clamp(1.1rem,4vw,3.2rem); box-shadow:0 18px 45px rgba(30,20,24,.08); }
.ac-box__copy .ac-h2{ margin:.2rem 0 1rem; font-size:clamp(1.9rem,1rem + 2.6vw,3.3rem); }
.ac-box__copy > p:not(.dot-eyebrow){ margin:0; color:var(--ink-2); line-height:1.55; }
.ac-box .ac-cta{ margin-bottom:34px; }
.ac-points{ list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.ac-points li{ display:flex; gap:.75rem; align-items:flex-start; padding:.95rem 1.05rem; background:#FAF6F2; border:1px solid var(--line); border-radius:14px; font-size:.93rem; }
.ac-points svg{ flex:none; width:1.25rem; height:1.25rem; margin-top:.12rem; }
.ac-points strong{ display:block; }
.ac-points div span{ display:block; margin-top:.1rem; color:var(--ink-2); line-height:1.45; }
.ac-box > .ac-box__smile{ right:-16px; top:-24px; width:60px; height:60px; }
@media (max-width:980px){ .ac-box{ grid-template-columns:minmax(0,1fr); } }

/* ---------------------------------------------------------------- a camp to experience: four taped polaroid cards */
.ac-projs{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); }
.ac-proj{ position:relative; padding:10px 10px 1.3rem; background:#fff; border-radius:4px;
  box-shadow:0 2px 0 rgba(0,0,0,.05), 0 18px 30px -18px rgba(20,17,10,.4); transform:rotate(var(--tilt,0deg)); }
.ac-proj > .tape{ z-index:2; top:-13px; left:50%; width:86px; height:22px; transform:translateX(-50%) rotate(var(--tt,-3deg)); }
.ac-proj img{ display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.ac-proj .dot-eyebrow{ margin:1rem .35rem .35rem; }
.ac-proj h3{ margin:0 .35rem .45rem; font-weight:600; letter-spacing:-.02em; line-height:1.08; font-size:clamp(1.3rem,1rem + .8vw,1.6rem); }
.ac-proj > p:last-child{ margin:0 .35rem; font-size:.9rem; line-height:1.5; color:var(--ink-2); }
.ac-proj > .ac-smile{ z-index:3; right:-14px; top:-20px; width:52px; height:52px; }
@media (max-width:980px){ .ac-projs{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.8rem 1.1rem; } }
@media (max-width:560px){
  .ac-projs{ grid-template-columns:minmax(0,1fr); gap:1.6rem; }
  .ac-proj{ display:grid; grid-template-columns:38% minmax(0,1fr); column-gap:.9rem; align-items:start; padding:10px 12px 12px 10px; }
  .ac-proj img{ grid-row:1 / span 3; }
  .ac-proj .dot-eyebrow{ margin:.3rem 0 .3rem; }
  .ac-proj h3{ margin:0 0 .35rem; font-size:1.25rem; }
  .ac-proj > p:last-child{ margin:0; font-size:.86rem; }
}

/* ---------------------------------------------------------------- camp FAQs: her title left, the kit accordion right */
.ac-faq{ display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(1.5rem,6vw,4.5rem); align-items:start; }
.ac-faq__head .ac-h2{ margin:.2rem 0 0; }
.ac-faq__head .doodle{ display:block; width:34px; margin-top:1rem; }
@media (max-width:980px){ .ac-faq{ grid-template-columns:minmax(0,1fr); } .ac-faq__head .doodle{ display:none; } }

/* ---------------------------------------------------------------- the last band: pink gingham box */
.ac-final{ padding-top:clamp(.5rem,1.5vw,1.2rem); }
.ac-final__box{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.2rem 2rem; align-items:center;
  padding:clamp(1.4rem,4vw,2.8rem) clamp(1.1rem,4vw,3.1rem) clamp(2.2rem,4.5vw,3.2rem); border-radius:30px; }
.ac-final__copy{ padding:clamp(1.1rem,2.5vw,1.4rem) clamp(1.1rem,2.5vw,1.6rem); border-radius:20px; background:rgba(255,240,245,.93); max-width:760px; }
.ac-final__copy .ac-h2{ margin:0 0 .6rem; font-size:clamp(1.8rem,1rem + 2.2vw,3rem); }
.ac-final__copy p{ margin:0; color:var(--ink-2); }
.ac-final .ac-cta{ margin:0; }
.ac-final__box > .ac-final__smile{ left:-16px; top:-24px; width:62px; height:62px; }
.ac-final__star{ position:absolute; right:1.3rem; top:1rem; width:30px; }
@media (max-width:760px){ .ac-final__box{ grid-template-columns:minmax(0,1fr); } .ac-final .ac-cta{ margin-bottom:10px; }
  .ac-final__box > .ac-final__smile{ top:-32px; left:-10px; width:54px; height:54px; } .ac-final__star{ top:.45rem; right:.7rem; width:26px; } }

/* --- Round 9 (24 Sep 2026): "Need to emphasize to bring nut free snack" + her page-2 form line --- */
.ac-nut{ background:linear-gradient(transparent 55%, #FFD75E 55%); padding:0 .15em; font-weight:700; color:var(--ink); }
.ac-wait__tag{ margin:.6rem 0 0; font-family:var(--hand); font-size:1.15rem; color:#D6467E; }
.ac-form textarea{ width:100%; min-height:3.2rem; resize:vertical; }

/* round 10 (25 Sep 2026): the "No school? Make art." note was cut at the right edge of a phone; bottom-left now */
@media (max-width:700px){ .ac-board{ overflow:visible; } .ac-n2{ right:auto; left:4%; bottom:-.9rem; } }
