/*
Theme Name: Harwich-Catholics
Theme URI: https://example.com/
Author: Harwich-Catholics
Description: Custom responsive Catholic parish website converted from the supplied HTML design.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Text Domain: harwich-catholics
*/

:root{--green:#17382e;--green2:#224a3d;--gold:#b88b36;--cream:#f7f5ef;--ink:#17211e;--muted:#66716c;--line:#dddcd4;--shadow:0 12px 35px rgba(20,45,36,.12);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{min-height:42px;background:#f2f0e9;display:flex;align-items:center;font-size:12px;color:#38433e}.topbar-inner{display:flex;justify-content:space-between;align-items:center;width:100%}.topbar .left{font-family:"Caveat",cursive;font-size:18px}.topbar .right{display:flex;gap:22px;align-items:center}.nav{min-height:80px;background:#fff;display:flex;align-items:center;border-bottom:1px solid #eee;position:sticky;top:0;z-index:20}.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:50px;height:50px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:27px}.brand-text strong{display:block;font-family:"Playfair Display",serif;font-size:23px;letter-spacing:.5px}.brand-text span{font-size:10px;letter-spacing:4px}.nav-links{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:600}.nav-links a:hover,.nav-links a.active{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 21px;border-radius:6px;font-weight:700;font-size:12px;border:1px solid var(--green);cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold)}.btn-outline{
    background: #fff
}.mobile-menu{display:none;font-size:25px}.page-hero{background:linear-gradient(90deg,#f7f5ef,#fff);padding:70px 0 55px;border-bottom:1px solid #ece9df;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(184,139,54,.25);border-radius:50%;right:-100px;top:-100px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:18px}.page-hero h1{font-family:"Playfair Display",serif;font-size:52px;line-height:1.05;margin:0 0 15px}.page-hero p{max-width:680px;line-height:1.8;color:var(--muted);margin:0}.section{padding:70px 0}.section.alt{background:var(--cream)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.035)}.card h3{font-family:"Playfair Display",serif;font-size:25px;margin:0 0 12px}.card p{color:var(--muted);line-height:1.7;font-size:14px}.eyebrow{color:var(--gold);font-weight:700;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}.section h2{font-family:"Playfair Display",serif;font-size:40px;line-height:1.1;margin:8px 0 18px}.section p{line-height:1.8;color:var(--muted)}.photo{width:100%;height:390px;object-fit:cover;border-radius:50px 0 50px 0;box-shadow:var(--shadow)}.icon-box{width:52px;height:52px;border:2px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:22px;margin-bottom:15px}.checks{list-style:none;padding:0}.checks li{margin:12px 0}.checks li:before{content:"✓";color:var(--gold);font-weight:800;margin-right:10px}.banner{background:var(--green);color:#fff;border-radius:18px;padding:35px 40px;display:flex;justify-content:space-between;align-items:center;gap:25px}.banner h2{margin:0;font-family:"Playfair Display",serif}.banner p{color:#dce5df;margin:7px 0 0}.schedule-table{width:100%;border-collapse:collapse}.schedule-table th,.schedule-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:13px}.schedule-table th{color:var(--gold);font-size:11px;text-transform:uppercase}.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.event{background:#fff;border-radius:12px;padding:20px;display:flex;gap:16px;border:1px solid var(--line)}.date{background:var(--green);color:#fff;border-radius:7px;min-width:60px;height:64px;display:grid;place-items:center;text-align:center}.date b{font-size:19px}.date span{font-size:9px}.event h3{font-family:"DM Sans";font-size:16px;margin:2px 0 7px}.event p{font-size:12px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:7px;font:inherit;outline:none}.field textarea{min-height:130px;resize:vertical}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.contact-item{display:flex;gap:14px;margin:20px 0}.contact-item .icon-box{flex:0 0 46px;width:46px;height:46px;margin:0}.map{width:100%;min-height:420px;border:0;border-radius:16px;box-shadow:var(--shadow)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:240px;object-fit:cover;border-radius:14px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card img{width:100%;height:210px;object-fit:cover;border-radius:12px;margin-bottom:15px}.news-card h3{font-family:"Playfair Display";font-size:22px;margin:0 0 8px}.faq{border:1px solid var(--line);border-radius:12px;margin:12px 0;background:#fff}.faq summary{padding:19px;font-weight:700;cursor:pointer}.faq p{padding:0 19px 19px;margin:0}.footer{background:var(--green);color:#fff;padding:40px 0 12px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr .8fr;gap:28px}.footer h3{font-family:"DM Sans";font-size:13px;margin:0 0 15px}.footer p,.footer li{font-size:11px;line-height:1.8;color:#dce5df}.footer ul{padding:0;margin:0;list-style:none}.footer li{margin:5px 0}.footer a:hover{color:#fff}.stained{height:170px;background:url("stained-glass.jpg") center/cover no-repeat;border-radius:50% 50% 0 0}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:25px;padding-top:12px;text-align:center;font-size:10px;color:#c7d3cc}.notice{padding:14px 18px;background:#f7f5ef;border-left:4px solid var(--gold);border-radius:7px;margin:20px 0;color:#4c5751;font-size:13px}.mini-list{padding-left:18px;color:var(--muted);line-height:1.9}.amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.amount{border:1px solid var(--line);border-radius:8px;padding:15px;text-align:center;font-weight:700;cursor:pointer}.amount:hover{border-color:var(--gold);color:var(--gold)}@media(max-width:950px){.nav-links{display:none}.mobile-menu{display:block}.topbar .right{display:none}.grid-2,.contact-grid{grid-template-columns:1fr}.grid-3,.news-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.events-grid{grid-template-columns:1fr}}@media(max-width:600px){.topbar{padding:7px 0}.topbar .left{font-size:16px}.page-hero{padding:50px 0 40px}.page-hero h1{font-size:40px}.section{padding:50px 0}.section h2{font-size:33px}.grid-3,.news-grid,.gallery,.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.banner{flex-direction:column;align-items:flex-start}.amounts{grid-template-columns:1fr 1fr}.brand-text strong{font-size:19px}.brand-text span{letter-spacing:3px}}

.mobile-nav{background:#fff;border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:80px;z-index:19}.mobile-nav .nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.mobile-nav .btn{width:100%}.mobile-menu{border:0;background:none;cursor:pointer}.form-success{padding:15px 18px;background:#e9f3ed;border-left:4px solid var(--green);border-radius:7px;margin:20px 0;color:var(--green)}.form-error{padding:15px 18px;background:#f8ece8;border-left:4px solid #a04b35;border-radius:7px;margin:20px 0;color:#6b2e21}.map-wrap{margin-top:25px}.admin-edit{font-size:11px;opacity:.65;margin-top:10px}.page-template-default .page-hero{}
.page-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:42px;align-items:start}.page-content h2{font-family:"Playfair Display",serif;font-size:2.2rem;margin-top:0}.page-content h3{font-family:"Playfair Display",serif;margin-top:28px}.page-content p,.page-content li{line-height:1.8}.page-content .card{padding:24px;border:1px solid #e8e4dc;background:#fff}.page-side{position:sticky;top:20px}.page-side>img{width:100%;height:300px;object-fit:cover;border-radius:10px}.side-card{background:#f6f4ef;padding:24px;margin-top:18px;border-left:4px solid #c79a3b}.hero-ai .hero-image{background-size:cover;background-position:center;border-radius:14px;min-height:470px}.news-feature{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#fff;padding:22px;border-radius:10px}.news-feature img{width:100%;height:270px;object-fit:cover;border-radius:8px}.event-list{display:grid;gap:14px}.event-list .event{display:flex;gap:20px;padding:18px;border:1px solid #e5e0d6;background:#fff}.notice{padding:20px;background:#f6f4ef;border-left:4px solid #c79a3b;margin:20px 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;background:#fff;border:1px solid #eee;padding:8px}.gallery-grid img{width:100%;height:190px;object-fit:cover}.gallery-grid figcaption{padding:8px;font-weight:600}.parish-form p{margin-bottom:16px}.parish-form label{display:block;font-weight:600;margin-bottom:6px}.parish-form input,.parish-form textarea{width:100%;padding:12px;border:1px solid #d8d2c7;border-radius:5px;font:inherit}.map-wrap{height:400px;border-radius:10px;overflow:hidden;margin:18px 0}.map-wrap iframe{width:100%;height:100%;border:0}.link-list{display:grid;gap:12px}.page-content details{padding:16px 0;border-bottom:1px solid #ddd}.page-content summary{cursor:pointer;font-weight:700}.hero-ai .hero-copy h1{font-size:clamp(2.4rem,5vw,4.7rem)}@media(max-width:800px){.page-layout,.news-feature{grid-template-columns:1fr}.page-side{position:static}.gallery-grid{grid-template-columns:1fr 1fr}.hero-ai .hero-image{min-height:320px}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}}

/* Static HTML compatibility */
img { max-width:100%; }
button, input, select, textarea { font-family:inherit; }
.mobile-nav[hidden] { display:none !important; }
.hero-ai { background:#17382e; }
.hero-ai .hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; padding:55px 0; }
.hero-ai .hero-copy { color:#fff; }
.hero-ai .hero-copy p { color:#e7eee9; max-width:650px; }
.hero-ai .hero-copy h1 { font-family:"Playfair Display",serif; line-height:1.05; margin:10px 0 20px; }
.hero-ai .gold { color:#d3a447; }
.hero-ai .hero-image { min-height:470px; background-size:cover; background-position:center; border-radius:14px; }
.kicker { font-size:12px; letter-spacing:1.5px; font-weight:700; color:#d3a447; }
.actions { display:flex; gap:12px; margin-top:25px; }
.quick { margin-top:-35px; position:relative; z-index:3; }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.quick-card { background:#fff; border:1px solid #dddcd4; border-radius:12px; padding:24px; box-shadow:0 8px 25px rgba(20,45,36,.10); }
.quick-card .icon { color:#b88b36; font-size:26px; }
.quick-card h4 { margin:10px 0 7px; font-family:"Playfair Display",serif; }
.quick-card p { font-size:13px; line-height:1.6; color:#66716c; }
.quick-card .arrow { color:#b88b36; font-weight:700; }
.welcome { padding:85px 0 70px; background:#f7f5ef; }
.welcome-grid { display:grid; grid-template-columns:1fr 1.2fr .7fr; gap:38px; align-items:center; }
.round-photo img { width:100%; height:390px; object-fit:cover; border-radius:50% 0 50% 0; box-shadow:0 12px 35px rgba(20,45,36,.12); }
.schedule { background:#fff; padding:24px; border-radius:14px; border:1px solid #dddcd4; }
.schedule h3 { font-family:"Playfair Display",serif; margin-top:0; }
.schedule p { border-bottom:1px solid #eee; padding-bottom:12px; }
.section-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:25px; }
.section-head h2 { margin:0; }
.events { padding:70px 0; }
.values { display:grid; grid-template-columns:1fr 1fr; min-height:420px; }
.values-photo { background-size:cover; background-position:center; }
.values-list { display:grid; grid-template-columns:1fr; }
.value { padding:38px; border-bottom:1px solid #dddcd4; background:#f7f5ef; }
.value .circle { width:44px; height:44px; border:2px solid #17382e; border-radius:50%; display:grid; place-items:center; color:#b88b36; }
.value h3 { margin:10px 0 5px; font-family:"Playfair Display",serif; }
@media(max-width:950px){
  .hero-ai .hero-inner,.welcome-grid,.values { grid-template-columns:1fr; }
  .quick-grid { grid-template-columns:1fr 1fr; }
  .hero-ai .hero-image { min-height:350px; }
}
@media(max-width:600px){
  .quick { margin-top:0; }
  .quick-grid { grid-template-columns:1fr; }
  .actions { flex-wrap:wrap; }
}

.sample-hero{background:#f7f5ef;overflow:hidden}.sample-hero-grid{display:grid;grid-template-columns:48% 52%;min-height:500px}.sample-hero-copy{padding:70px 55px;display:flex;flex-direction:column;justify-content:center;position:relative}.sample-hero-copy:before{content:"";position:absolute;left:15px;top:35px;width:80px;height:80px;background:radial-gradient(#d8caa7 1.4px,transparent 1.5px);background-size:12px 12px}.sample-hero-copy h1{font-family:"Playfair Display",serif;font-size:56px;line-height:1.05;margin:14px 0 20px}.sample-hero-copy h1 span{color:var(--gold)}.sample-hero-copy p{max-width:540px;color:var(--muted);font-size:15px;line-height:1.85}.sample-hero-image{min-height:500px;background-size:cover;background-position:center;border-radius:110px 0 0 110px;position:relative}.sample-hero-image:before{content:"";position:absolute;left:-18px;top:45px;width:35px;height:35px;background:var(--gold);border-radius:50%}.sample-kicker{font-size:12px;letter-spacing:1.5px;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:15px}.sample-kicker:after{content:"";height:1px;width:55px;background:#c9c0ab}.sample-feature{position:relative;margin-top:-55px;z-index:5}.sample-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:14px;box-shadow:0 12px 35px rgba(20,45,36,.12);overflow:hidden;border:1px solid #eee9de}.sample-feature-card{padding:25px 18px;text-align:center;border-right:1px solid var(--line);min-height:170px}.sample-feature-card:last-child{border:0}.sample-feature-icon{font-size:30px;color:var(--gold);height:40px}.sample-feature-card h3{font-size:12px;letter-spacing:.5px;margin:8px 0}.sample-feature-card p{font-size:12px;line-height:1.5;margin:0 auto 9px}.sample-feature-card a,.sample-feature-card span{font-size:11px;font-weight:700;color:var(--gold)}.sample-intro{padding:90px 0 75px}.sample-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr .75fr;gap:40px;align-items:center}.sample-intro-image{height:390px;border-radius:190px 190px 20px 20px;overflow:hidden}.sample-intro-image img{width:100%;height:100%;object-fit:cover}.sample-intro-copy h2{font-size:42px}.sample-intro-copy .signature{font-family:"Caveat",cursive;font-size:32px;color:var(--green);margin:15px 0}.sample-side-card{background:#f1f0e9;border-radius:12px;padding:25px}.sample-side-card h3{font-size:12px;letter-spacing:1px;margin:0 0 15px}.sample-side-card p{font-size:12px;margin:9px 0;display:flex;justify-content:space-between;gap:12px}.sample-section{padding:75px 0;background:var(--cream)}.sample-section.white{background:#fff}.sample-section-head{text-align:center;max-width:700px;margin:0 auto 35px}.sample-section-head h2{font-size:42px;margin:8px 0 10px}.sample-section-head p{margin:0}.sample-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sample-card{background:#fff;border:1px solid #e7e2d8;border-radius:13px;padding:28px}.sample-card .round-icon{width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:22px;margin-bottom:18px}.sample-card h3{font-family:"Playfair Display",serif;font-size:24px;margin:0 0 10px}.sample-card p{font-size:13px;line-height:1.75}.sample-band{display:grid;grid-template-columns:1fr 1fr;min-height:360px}.sample-band-image{background-size:cover;background-position:center}.sample-band-copy{background:var(--green);color:#fff;padding:60px;display:flex;flex-direction:column;justify-content:center}.sample-band-copy h2{color:#fff;font-size:40px;margin:8px 0 15px}.sample-band-copy p{color:#dce5df}.event-sample-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.event-sample-card{background:#fff;border:1px solid #e7e2d8;border-radius:12px;padding:18px;display:grid;grid-template-columns:65px 1fr;gap:18px;align-items:center}.event-date-large{background:var(--green);color:#fff;border-radius:8px;text-align:center;padding:9px 5px}.event-date-large span{display:block;font-size:10px;color:#e7d6aa}.event-date-large b{font-size:25px;font-family:"Playfair Display",serif}.event-sample-card h3{font-size:17px;margin:0 0 5px}.event-sample-card p{font-size:12px;margin:3px 0}.contact-sample-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-panel{background:var(--green);color:#fff;border-radius:15px;padding:35px}.contact-panel h2{color:#fff;margin-top:0}.contact-panel p{color:#dce5df}.contact-detail{display:flex;gap:14px;margin:22px 0}.contact-detail .mini-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;color:#d7b15f;flex:0 0 42px}.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:32px;box-shadow:0 8px 30px rgba(20,45,36,.06)}.contact-form-card h2{margin-top:0}.map-frame{height:420px;border:0;border-radius:15px;width:100%;box-shadow:var(--shadow)}.ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ministry-card{background:#fff;border-radius:13px;overflow:hidden;border:1px solid #e7e2d8}.ministry-card img{width:100%;height:185px;object-fit:cover}.ministry-card-body{padding:22px}.ministry-card h3{font-family:"Playfair Display",serif;font-size:22px;margin:0 0 8px}.ministry-card p{font-size:13px;line-height:1.7}.ministry-card a{font-size:11px;font-weight:700;color:var(--gold)}
@media(max-width:950px){.sample-hero-grid,.sample-intro-grid,.sample-band,.contact-sample-grid{grid-template-columns:1fr}.sample-hero-copy{padding:60px 7% 45px}.sample-hero-image{border-radius:0;min-height:360px}.sample-feature{margin-top:0;padding-top:18px}.sample-feature-grid{grid-template-columns:1fr 1fr}.sample-feature-card:nth-child(2){border-right:0}.sample-cards,.ministry-grid{grid-template-columns:1fr 1fr}.event-sample-grid{grid-template-columns:1fr}}
@media(max-width:600px){.sample-hero-copy h1{font-size:42px}.sample-feature-grid,.sample-cards,.ministry-grid{grid-template-columns:1fr}.sample-feature-card{border-right:0}.sample-intro-copy h2,.sample-section-head h2,.sample-band-copy h2{font-size:33px}.sample-band-copy{padding:40px 25px}.event-sample-card{grid-template-columns:55px 1fr}}

/* Shared parish top logo */
.brand-logo{width:248px;height:63px;object-fit:contain;object-position:left center;display:block}
@media (max-width:900px){.brand-logo{width:210px;height:54px}}

/* =========================================================
   Responsive enhancement
   Designed for phones, tablets and small laptops.
   ========================================================= */
html { overflow-x: hidden; }
body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
.container { width: min(1180px, calc(100% - 32px)); }

@media (max-width: 1024px) {
  .page-hero h1 { font-size: clamp(38px, 6vw, 52px); }
  .section h2 { font-size: clamp(32px, 5vw, 40px); }
  .page-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .page-side { position: static; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .container { width: min(100% - 28px, 1180px); }
  .topbar-inner { justify-content: center; text-align: center; }
  .topbar .left { font-size: 15px; }
  .page-hero { padding: 48px 0 38px; }
  .page-hero h1 { font-size: clamp(32px, 9vw, 42px); }
  .page-hero p { font-size: 14px; }
  .section { padding: 48px 0; }
  .section h2 { font-size: clamp(29px, 8vw, 35px); }
  .grid-2, .grid-3, .news-grid, .gallery, .gallery-grid,
  .events-grid, .ministry-grid, .sample-cards { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .photo { height: 280px; border-radius: 28px 0 28px 0; }
  .hero-ai .hero-inner { grid-template-columns: 1fr; padding: 40px 0; gap: 25px; }
  .hero-ai .hero-image { min-height: 280px; }
  .actions { flex-wrap: wrap; }
  .actions .btn { width: 100%; }
  .banner { padding: 25px 22px; }
  .schedule-table { display: block; overflow-x: auto; white-space: nowrap; }
  .amounts { grid-template-columns: 1fr 1fr; }
  .map, .map-frame, .map-wrap { min-height: 300px; height: 300px; }
  .footer-grid, .footer-a .footer-grid-a { grid-template-columns: 1fr; }
  .footer { padding: 34px 0 12px; }
  .footer-a { padding: 34px 0 12px; }
  .footer-a .footer-grid-a { gap: 24px; }
  .copyright { display: block; line-height: 1.7; }
  .copyright span { margin-left: 0; }
  .news-feature { grid-template-columns: 1fr; }
  .news-feature img { height: 190px; }
  .sample-hero-grid, .sample-intro-grid, .sample-band, .contact-sample-grid { grid-template-columns: 1fr; }
  .sample-hero-copy { padding: 50px 7% 35px; }
  .sample-hero-copy h1 { font-size: clamp(38px, 10vw, 50px); }
  .sample-hero-image { min-height: 300px; border-radius: 0; }
  .sample-feature { margin-top: 0; padding-top: 16px; }
  .sample-feature-grid { grid-template-columns: 1fr; }
  .sample-feature-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .sample-feature-card:last-child { border-bottom: 0; }
  .sample-intro { padding: 55px 0; }
  .sample-intro-copy h2, .sample-section-head h2, .sample-band-copy h2 { font-size: clamp(30px, 8vw, 38px); }
  .sample-band-copy { padding: 42px 25px; }
  .event-sample-grid { grid-template-columns: 1fr; }
  .contact-form-card { padding: 24px 20px; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 22px); }
  .page-hero h1 { font-size: 31px; }
  .section { padding: 40px 0; }
  .card { padding: 21px; }
  .amounts { grid-template-columns: 1fr; }
  .event { align-items: flex-start; }
  .event-list .event { flex-direction: column; }
  .gallery-grid img { height: 220px; }
}
