/* =========================================================
   Brite Beginnings — reimagined
   Warm, sunny, play-based aesthetic. Vanilla CSS.
   ========================================================= */
:root{
  /* palette matched to the Brite Beginnings logo: lime green, sky blue, sunny yellow */
  --cream:#FFFFFF;          /* clean white canvas lets the logo breathe */
  --cream-2:#F1F8E6;        /* pale lime band */
  --band-blue:#E9F6FC;      /* pale sky band */
  --band-yellow:#FFF7DE;    /* pale sun band */
  --ink:#3A4031;            /* deep warm green-charcoal */
  --ink-soft:#69705E;
  --sun:#FBC02D;            /* logo yellow */
  --sun-deep:#F7941E;       /* logo sun orange */
  --coral:#F26D6D;          /* sun's rosy cheeks */
  --teal:#8BC53F;           /* LOGO GREEN (lime) */
  --teal-deep:#6BA82E;      /* deeper lime green */
  --sky:#27AAE1;            /* LOGO BLUE */
  --sky-deep:#1C8FC4;
  --plum:#27AAE1;
  --dark:#283322;           /* deep green for dark sections */
  --white:#ffffff;
  --line:#E6EDD6;
  --shadow:0 18px 40px -18px rgba(120,80,20,.28);
  --shadow-sm:0 8px 22px -12px rgba(120,80,20,.30);
  --radius:22px;
  --radius-lg:34px;
  --display:"Fredoka",system-ui,sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --body:"Nunito",system-ui,sans-serif;
  --maxw:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  margin:0;font-family:var(--body);color:var(--ink);background:var(--cream);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
img{max-width:100%;display:block}
a{color:var(--teal-deep);text-decoration:none}

.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:0 0 12px 0;z-index:200}
.skip:focus{left:0}

