/* ==========================================================================
   OMC Fishing Adventures — shared stylesheet (tokens + chrome)
   Owned by the orchestrator. Page subagents append under "page:<slug>" banners.
   ========================================================================== */

:root{
  --green:#8cc63f;
  --green-d:#79b32b;
  --blue:#1f9df0;
  --blue-d:#1483d6;
  --ink:#161616;
  --dark:#080808;
  --text:#4a4a4a;
  --muted:#6b6b6b;
  --white:#ffffff;
  --wash:#eef7e6;
  --line:#e4e4e4;
  --radius:26px;
  --shadow:0 10px 30px rgba(0,0,0,.14);
  --maxw:1200px;
  --head:"Poppins",system-ui,Arial,sans-serif;
  --body:"Mulish",system-ui,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body);
  color:var(--text);
  background:var(--white);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:var(--head);color:var(--ink);line-height:1.12;margin:0 0 .5em}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---- skip link ---- */
.skip{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:10px 16px;z-index:2000}
.skip:focus{left:8px;top:8px}

/* ---- buttons ---- */
.btn{
  display:inline-block;font-family:var(--head);font-weight:600;font-size:15px;
  border:none;cursor:pointer;padding:13px 30px;border-radius:40px;color:#fff;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  box-shadow:0 6px 16px rgba(0,0,0,.18);text-align:center;
}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.25)}
.btn-blue{background:var(--blue)}
.btn-blue:hover{background:var(--blue-d)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-d)}

/* ---- decorative squiggle underline ---- */
/* the site-wide green/blue double wave (Wix vector 16.838 79.4 166.624 41.1) */
.squiggle{display:block;width:61px;height:15px;margin:14px 0;background:url("data:image/svg+xml,%3Csvg preserveAspectRatio='xMidYMid meet' viewBox='16.838 79.4 166.624 41.1' width='61' height='15' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpath d='M166.6 120.5c-6.3 0-12.1-2.5-16-7-2.6-2.9-6.4-4.5-10.6-4.5-4.3 0-8.2 1.7-10.6 4.5-3.9 4.4-9.7 7-16 7-6.3 0-12.1-2.5-16-7-2.6-2.9-6.4-4.5-10.6-4.5-4.3 0-8.2 1.7-10.6 4.5-3.9 4.4-9.7 7-16 7s-12.1-2.5-16-7c-2.6-2.9-6.4-4.5-10.6-4.5s-8.2 1.7-10.6 4.5c-1.2 1.5-3.4 1.7-4.9.3-1.5-1.2-1.7-3.4-.4-4.9 3.9-4.4 9.7-7 16-7s12.1 2.5 16 7c2.6 2.9 6.4 4.5 10.6 4.5 4.3 0 8.2-1.7 10.6-4.5 3.9-4.4 9.7-7 16-7 6.3 0 12.1 2.5 16 7 2.6 2.9 6.4 4.5 10.6 4.5 4.3 0 8.2-1.7 10.6-4.5 3.9-4.4 9.7-7 16-7s12.1 2.5 16 7c2.6 2.9 6.4 4.5 10.6 4.5 4.3 0 8.2-1.7 10.6-4.5 1.2-1.5 3.4-1.7 4.9-.3 1.5 1.2 1.7 3.4.4 4.9-3.9 4.5-9.8 7-16 7z' fill='%23A1DE43'%3E%3C/path%3E%3Cpath d='M166.6 98c-6.3 0-12.1-2.5-16-7-2.6-2.9-6.4-4.5-10.6-4.5-4.3 0-8.2 1.7-10.6 4.5-3.9 4.4-9.7 7-16 7-6.3 0-12.1-2.5-16-7-2.6-2.9-6.4-4.5-10.6-4.5-4.3 0-8.2 1.7-10.6 4.5-3.9 4.4-9.7 7-16 7s-12.1-2.5-16-7c-2.6-2.9-6.4-4.5-10.6-4.5S25.4 88.2 23 91c-1.2 1.5-3.4 1.7-4.9.3-1.5-1.2-1.7-3.4-.4-4.9 3.9-4.4 9.7-7 16-7s12.1 2.5 16 7C52 89.3 55.8 91 60.1 91c4.3 0 8.2-1.7 10.6-4.5 3.9-4.4 9.7-7 16-7 6.3 0 12.1 2.5 16 7 2.6 2.9 6.4 4.5 10.6 4.5 4.3 0 8.2-1.7 10.6-4.5 3.9-4.4 9.7-7 16-7s12.1 2.5 16 7c2.6 2.9 6.4 4.5 10.6 4.5 4.3 0 8.2-1.7 10.6-4.5 1.2-1.5 3.4-1.7 4.9-.3 1.5 1.2 1.7 3.4.4 4.9-3.7 4.3-9.6 6.9-15.8 6.9z' fill='%232193FE'%3E%3C/path%3E%3C/g%3E%3C/svg%3E") no-repeat center/100% 100%}
.squiggle.center{margin-left:auto;margin-right:auto}