/* ---------- decorative background ---------- */
.bg-decor{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5}
.b1{width:520px;height:520px;background:#FCE59B;top:-160px;left:-120px}      /* yellow */
.b2{width:480px;height:480px;background:#CDE9A8;top:35%;right:-160px}        /* lime */
.b3{width:420px;height:420px;background:#BFE4F6;bottom:-140px;left:25%}      /* blue */
.grain{position:absolute;inset:0;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- top bar ---------- */
.topbar{background:var(--ink);color:#FFE9C7;font-size:13.5px;font-weight:600}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 24px;flex-wrap:wrap}
.tb-right{display:flex;gap:18px;flex-wrap:wrap}
.tb-item{color:#FFE9C7}
.tb-item:hover{color:#fff}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 10px 34px -22px rgba(40,60,30,.55)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:21px;color:var(--ink)}
/* multiply blend drops the logo's solid-white background out against light surfaces — no box */
.brand-logo{height:54px;width:auto;display:block;mix-blend-mode:multiply}
.f-logo{height:60px;background:#fff;padding:10px 14px;border-radius:16px;mix-blend-mode:normal}
.brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--sun),var(--sun-deep));
  color:#fff;display:grid;place-items:center;font-size:23px;box-shadow:var(--shadow-sm);transform:rotate(-6deg)}
.brand-text em{font-style:normal;color:var(--sun-deep)}
.nav-links{display:flex;gap:6px}
.nav-links a{color:var(--ink-soft);font-weight:700;font-size:15.5px;padding:8px 13px;border-radius:11px;transition:.2s}
.nav-links a:hover{color:var(--ink);background:var(--cream-2)}
.nav-cta{display:inline-flex}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.menu-toggle span{width:26px;height:3px;background:var(--ink);border-radius:3px;transition:.3s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
/* hidden on desktop; only the mobile media query reveals it when toggled open */
.mobile-menu{display:none;flex-direction:column;gap:6px;padding:10px 24px 20px;background:var(--cream);border-bottom:1px solid var(--line)}
.mobile-menu a{padding:12px 14px;border-radius:12px;font-weight:700;color:var(--ink)}
.mobile-menu a:hover{background:var(--cream-2)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);
  font-weight:600;font-size:16px;padding:13px 24px;border-radius:999px;cursor:pointer;border:2px solid transparent;
  transition:transform .18s,box-shadow .18s,background .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-sun{background:linear-gradient(135deg,var(--sun),var(--sun-deep));color:#fff;box-shadow:0 12px 24px -10px rgba(251,133,0,.7)}
.btn-sun:hover{box-shadow:0 16px 30px -10px rgba(251,133,0,.8)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--sun)}
.btn-lg{padding:16px 30px;font-size:17px}
.btn-block{width:100%}

/* ---------- hero ---------- */
.hero{position:relative;padding:64px 0 30px}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.eyebrow{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--sun-deep);
  font-weight:800;font-size:13.5px;padding:7px 15px;border-radius:999px;box-shadow:var(--shadow-sm)}
.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(40px,6vw,68px);line-height:1.02;
  letter-spacing:-.02em;margin:18px 0 16px}
.hero h1 .hl{color:var(--teal-deep);position:relative;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:14px;background:#FBE08A;
  z-index:-1;border-radius:8px;transform:rotate(-1.5deg)}
.hero-sub{font-size:19px;color:var(--ink-soft);max-width:540px;margin-bottom:28px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero-trust div{display:flex;flex-direction:column}
.hero-trust strong{font-family:var(--display);font-size:24px;color:var(--ink)}
.hero-trust span{font-size:13.5px;color:var(--ink-soft);font-weight:600}
.hero-art{position:relative;padding:18px}
.hero-photo{position:relative;border-radius:36px;overflow:hidden;border:6px solid #fff;
  box-shadow:0 36px 60px -28px rgba(40,60,30,.45);transform:rotate(-2deg);aspect-ratio:4/4.4}
.hero-photo::after{content:"";position:absolute;inset:0;border-radius:30px;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.25)}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
/* playful floating accents */
.hero-badge{position:absolute;background:#fff;border-radius:999px;padding:10px 16px;font-family:var(--display);
  font-weight:600;font-size:14.5px;color:var(--ink);box-shadow:var(--shadow);white-space:nowrap;z-index:3}
.badge-1{top:30px;left:-14px}
.badge-2{bottom:46px;right:-10px}
.hero-dot{position:absolute;top:-6px;right:24px;width:74px;height:74px;border-radius:50%;
  background:linear-gradient(135deg,var(--sun),var(--sun-deep));z-index:0;
  box-shadow:0 14px 26px -10px rgba(251,148,30,.7)}
.float-a{animation:floaty 5s ease-in-out infinite}
.float-b{animation:floaty 6.5s ease-in-out infinite reverse}
@keyframes floaty{50%{transform:translateY(-12px)}}
.wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.wave svg{width:100%;height:70px}

/* ---------- marquee ---------- */
.marquee{background:var(--white);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee-track{display:flex;gap:26px;white-space:nowrap;padding:16px 0;animation:scroll 26s linear infinite;
  font-family:var(--display);font-size:21px;font-weight:600;color:var(--teal-deep)}
.marquee-track span:nth-child(even){color:var(--sun)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.section{padding:84px 0;position:relative}
.section-tint{background:linear-gradient(180deg,#fff,var(--cream-2))}
.section-blue{background:linear-gradient(180deg,#fff,var(--band-blue))}
.section-dark{background:var(--dark);color:#FCEFD9}
/* kicker is now a colorful rounded pill */
.kicker{display:inline-block;font-family:var(--display);font-weight:600;color:var(--teal-deep);
  background:var(--cream-2);border-radius:999px;padding:7px 16px;
  text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;margin-bottom:16px}
.section-blue .kicker{color:var(--sky-deep);background:var(--band-blue)}
.kicker.light{color:#283322;background:var(--sun)}
h2{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.015em;margin:0 0 14px}
h3{font-family:var(--display);font-weight:600;font-size:21px;margin:0 0 8px}
.lead{font-size:18.5px;color:var(--ink-soft);max-width:620px}
.section-dark .lead{color:#D9C9B4}
.head-center{text-align:center;max-width:680px;margin:0 auto 52px}
.head-center .lead{margin:0 auto}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.two-col.reverse .col-copy:first-child{order:2}

/* about photos */
.col-art{position:relative;min-height:380px}
.photo-card{position:absolute;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;margin:0;
  border:5px solid #fff}
.photo-card img{width:100%;height:100%;object-fit:cover;display:block}
.photo-1{width:64%;height:300px;top:0;left:0;transform:rotate(-3deg);z-index:1}
.photo-2{width:50%;height:230px;bottom:0;right:0;transform:rotate(4deg);z-index:2}

.tick-list{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tick-list li{position:relative;padding-left:30px;font-weight:600}
.tick-list li::before{content:"✓";position:absolute;left:0;top:-1px;width:21px;height:21px;background:var(--teal);
  color:#fff;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}

/* offer grid */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offer-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;
  box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.offer-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.oc-ico{width:58px;height:58px;border-radius:16px;background:var(--cream-2);display:grid;place-items:center;
  font-size:30px;margin-bottom:16px}
.offer-card p{color:var(--ink-soft);margin:0;font-size:15.5px}

/* timeline / hours */
.hours-badge{display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:12px 22px;box-shadow:var(--shadow-sm);margin-top:22px;font-weight:700}
.hours-badge strong{font-family:var(--display);color:var(--sun-deep);font-size:19px}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline li{display:grid;grid-template-columns:64px 24px 1fr;gap:14px;align-items:start;padding:0 0 22px}
.t-time{font-family:var(--display);font-weight:600;color:var(--sun-deep);font-size:15px;padding-top:2px}
.t-dot{position:relative;justify-self:center}
.t-dot::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--sun);display:block;
  border:3px solid #fff;box-shadow:0 0 0 2px var(--sun);margin-top:5px}
.timeline li:not(:last-child) .t-dot::after{content:"";position:absolute;top:22px;left:50%;transform:translateX(-50%);
  width:2px;height:calc(100% + 12px);background:var(--line)}
.timeline strong{font-family:var(--display);font-weight:500;font-size:17px}
.timeline p{margin:2px 0 0;color:var(--ink-soft);font-size:15px}

/* fees */
.fees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.fee-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 28px;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.fee-card.featured{background:linear-gradient(170deg,#fff,#FFF4DD);border-color:var(--sun);transform:scale(1.04);
  box-shadow:var(--shadow)}
.fee-tag{font-family:var(--display);font-weight:600;color:var(--sun-deep);font-size:13.5px;text-transform:uppercase;letter-spacing:.08em}
.fee-price{font-family:var(--serif);font-weight:600;color:var(--ink-soft);font-size:18px;margin:14px 0 18px}
.fee-price strong{font-family:var(--display);color:var(--sun-deep);font-size:27px;letter-spacing:.01em}
.fee-card ul{list-style:none;padding:0;margin:0 0 24px;flex:1}
.fee-card li{padding:9px 0;border-bottom:1px dashed var(--line);font-weight:600;font-size:15.5px}
.fee-card li::before{content:"✓ ";color:var(--teal);font-weight:800}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;gap:16px}
.g-tile{margin:0;border-radius:var(--radius);overflow:hidden;position:relative;display:flex;align-items:flex-end;
  box-shadow:var(--shadow-sm);transition:transform .25s;cursor:zoom-in}
.g-tile:hover{transform:scale(1.02) rotate(.4deg)}
.g-tile::after{content:"⤢";position:absolute;top:12px;right:12px;z-index:3;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.9);color:var(--ink);display:grid;place-items:center;font-size:15px;
  opacity:0;transform:scale(.8);transition:.2s}
.g-tile:hover::after{opacity:1;transform:scale(1)}
.g-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.g-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:60px}
.g-tile figcaption{position:relative;z-index:2;width:100%;padding:14px 16px;color:#fff;font-weight:700;font-size:14.5px;
  background:linear-gradient(0deg,rgba(40,30,20,.72),transparent)}
.g-a{background:linear-gradient(140deg,#FBC02D,#F7941E)}   /* yellow → orange */
.g-b{background:linear-gradient(140deg,#8BC53F,#27AAE1)}   /* green → blue */
.g-c{background:linear-gradient(140deg,#27AAE1,#6BA82E)}   /* blue → green */
.g-d{background:linear-gradient(140deg,#FBC02D,#8BC53F)}   /* yellow → green */
.g-e{background:linear-gradient(140deg,#27AAE1,#5BC2E8)}   /* blue tones */
.g-f{background:linear-gradient(140deg,#8BC53F,#FBC02D)}   /* green → yellow */
.g-b{grid-row:span 1}.g-c{grid-row:span 1}
.gallery-note{text-align:center;margin-top:24px;color:var(--ink-soft);font-size:14.5px}
.gallery-note code{background:var(--cream-2);padding:2px 7px;border-radius:6px;font-size:13px}

/* reviews */
.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.review{margin:0;background:#352C28;border:1px solid #4a3d36;border-radius:var(--radius);padding:28px}
.stars{color:var(--sun);font-size:18px;letter-spacing:2px;margin-bottom:12px}
.review p{font-family:var(--serif);font-size:19px;line-height:1.5;margin:0 0 20px}
.review footer{display:flex;align-items:center;gap:12px}
.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--teal));
  display:grid;place-items:center;font-family:var(--display);font-weight:600;color:#fff}
.review cite{font-style:normal;font-family:var(--display);font-weight:500}
.review cite small{display:block;color:#C9B6A0;font-size:13px;font-weight:400}

/* contact */
.contact-list{list-style:none;padding:0;margin:24px 0 22px;display:grid;gap:14px}
.contact-list li{display:flex;gap:14px;align-items:flex-start}
.ci{width:42px;height:42px;border-radius:13px;background:var(--cream-2);display:grid;place-items:center;font-size:20px;flex-shrink:0}
.contact-list strong{display:block;font-family:var(--display);font-weight:500}
.socials{display:flex;gap:10px;margin:0 0 24px}
.socials a{width:44px;height:44px;border-radius:13px;background:var(--ink);color:#fff;display:grid;place-items:center;
  transition:transform .2s,background .2s}
.socials a svg{width:21px;height:21px}
.socials a:hover{transform:translateY(-3px)}
/* real brand colours on hover */
.socials a[aria-label*="Facebook"]:hover{background:#1877F2}
.socials a[aria-label*="Instagram"]:hover{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.socials a[aria-label*="WhatsApp"]:hover{background:#25D366}
/* footer sits on dark green — give the buttons contrast */
.footer .socials a{background:rgba(255,255,255,.12)}
.footer .socials a:hover{background:var(--sun-deep)}
.footer .socials a[aria-label*="Facebook"]:hover{background:#1877F2}
.footer .socials a[aria-label*="Instagram"]:hover{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF)}
.footer .socials a[aria-label*="WhatsApp"]:hover{background:#25D366}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);line-height:0}
.map-embed iframe{width:100%;height:280px;border:0;display:block}

.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow)}
.contact-form h3{font-family:var(--serif);font-size:26px;margin-bottom:20px}
.field{margin-bottom:16px}
.field label{display:block;font-weight:700;font-size:14.5px;margin-bottom:6px}
.field input,.field textarea{width:100%;padding:13px 15px;border:2px solid var(--line);border-radius:14px;
  font-family:var(--body);font-size:16px;background:var(--cream);transition:.2s;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sun);background:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-status{margin:14px 0 0;font-weight:700;text-align:center;min-height:22px}
.form-status.ok{color:var(--teal)}
.form-status.err{color:var(--coral)}

/* footer */
.footer{background:var(--ink);color:#E8D7C2;padding:60px 0 26px}
.footer-in{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:40px}
.footer .brand{color:#fff;margin-bottom:14px}
.f-brand p{color:#C9B6A0;font-size:15px;max-width:320px}
.f-col h4{font-family:var(--display);font-weight:600;color:#fff;margin:0 0 14px;font-size:17px}
.f-col{display:flex;flex-direction:column;gap:9px}
.f-col a,.f-col span{color:#C9B6A0;font-size:15px}
.f-col a:hover{color:var(--sun)}
.f-bottom{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #4a3d36;margin-top:40px;padding-top:22px;
  color:#9C8A77;font-size:13.5px;flex-wrap:wrap}
.f-bottom a{color:var(--sun);font-weight:700}
.f-bottom a:hover{color:var(--sun-deep)}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(28,22,18,.92);backdrop-filter:blur(6px);padding:24px;opacity:0;transition:opacity .25s}
.lightbox[hidden]{display:none}
.lightbox.show{opacity:1}
.lb-stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:92vw;max-height:88vh}
.lb-stage img{max-width:92vw;max-height:78vh;width:auto;height:auto;border-radius:16px;border:5px solid #fff;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);object-fit:contain;animation:lbPop .3s ease}
@keyframes lbPop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.lb-stage figcaption{color:#fff;font-family:var(--display);font-weight:500;font-size:17px;text-align:center}
.lb-close,.lb-nav{position:fixed;background:rgba(255,255,255,.14);color:#fff;border:0;cursor:pointer;
  border-radius:50%;display:grid;place-items:center;transition:background .2s,transform .2s;z-index:201}
.lb-close{top:20px;right:24px;width:48px;height:48px;font-size:30px;line-height:1}
.lb-nav{top:50%;transform:translateY(-50%);width:56px;height:56px;font-size:34px;line-height:1}
.lb-prev{left:24px}
.lb-next{right:24px}
.lb-close:hover,.lb-nav:hover{background:var(--sun-deep)}
.lb-nav:hover{transform:translateY(-50%) scale(1.08)}
.lb-count{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-family:var(--display);
  font-size:14px;background:rgba(255,255,255,.14);padding:6px 16px;border-radius:999px}
@media(max-width:560px){
  .lb-nav{width:46px;height:46px;font-size:26px}
  .lb-prev{left:10px}.lb-next{right:10px}
  .lb-close{top:12px;right:12px}
  .lb-stage img{max-height:70vh}
}

/* back to top */
.to-top{position:fixed;right:24px;bottom:24px;width:50px;height:50px;border-radius:50%;background:var(--sun-deep);
  color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:var(--shadow);opacity:0;pointer-events:none;
  transform:translateY(14px);transition:.3s;z-index:90}
.to-top.show{opacity:1;pointer-events:auto;transform:none}

/* reveal animation */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .nav-links,.nav-cta{display:none}
  .menu-toggle{display:flex}
  .mobile-menu:not([hidden]){display:flex}
  .hero-in,.two-col,.two-col.reverse .col-copy:first-child{grid-template-columns:1fr;order:0}
  .hero-art{max-width:380px;margin:0 auto}
  .offer-grid,.fees-grid,.gallery-grid,.review-grid,.footer-in{grid-template-columns:1fr}
  .fee-card.featured{transform:none}
  /* stack the About photos as normal cards on mobile (absolute overlap collapses here) */
  .col-art{position:static;min-height:0;max-width:480px;margin:0 auto;
    display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .col-art .photo-card{position:static;transform:none;width:auto;height:200px;border-radius:var(--radius)}
  .tick-list{grid-template-columns:1fr}
}
@media(max-width:560px){
  body{font-size:16px}
  .section{padding:60px 0}
  /* hide the top contact bar on phones — info still in nav CTA, contact section & footer */
  .topbar{display:none}
  .hero-trust{gap:18px}
  .offer-grid{grid-template-columns:1fr}
  /* full-width CTAs on phones */
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
}