/* ==========================================================================
   TOP BAR (green / blue)
   ========================================================================== */
.topbar{display:flex;font-family:var(--head);font-weight:500;font-size:13px}
.topbar-left,.topbar-right{flex:1;display:flex;align-items:center;gap:26px;padding:9px 26px;min-height:40px}
.topbar-left{background:var(--green);color:#fff;justify-content:flex-start}
.topbar-right{background:var(--blue);color:#fff;justify-content:flex-end;gap:20px}
.topbar-left a{color:#fff;display:inline-flex;align-items:center;gap:8px}
.topbar-left a:hover{opacity:.85}
.topbar-left img{width:16px;height:16px;filter:brightness(0) invert(1)}
.topbar-right a{color:#fff;display:inline-flex;align-items:center;transition:transform .2s ease}
.topbar-right a:hover{transform:translateY(-2px)}
.topbar-right img,.topbar-right svg{width:18px;height:18px;filter:brightness(0) invert(1)}

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.site-header{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.nav-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:82px;gap:12px;
}
.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:34px;align-items:center}
.nav-left{justify-content:flex-start}
.nav-right{justify-content:flex-end}
.nav-list a{
  font-family:var(--head);font-weight:600;font-size:15px;letter-spacing:.4px;
  color:#2b2b2b;text-transform:uppercase;padding:8px 2px;position:relative;transition:color .2s ease;
}
.nav-list a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .25s ease}
.nav-list a:hover{color:var(--blue)}
.nav-list a:hover::after,.nav-list a[aria-current="page"]::after{transform:scaleX(1)}
.nav-list a[aria-current="page"]{color:var(--blue)}
.logo-badge{display:block}
.logo-badge img{width:96px;height:96px;border-radius:50%;margin-top:6px}

/* ==========================================================================
   WAVE DIVIDERS
   ========================================================================== */
.wave{display:block;width:100%;height:52px}
.wave svg{display:block;width:100%;height:100%}

/* ==========================================================================
   GENERIC SECTION
   ========================================================================== */
.section{padding:72px 0}
.section-tight{padding:48px 0}
.lead{font-size:17px}
.eyebrow{font-family:var(--head);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:13px;color:var(--blue)}

/* ==========================================================================
   PAGE HERO (interior black band)
   ========================================================================== */
.page-hero{position:relative;background:#0a0a0a;overflow:hidden}
.page-hero .photo-strip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.page-hero .inner{position:relative;z-index:2;text-align:center;padding:120px 24px 90px}
.page-hero h1{color:var(--green);font-size:clamp(38px,6vw,74px);font-weight:800;margin:0}
.page-hero .wave{position:absolute;left:0;bottom:-1px;z-index:3}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--blue);color:#fff}
.footer-grid{
  max-width:var(--maxw);margin:0 auto;padding:56px 24px;
  display:grid;grid-template-columns:1.1fr 1fr 1.3fr 1.3fr;gap:36px;
}
.site-footer h3{color:#fff;font-size:26px;margin-bottom:18px}
.footer-brand img{width:150px;height:150px;border-radius:50%;margin-bottom:14px}
.footer-brand .follow{font-family:var(--head);margin:6px 0 10px}
.footer-social{display:flex;gap:14px}
.footer-social a{color:#fff;display:inline-flex;transition:transform .2s ease}
.footer-social a:hover{transform:translateY(-3px)}
.footer-social svg{width:20px;height:20px}
.footer-menu{list-style:none;margin:0;padding:0}
.footer-menu li{margin:0 0 10px}
.footer-menu a{color:#eaf6ff;font-size:15px;text-transform:uppercase;font-family:var(--head);font-weight:500;transition:opacity .2s}
.footer-menu a:hover{opacity:.75;color:#fff}
.footer-about p{color:#eaf6ff;font-size:15px}
.footer-about a{color:#fff;text-decoration:underline}
.footer-contact p{color:#eaf6ff;font-size:15px;margin:0 0 14px}
.footer-contact strong{color:#fff;display:block;font-family:var(--head)}
.footer-contact a{color:#eaf6ff}
.footer-bottom{background:var(--green);color:#fff}
.footer-bottom .inner{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}
.footer-bottom .licensed{font-style:italic;font-family:var(--head);display:flex;align-items:center;gap:18px}
.footer-bottom .cards{height:20px;width:auto}

/* ==========================================================================
   MOTION (shared) — pure CSS, on-load; never hides content permanently
   ========================================================================== */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
.anim{animation:fadeUp .8s both}
.anim-1{animation-delay:.12s}
.anim-2{animation-delay:.24s}
.anim-3{animation-delay:.36s}
.anim-4{animation-delay:.48s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:900px){
  .nav-grid{grid-template-columns:1fr;justify-items:center;gap:6px;padding:12px 24px}
  .nav-list{gap:20px}
  .logo-badge{order:-1}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .topbar{flex-direction:column}
  .topbar-left,.topbar-right{justify-content:center;flex-wrap:wrap}
}
@media (max-width:560px){
  .nav-list{gap:14px;flex-wrap:wrap;justify-content:center}
  .nav-list a{font-size:13px}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:52px 0}
}

/* ==========================================================================
   page:home
   ========================================================================== */
/* hero slideshow */
.hero{position:relative;height:640px;max-height:88vh;overflow:hidden;background:#0b1a24}
.hero .swiper,.hero .swiper-wrapper,.hero .swiper-slide{height:100%}
.hero .swiper-slide img{width:100%;height:100%;object-fit:cover}
.hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.35) 45%,rgba(0,0,0,.55));z-index:5;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px}
.hero .hero-copy{max-width:760px;color:#fff}
.hero h1{color:#fff;font-size:clamp(40px,7vw,74px);font-weight:800;margin:0 0 8px;text-shadow:0 3px 18px rgba(0,0,0,.5)}
.hero p{color:#f2f2f2;font-size:18px;margin:0 auto 26px;max-width:560px;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.hero .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero .scroll-arrow{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:6;color:#fff;animation:bob 1.8s ease-in-out infinite;font-size:26px}
.hero .wave{position:absolute;left:0;bottom:-1px;z-index:6}

/* intro / captain */
.captain{position:relative;overflow:hidden}
.captain .seal{position:absolute;right:-40px;top:40px;width:460px;max-width:45%;opacity:.10;pointer-events:none}
.captain-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;position:relative;z-index:2}
.captain-photo{position:relative}
.captain-photo::before{content:"";position:absolute;left:-16px;top:24px;bottom:24px;width:70%;background:var(--blue);border-radius:14px;z-index:0}
.captain-photo img{position:relative;z-index:1;border-radius:6px;width:100%;box-shadow:var(--shadow)}
.captain h2{color:var(--green);font-size:clamp(30px,4vw,42px);font-weight:800}
.captain p{font-size:16px}

/* veterans / flag band — mirrors the Wix strip: flag (0.71 over black) | catch photo,
   a left-to-right black gradient over both, white scalloped divider along the top */
.veterans{position:relative;min-height:600px;overflow:hidden;background:#000;color:#fff;
  font-family:"Familjen Grotesk",var(--head)}
.veterans .vet-media{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
.veterans .vet-flag,.veterans .vet-photo{position:relative;overflow:hidden;background:#000}
.veterans .vet-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.veterans .vet-flag img{opacity:.71}
.veterans::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.5063) 41.228%,rgba(249,197,180,0) 100%)}
.veterans::after{content:"";position:absolute;left:0;right:0;top:0;height:50px;z-index:2;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg id='comp-lvfiswby-top' preserveAspectRatio='none' data-bbox='0 100 1920 200' viewBox='0 100 1920 200' height='100%25' width='100%25' xmlns='http://www.w3.org/2000/svg' data-type='shape'%3E%3Cdefs%3E%3Cstyle%3E%23comp-lvfiswby-top %3E g %7B transform: scaleY(-1) translateY(-400px); %7D %23comp-lvfiswby-top %7B fill: %23FFFFFF; %7D%3C/style%3E%3C/defs%3E%3Cg%3E%3Cpath fill-rule='evenodd' d='M1914.392 288.326c-110.231-4.798-134.428-121.68-301.124-121.68s-190.894 116.883-301.124 121.68h-15.779c-132.623-3.764-163.287-72.283-366.071-72.283s-233.445 68.519-366.071 72.283h-8.154C384.543 282.678 408.027 100 281.156 100c-123.98 0-102.173 182.678-274.845 188.326H0V300h1920v-11.674h-5.608z M0,99 h1920 v201 h-1920 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:50% 100%;background-position:calc(50% + 500px) 0;background-repeat:repeat-x;transform:scaleY(-1)}
.veterans .vet-overlay{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.veterans .vet-copy{grid-column:1/-1;padding:110px 24px 84px 13.7%}
.veterans .vet-eyebrow{font-family:inherit;color:#fff;font-size:20px;line-height:1;font-weight:700;margin:0 0 12px;letter-spacing:0}
.veterans .vet-wave{display:block;width:61px;height:15px;margin:0 0 9px}
.veterans .vet-wave svg{display:block;width:61px;height:15px}
.veterans h3{font-family:inherit;color:#fff;font-size:clamp(34px,2.9vw,55px);line-height:1;font-weight:700;max-width:550px;margin:0 0 20px}
.veterans h3 .hl{color:#BADA55}
.veterans .vet-btn{display:inline-flex;align-items:center;justify-content:center;width:160px;height:55px;border-radius:999px;
  background:#2193FE;color:#fff;border:2px solid transparent;font:700 19px/1 "Familjen Grotesk",var(--head);
  transition:background-color .4s ease,border-color .4s ease}
.veterans .vet-btn:hover{background:#000;border-color:#fff}

/* services icons */
.svc-icons{text-align:center}
.svc-icons h2{color:var(--blue);font-size:clamp(28px,4vw,40px);font-weight:800}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,250px));justify-content:center;gap:25px;margin-top:34px}
.svc-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 0}
.svc-item .svc-ico{display:block;width:106px;height:46px}
.svc-item span{font-family:"Open Sans",var(--body);font-weight:700;color:#000;font-size:18px;line-height:1.4}
.svc-item{transition:transform .25s ease}
.svc-item:hover{transform:translateY(-6px)}

/* dark "reel in" cards band */
.reel{position:relative;background:#000;color:#fff;overflow:hidden}
.reel .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.reel .wave-top{position:absolute;left:0;top:-1px;z-index:3}
.reel .inner{position:relative;z-index:4;padding:96px 0 88px}
.reel h2{text-align:center;color:#fff;font-size:clamp(28px,4vw,42px);font-weight:800}
.reel h2 .hl{color:var(--green)}
.reel-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.reel-card{position:relative;border-radius:8px;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;box-shadow:var(--shadow)}
.reel-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel-card .cap{position:relative;z-index:2;padding:22px;background:linear-gradient(transparent,rgba(0,0,0,.82));width:100%}
.reel-card h3{color:#fff;font-size:22px;margin:0 0 6px}
.reel-card p{color:#e8e8e8;font-size:14px;margin:0}

/* thin photo divider band */
.strip-band{display:block;width:100%;height:200px;object-fit:cover}

/* book CTA band */
.book-band{position:relative;overflow:hidden;background:#000;text-align:center;color:#fff;min-height:391px}
.reel + .book-band{margin-top:120px}
.book-band .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.book-band .inner{position:relative;z-index:2;padding:76px 24px 47px}
.book-band .fish{width:50px;height:50px;object-fit:cover;margin:0 auto 4px}
.book-band h2{color:#A1DE43;font-family:"Familjen Grotesk",var(--head);font-size:clamp(34px,4vw,55px);line-height:1;font-weight:700;max-width:723px;margin:0 auto 20px}
.book-band .btn{width:160px;height:55px;padding:0;display:inline-flex;align-items:center;justify-content:center;font:700 19px/1 "Familjen Grotesk",var(--head);background:#2193FE;border-radius:999px;box-shadow:none}

@media (max-width:900px){
  .captain-grid{grid-template-columns:1fr;gap:28px}
  .captain .seal{display:none}
  .veterans .vet-copy{padding:90px 24px 70px}
  .veterans .vet-media{grid-template-columns:1fr}
  .veterans .vet-photo{display:none}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,250px))}
  .reel-cards{grid-template-columns:1fr}
}

/* ==========================================================================
   page:about
   ========================================================================== */
.about-intro{position:relative;overflow:hidden}
.about-intro .seal{position:absolute;right:-60px;top:20px;width:520px;max-width:48%;opacity:.10;pointer-events:none}
.about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:54px;align-items:start;position:relative;z-index:2}
.about-grid .about-photo{position:relative}
.about-grid .about-photo::before{content:"";position:absolute;left:-16px;top:24px;bottom:24px;width:70%;background:var(--blue);border-radius:14px;z-index:0}
.about-grid .about-photo img{position:relative;z-index:1;border-radius:6px;box-shadow:var(--shadow)}
.about-grid h2{color:var(--green);font-size:clamp(30px,4vw,42px);font-weight:800}
.about-boat{position:relative;color:#fff;text-align:center;overflow:hidden;background:#0d1a1f}
.about-boat .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.about-boat .inner{position:relative;z-index:2;padding:90px 24px;max-width:900px;margin:0 auto}
.about-boat p{color:#eafff2;font-size:16px}
.about-boat p:first-of-type{color:var(--green);font-weight:700;font-family:var(--head)}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:28px}.about-intro .seal{display:none}}

/* ==========================================================================
   page:services
   ========================================================================== */
.svc-block{position:relative;overflow:hidden}
.svc-block:nth-child(even){background:var(--wash)}
.svc-block .seal{position:absolute;right:-60px;top:30px;width:520px;max-width:46%;opacity:.09;pointer-events:none}
.svc-row{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;align-items:center;position:relative;z-index:2}
.svc-row.rev{grid-template-columns:0.8fr 1.2fr}
.svc-row .svc-img{position:relative}
.svc-row .svc-img::before{content:"";position:absolute;left:-14px;top:20px;bottom:20px;width:60%;background:var(--blue);border-radius:12px;z-index:0}
.svc-row .svc-img img{position:relative;z-index:1;border-radius:6px;width:100%;box-shadow:var(--shadow)}
.svc-row h2{color:var(--green);font-size:clamp(28px,4vw,40px);font-weight:800}
.price-line{font-family:var(--head);font-weight:700;color:var(--ink);font-size:18px;margin:14px 0 2px}
.price-line .amt{color:var(--blue)}
.price-sub{font-size:14px;color:var(--muted);margin:0 0 6px}
.svc-row .imgs-2{display:grid;grid-template-columns:1fr;gap:20px}
.svc-note{font-style:italic;font-size:13px;color:var(--muted)}
@media (max-width:900px){.svc-row{grid-template-columns:1fr;gap:26px}.svc-block .seal{display:none}}

/* ==========================================================================
   page:gallery
   ========================================================================== */
/* full-width Pro Gallery collage: 60px side margins, 20px gaps, 15px corners, zoom on hover.
   JS positions each .pg-item; before that (or without JS) it falls back to CSS columns. */
.gallery-section{padding-top:28px}
.pgallery-wrap{margin:0 60px}
.pgallery{position:relative;columns:3;column-gap:20px}
.pgallery .pg-item{break-inside:avoid;margin:0 0 20px;border-radius:15px;overflow:hidden;background:#eef2f5}
.pgallery .pg-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pgallery .pg-item:hover img{transform:scale(1.1)}
.pgallery.is-laid-out{columns:auto}
.pgallery.is-laid-out .pg-item{position:absolute;margin:0}
@media (max-width:699px){.pgallery-wrap{margin:0 16px}.pgallery{columns:2;column-gap:6px}.pgallery .pg-item{margin-bottom:6px}}

/* ==========================================================================
   page:faqs
   ========================================================================== */
/* Wix FAQ widget (collapse layout): 1100px box with 32px padding, bold 16px Open Sans questions,
   +/- icon, 1px #2193FE rule 12px below each item, first answer open, one open at a time */
.faq-section{padding:49px 0 50px}
.faq-wrap{max-width:1100px;margin:0 auto;padding:32px}
.faq-item{margin:0;padding:0 0 12px;border-bottom:1px solid #2193FE;margin-bottom:12px;font-family:"Open Sans",Arial,sans-serif;color:#000}
.faq-item:last-child{margin-bottom:0}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;min-height:74px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0;font:700 16px/20px "Open Sans",Arial,sans-serif;color:#000}
.faq-item summary:focus-visible{outline:2px solid #2193FE;outline-offset:4px}
.faq-icon{position:relative;flex:0 0 24px;width:24px;height:24px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:5px;top:12px;width:15px;height:1px;background:#000}
.faq-icon::after{transform:rotate(90deg);transition:transform .2s ease}
.faq-item[open] .faq-icon::after{transform:rotate(0deg)}
.faq-item .faq-body{padding:0 0 40px;font:400 15px/22.5px "Open Sans",Arial,sans-serif;color:#000}
.faq-item .faq-body p{margin:0}
.faq-item .faq-body ul{margin:0;padding-left:24px}
.faq-item .faq-body .faq-note{padding-left:48px}
@media (max-width:700px){.faq-wrap{padding:20px 16px}}

/* ==========================================================================
   page:reviews
   ========================================================================== */
.reviews-intro{text-align:center;max-width:760px;margin:0 auto 10px}
.reviews-grid{columns:3;column-gap:24px}
.review-card{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin:0 0 24px;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:transform .25s ease,box-shadow .25s ease}
.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.review-card .stars{color:var(--green);font-size:17px;letter-spacing:2px;margin-bottom:10px}
.review-card p{font-size:15px;margin:0 0 14px}
.review-card .name{font-family:var(--head);font-weight:700;color:var(--blue);font-size:15px}
.review-card .name a{color:var(--blue)}
.reviews-cta{text-align:center;margin-top:14px}
@media (max-width:1000px){.reviews-grid{columns:2}}
@media (max-width:640px){.reviews-grid{columns:1}}

/* ==========================================================================
   page:contact
   ========================================================================== */
.contact-sec{position:relative;overflow:hidden}
.contact-sec .seal{position:absolute;right:-60px;top:40px;width:560px;max-width:48%;opacity:.10;pointer-events:none}
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;position:relative;z-index:2}
.contact-info h2{color:var(--green);font-size:clamp(30px,4vw,44px);font-weight:800}
.contact-info .lbl{color:var(--blue);font-family:var(--head);font-weight:700;margin:22px 0 2px}
.contact-info a{color:var(--text)}
.contact-form label{display:block;font-family:var(--head);font-weight:600;color:#333;font-size:14px;margin:0 0 6px}
.contact-form .field{margin:0 0 18px}
.contact-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form input,.contact-form textarea{
  width:100%;border:1px solid #bcdcf5;background:#f4faff;border-radius:26px;
  padding:14px 18px;font-family:var(--body);font-size:15px;color:#333;transition:border-color .2s,box-shadow .2s;
}
.contact-form textarea{border-radius:18px;min-height:150px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,157,240,.18)}
.hp-field{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:30px}.contact-sec .seal{display:none}.contact-form .row2{grid-template-columns:1fr}}
