:root{
    --black:#0a0a0a;
    --white:#ffffff;
    --off:#f4f3f0;
    --grey:#6e6c68;
    --line:#e2e0da;
    --accent:#a8112c;
    --ease:cubic-bezier(.16,.8,.24,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    color:var(--black);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;height:auto;display:block;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  h1,h2,h3{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;}
  .eyebrow{
    font-family:'Oswald',sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--accent);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{content:'';width:24px;height:2px;background:var(--accent);display:inline-block;transform:skewX(-18deg);}
  .stripe{
    height:3px;
    width:100%;
    background:repeating-linear-gradient(115deg, var(--black) 0 34px, transparent 34px 40px);
    background-position-x: calc(var(--scroll-y, 0) * -0.4px);
    opacity:.9;
  }
  ::selection{background:var(--black);color:var(--white);}

  /* NAV */
  header.site-nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:transform .4s var(--ease);
  }
  header.site-nav.hide{transform:translateY(-100%);}
  .nav-inner{
    max-width:1180px;margin:0 auto;padding:14px 32px;
    display:flex;align-items:center;justify-content:space-between;
  }
  .nav-logo img{height:46px;width:auto;}
  nav.links{display:flex;gap:36px;}
  nav.links a{
    font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--black);position:relative;padding:4px 0;
  }
  nav.links a::after{
    content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--accent);
    transition:width .3s var(--ease);
  }
  nav.links a:hover::after{width:100%;}
  .nav-cta{
    font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
    background:var(--black);color:var(--white);padding:10px 20px;
    transform:skewX(-10deg);
  }
  .nav-cta span{display:inline-block;transform:skewX(10deg);}
  .nav-cta:hover{background:var(--accent);}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;}
  .burger span{width:24px;height:2px;background:var(--black);}

  /* HERO */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;
    padding:140px 24px 80px;
    background:var(--white);
    overflow:hidden;
  }
  .hero::before{
    content:'';position:absolute;top:-10%;right:-12%;width:56vw;height:140%;
    background:repeating-linear-gradient(115deg, var(--off) 0 46px, transparent 46px 58px);
    transform:skewX(-14deg) translateY(calc(var(--scroll-y, 0) * 0.18px));
    z-index:0;
    will-change:transform;
  }
  .hero::after{
    content:'';position:absolute;bottom:-18%;left:-14%;width:40vw;height:80%;
    background:repeating-linear-gradient(115deg, var(--off) 0 30px, transparent 30px 40px);
    transform:skewX(-14deg) translateY(calc(var(--scroll-y, 0) * -0.28px));
    z-index:0;
    will-change:transform;
  }
  .hero-inner{position:relative;z-index:2;max-width:760px;}
  .hero-logo{
    width:min(520px,80vw);
    margin:0 auto 34px;
    opacity:0;
    animation:riseIn .9s var(--ease) .1s forwards;
  }
  .hero-tag{
    font-size:clamp(22px,3.4vw,34px);
    font-family:'Oswald',sans-serif;
    font-weight:500;
    text-transform:none;
    letter-spacing:0;
    color:var(--black);
    margin-bottom:18px;
    opacity:0;
    animation:riseIn .9s var(--ease) .3s forwards;
  }
  .hero-sub{
    font-size:16px;color:var(--grey);max-width:480px;margin:0 auto 40px;line-height:1.6;
    opacity:0;
    animation:riseIn .9s var(--ease) .45s forwards;
  }
  .hero-ctas{
    display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
    opacity:0;
    animation:riseIn .9s var(--ease) .6s forwards;
  }
  @keyframes riseIn{
    from{opacity:0;transform:translateY(18px);}
    to{opacity:1;transform:translateY(0);}
  }
  .btn{
    font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:.1em;text-transform:uppercase;
    padding:16px 34px;
    display:inline-block;
    transform:skewX(-10deg);
    transition:all .25s var(--ease);
    border:1px solid var(--black);
  }
  .btn span{display:inline-block;transform:skewX(10deg);}
  .btn-primary{background:var(--black);color:var(--white);}
  .btn-primary:hover{background:var(--accent);border-color:var(--accent);}
  .btn-ghost{background:transparent;color:var(--black);}
  .btn-ghost:hover{background:var(--black);color:var(--white);}
  .scroll-cue{
    position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
    font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.28em;color:var(--grey);
    z-index:2;
  }
  .scroll-cue .line{width:1px;height:34px;background:var(--grey);position:relative;overflow:hidden;}
  .scroll-cue .line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--black);
    animation:scrollLine 1.8s ease-in-out infinite;
  }
  @keyframes scrollLine{
    0%{top:-100%;} 60%{top:100%;} 100%{top:100%;}
  }

  section{position:relative;padding:110px 0;}
  .section-head{margin-bottom:56px;max-width:640px;}
  .section-head h2{font-size:clamp(32px,4.4vw,52px);margin-top:14px;}
  .section-head p{color:var(--grey);margin-top:16px;font-size:16px;line-height:1.65;max-width:520px;}
  .bg-off{background:var(--off);}

  /* SERVICES */
  .services-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .service-card{
    background:var(--white);
    padding:44px 40px;
    display:flex;flex-direction:column;gap:14px;
    position:relative;
    transition:background .3s var(--ease), box-shadow .3s var(--ease);
  }
  .service-card:hover{background:var(--off);box-shadow:0 22px 40px -18px rgba(0,0,0,.25);}
  .service-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;}
  .service-card h3{font-size:24px;letter-spacing:.01em;}
  .service-price{
    font-family:'Oswald',sans-serif;font-size:15px;letter-spacing:.05em;
    color:var(--accent);white-space:nowrap;font-weight:500;
  }
  .service-card p{color:var(--grey);font-size:15px;line-height:1.65;}
  .service-bar{
    position:absolute;top:0;left:0;height:3px;width:0;background:var(--accent);
    transition:width .35s var(--ease);
  }
  .service-card:hover .service-bar{width:100%;}

  /* GALLERY */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    grid-auto-rows:150px;
    gap:12px;
  }
  .gal-item{
    position:relative;
    grid-column:span 2;grid-row:span 2;
    background:var(--off);
    border:1px dashed #c9c6bf;
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .gal-item img{width:100%;height:100%;object-fit:cover;display:none;}
  .gal-item.has-img img{display:block;}
  .gal-item.has-img{border-style:solid;border-color:var(--line);}
  .gal-item.wide{grid-column:span 4;}
  .gal-item.tall{grid-row:span 3;}
  .gal-placeholder{
    text-align:center;color:#a6a49d;font-family:'Oswald',sans-serif;
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:10px;
  }
  .gal-placeholder svg{margin:0 auto 8px;opacity:.7;}
  .gal-item.has-img .gal-placeholder{display:none;}

  /* ABOUT */
  .about-grid{
    display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start;
  }
  .about-copy p{color:var(--grey);font-size:16px;line-height:1.75;margin-bottom:20px;max-width:480px;}
  .about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
  .stat{background:var(--white);padding:32px 26px;}
  .stat .num{font-family:'Oswald',sans-serif;font-size:38px;font-weight:600;color:var(--black);}
  .stat .lbl{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-top:6px;}

  /* LOCATION */
  .location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;border:1px solid var(--line);}
  .loc-info{padding:52px 46px;background:var(--black);color:var(--white);}
  .loc-info .eyebrow{color:#ff5470;}
  .loc-info .eyebrow::before{background:#ff5470;}
  .loc-info h2{color:var(--white);font-size:32px;margin-top:14px;}
  .loc-addr{margin-top:22px;font-size:17px;line-height:1.6;}
  .loc-note{margin-top:20px;color:#b8b6b1;font-size:14.5px;line-height:1.7;}
  .loc-hours{margin-top:28px;padding-top:24px;border-top:1px solid #2b2b2b;}
  .loc-hours .lbl{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8a8884;}
  .loc-hours .val{font-family:'Oswald',sans-serif;font-size:17px;margin-top:6px;}
  .loc-map{min-height:420px;background:#eee;}
  .loc-map iframe{width:100%;height:100%;border:0;display:block;min-height:420px;}

  /* CONTACT */
  .contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;}
  .field{margin-bottom:22px;}
  .field label{
    display:block;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--grey);margin-bottom:8px;
  }
  .field input, .field select, .field textarea{
    width:100%;border:none;border-bottom:1.5px solid var(--black);
    background:transparent;padding:12px 2px;font-family:'Inter',sans-serif;font-size:15.5px;
    outline:none;transition:border-color .2s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--accent);}
  .field textarea{resize:vertical;min-height:100px;}
  .form-note{font-size:13px;color:var(--grey);margin-top:6px;}
  .contact-side{padding:40px;background:var(--off);border:1px solid var(--line);height:fit-content;}
  .contact-side h3{font-size:22px;margin-bottom:22px;}
  .contact-line{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
  .contact-line:last-of-type{border-bottom:none;}
  .contact-line .ic{
    width:38px;height:38px;border-radius:50%;background:var(--black);color:var(--white);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .contact-line a{font-family:'Oswald',sans-serif;font-size:15px;letter-spacing:.03em;}
  .contact-line a:hover{color:var(--accent);}
  .social-row{display:flex;gap:12px;margin-top:24px;}
  .social-btn{
    flex:1;text-align:center;padding:14px 10px;border:1px solid var(--black);
    font-family:'Oswald',sans-serif;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
    transition:all .25s var(--ease);
  }
  .social-btn:hover{background:var(--black);color:var(--white);}

  /* IG STRIP */
  .ig-strip{
    background:var(--black);color:var(--white);text-align:center;padding:70px 24px;
  }
  .ig-strip .eyebrow{color:#ff5470;}
  .ig-strip .eyebrow::before{background:#ff5470;}
  .ig-strip h2{color:var(--white);font-size:clamp(28px,4vw,44px);margin:16px 0 26px;}
  .ig-strip p{color:#b8b6b1;max-width:460px;margin:0 auto 30px;line-height:1.6;}

  /* FOOTER */
  footer{background:var(--white);border-top:1px solid var(--line);padding:60px 0 26px;}
  .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;margin-bottom:46px;}
  .footer-logo img{height:44px;width:auto;margin-bottom:16px;}
  .footer-grid p{color:var(--grey);font-size:14.5px;line-height:1.7;max-width:280px;}
  .footer-col h4{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:16px;}
  .footer-col a, .footer-col span{display:block;font-size:14.5px;margin-bottom:10px;color:var(--black);}
  .footer-col a:hover{color:var(--accent);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    padding-top:26px;border-top:1px solid var(--line);
    font-size:13px;color:var(--grey);
  }
  .footer-social{display:flex;gap:14px;}
  .footer-social a{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .footer-social a:hover{background:var(--black);color:var(--white);border-color:var(--black);}

  .js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  }

  @media (max-width:860px){
    nav.links{display:none;}
    .burger{display:flex;}
    .nav-cta{display:none;}
    .services-grid{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;gap:44px;}
    .location-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;gap:44px;}
    .footer-grid{grid-template-columns:1fr;gap:32px;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}
    .gal-item{grid-column:span 1 !important;grid-row:span 1 !important;}
    .gal-item.wide{grid-column:span 2 !important;}
    section{padding:76px 0;}
    .hero{padding-top:120px;}
  }

  /* Mobile nav drawer */
  .mobile-drawer{
    position:fixed;inset:0;background:var(--white);z-index:200;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
    transform:translateY(-100%);transition:transform .4s var(--ease);
  }
  .mobile-drawer.open{transform:translateY(0);}
  .mobile-drawer a{font-family:'Oswald',sans-serif;font-size:22px;text-transform:uppercase;letter-spacing:.06em;}
  .mobile-drawer .close{position:absolute;top:20px;right:24px;background:none;border:none;font-size:28px;cursor:pointer;}

  /* ICON WATERMARK */
  .icon-watermark{
    position:fixed;
    bottom:-40px;right:-40px;
    width:240px;height:auto;
    opacity:.05;
    z-index:1;
    pointer-events:none;
    transform:rotate(calc(var(--scroll-y, 0) * 0.12deg));
    will-change:transform;
  }
  @media (max-width:860px){
    .icon-watermark{width:150px;bottom:-24px;right:-24px;opacity:.045;}
  }

  /* GALLERY HOVER ZOOM + LIGHTBOX TRIGGER */
  .gal-item.has-img{cursor:pointer;}
  .gal-item{overflow:hidden;}
  .gal-item img{transition:transform .6s var(--ease);}
  .gal-item.has-img:hover img{transform:scale(1.07);}

  /* LIGHTBOX */
  .lightbox{
    position:fixed;inset:0;z-index:300;
    background:rgba(8,8,8,.95);
    display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;
    transition:opacity .35s var(--ease);
  }
  .lightbox.open{opacity:1;pointer-events:auto;}
  .lightbox-img-wrap{
    max-width:88vw;max-height:82vh;
    display:flex;align-items:center;justify-content:center;
    transform:scale(.96);transition:transform .35s var(--ease);
  }
  .lightbox.open .lightbox-img-wrap{transform:scale(1);}
  .lightbox-img-wrap img{max-width:88vw;max-height:82vh;width:auto;height:auto;display:block;object-fit:contain;}
  .lightbox-close{
    position:absolute;top:22px;right:24px;
    width:44px;height:44px;border-radius:50%;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;
    font-size:22px;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s;
  }
  .lightbox-close:hover{background:rgba(255,255,255,.18);}
  .lightbox-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    width:48px;height:48px;border-radius:50%;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;
    font-size:20px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s;
  }
  .lightbox-nav:hover{background:rgba(255,255,255,.18);}
  .lightbox-prev{left:18px;}
  .lightbox-next{right:18px;}
  .lightbox-counter{
    position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
    font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.6);
  }
  @media (max-width:640px){
    .lightbox-nav{width:40px;height:40px;font-size:17px;}
    .lightbox-prev{left:8px;}
    .lightbox-next{right:8px;}
    .lightbox-close{width:38px;height:38px;top:14px;right:14px;font-size:19px;}
  }

  /* DIFFERENCE SECTION */
  .difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
  .diff-block h3{font-size:20px;margin-bottom:8px;font-family:'Oswald',sans-serif;text-transform:uppercase;}
  .diff-block > p{color:var(--grey);font-size:14.5px;line-height:1.6;margin-bottom:18px;}

  /* BEFORE/AFTER SLIDER */
  .ba-slider{
    position:relative;width:100%;aspect-ratio:4/3;
    overflow:hidden;background:#e4e2dc;
    cursor:ew-resize;user-select:none;touch-action:pan-y;
    border:1px solid var(--line);
  }
  .ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
  .ba-slider-before{clip-path:inset(0 calc(100% - var(--pos, 50%)) 0 0);}
  .ba-placeholder-layer{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:8px;color:#a6a49d;
    font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  }
  .ba-handle{
    position:absolute;top:0;bottom:0;left:var(--pos, 50%);width:0;
    transform:translateX(-50%);pointer-events:none;
  }
  .ba-handle-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.15);}
  .ba-handle-grip{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:42px;height:42px;border-radius:50%;background:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 18px rgba(0,0,0,.28);
    font-size:14px;letter-spacing:-2px;color:var(--black);
  }
  .ba-label{
    position:absolute;top:14px;z-index:2;
    font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    background:rgba(10,10,10,.68);color:#fff;padding:6px 12px;pointer-events:none;
  }
  .ba-label-before{left:14px;}
  .ba-label-after{right:14px;}
  .ba-hint{
    margin-top:12px;font-size:12.5px;color:var(--grey);text-align:center;
    font-family:'Oswald',sans-serif;letter-spacing:.06em;
  }

  /* HYDROPHOBIC DEMO */
  .hydro-panel{
    position:relative;width:100%;aspect-ratio:4/3;
    overflow:hidden;background:#0a0a0a;
    border:1px solid var(--line);
  }
  .hydro-video{width:100%;height:100%;object-fit:cover;display:block;}
  @media (max-width:860px){
    .difference-grid{grid-template-columns:1fr;gap:52px;}
  }

  /* SHOWREEL */
  .showreel{
    position:relative;width:100%;height:64vh;min-height:380px;max-height:620px;
    overflow:hidden;background:#0a0a0a;
  }
  .showreel-video{width:100%;height:100%;object-fit:cover;display:block;}
  .showreel::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 22%, rgba(0,0,0,0) 78%, rgba(0,0,0,.45) 100%);
    pointer-events:none;
  }
  .showreel .ba-placeholder-layer{color:#8a8884;}
  @media (max-width:640px){
    .showreel{height:42vh;min-height:300px;}
  }

  /* FAQ */
  .faq-list{max-width:760px;}
  .faq-item{
    border-bottom:1px solid var(--line);
  }
  .faq-item summary{
    list-style:none;cursor:pointer;padding:22px 0;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    font-family:'Oswald',sans-serif;font-size:17px;letter-spacing:.01em;
    -webkit-tap-highlight-color:transparent;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:'+';flex-shrink:0;
    width:28px;height:28px;border-radius:50%;border:1px solid var(--black);
    display:flex;align-items:center;justify-content:center;
    font-size:16px;font-family:'Inter',sans-serif;color:var(--black);
    transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  }
  .faq-item:hover summary::after{background:var(--black);color:var(--white);}
  .faq-item[open] summary::after{transform:rotate(135deg);}
  .faq-item p{color:var(--grey);font-size:15px;line-height:1.7;padding:0 40px 24px 0;}

  /* WHATSAPP FAB */
  .whatsapp-fab{
    position:fixed;bottom:26px;right:26px;z-index:150;
    width:58px;height:58px;border-radius:50%;
    background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 22px rgba(0,0,0,.28);
    transition:transform .25s var(--ease);
    animation:fab-pulse 2.8s ease-in-out infinite;
  }
  .whatsapp-fab:hover{transform:scale(1.08);}
  .whatsapp-fab svg{width:29px;height:29px;}
  @keyframes fab-pulse{
    0%,100%{box-shadow:0 6px 22px rgba(0,0,0,.28), 0 0 0 0 rgba(37,211,102,.45);}
    50%{box-shadow:0 6px 22px rgba(0,0,0,.28), 0 0 0 10px rgba(37,211,102,0);}
  }
  @media (max-width:640px){
    .whatsapp-fab{width:52px;height:52px;bottom:18px;right:18px;}
    .whatsapp-fab svg{width:26px;height:26px;}
  }
  /* --- repositioning additions --- */
  .hero-tag{line-height:1.14;}
  .hero-eyebrow{margin-bottom:20px;}
  .svc-sub{font-family:'Oswald',sans-serif;font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--grey);line-height:1.5;}
  .svc-price{font-family:'Oswald',sans-serif;font-size:21px;font-weight:600;letter-spacing:.02em;color:var(--black);white-space:nowrap;}
  .svc-list{list-style:none;margin:2px 0 0;padding:0;}
  .svc-list li{position:relative;padding-left:15px;font-size:13.8px;line-height:1.8;color:var(--grey);}
  .svc-list li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:1.5px;background:var(--accent);}
  .svc-note{font-size:12.5px;line-height:1.65;color:#93918c;}
  .svc-cta{align-self:flex-start;margin-top:auto;}
  .svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:2px 30px;}
  .svc-colhead{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8a8884;margin-bottom:4px;}
  .service-card.featured{background:var(--black);}
  .service-card.featured:hover{background:#141414;}
  .service-card.featured h3{color:#fff;}
  .service-card.featured p{color:#b8b6b1;}
  .service-card.featured .svc-sub{color:#ff5470;}
  .service-card.featured .svc-price{color:#fff;}
  .service-card.featured .svc-list li{color:#c9c7c2;}
  .service-card.featured .svc-note{color:#8a8884;}
  .service-card.featured .svc-colhead{color:#8a8884;}
  .service-card.featured .btn-primary{background:#fff;color:var(--black);border-color:#fff;}
  .service-card.featured .btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
  .service-card.wide{grid-column:span 2;}
  .price-note{margin-top:28px;font-size:13.5px;line-height:1.75;color:var(--grey);max-width:780px;}
  .loc-details{background:var(--white);padding:44px 42px;display:flex;flex-direction:column;justify-content:center;}
  .loc-item{padding:17px 0;border-bottom:1px solid var(--line);}
  .loc-item:last-child{border-bottom:none;}
  .loc-item .lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);}
  .loc-item .val{font-size:15.5px;line-height:1.65;color:var(--black);margin-top:5px;}
  @media (max-width:860px){
    .service-card.wide{grid-column:span 1;}
    .svc-cols{grid-template-columns:1fr;gap:16px;}
    .loc-details{padding:32px 24px;}
  }
  @media (max-width:640px){
    .svc-cta{font-size:12px;padding:13px 22px;letter-spacing:.06em;}
    .service-card{padding:36px 26px;}
  }
  .addon-head{margin:66px 0 32px;}
  .addon-head h3{font-size:clamp(23px,3vw,31px);margin-top:12px;}
  .plan-toggle{display:inline-flex;align-self:flex-start;border:1px solid var(--line);margin-top:4px;}
  .service-card.featured .plan-toggle{border-color:#333;}
  .plan-opt{font-family:'Oswald',sans-serif;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
    padding:9px 15px;background:transparent;border:none;cursor:pointer;color:var(--grey);transition:background .2s,color .2s;}
  .plan-opt:hover{color:var(--black);}
  .plan-opt.is-active{background:var(--black);color:#fff;}
  .plan-opt.is-active:hover{color:#fff;}
  .extra-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
    padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--black);}
  .extra-row:last-of-type{border-bottom:none;}
  .extra-poa{font-family:'Oswald',sans-serif;font-size:11.5px;letter-spacing:.13em;color:var(--accent);}
  .size-table{margin-top:6px;border-top:1px solid var(--line);}
  .service-card.featured .size-table{border-top-color:#2e2e2e;}
  .size-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;
    padding:10px 0;border-bottom:1px solid var(--line);}
  .service-card.featured .size-row{border-bottom-color:#2e2e2e;}
  .size-name{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--grey);}
  .service-card.featured .size-name{color:#9b9994;}
  .size-price{font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:var(--black);}
  .service-card.featured .size-price{color:#fff;}
  .size-btn{font-family:'Oswald',sans-serif;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
    padding:8px 13px;border:1px solid var(--black);background:transparent;color:var(--black);
    cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;}
  .size-btn:hover{background:var(--black);color:#fff;}
  .service-card.featured .size-btn{border-color:#5a5a5a;color:#e6e4e0;}
  .service-card.featured .size-btn:hover{background:#fff;border-color:#fff;color:var(--black);}
  @media (max-width:640px){
    .size-row{grid-template-columns:1fr auto;gap:8px 12px;}
    .size-btn{grid-column:1 / -1;justify-self:start;margin-top:2px;}
  }
  .founder{margin-top:60px;padding-top:50px;border-top:1px solid var(--line);max-width:790px;}
  .founder h3{font-size:clamp(22px,2.7vw,30px);margin-top:12px;}
  .founder p{color:var(--grey);font-size:16px;line-height:1.75;margin-top:20px;}
  .addon-line{margin-top:26px;font-family:'Oswald',sans-serif;font-size:13.5px;letter-spacing:.06em;
    text-transform:uppercase;color:var(--black);display:flex;align-items:center;gap:12px;}
  .addon-line::before{content:'';width:24px;height:2px;background:var(--accent);display:inline-block;transform:skewX(-18deg);}
  .size-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .sg-item{background:var(--white);padding:26px 24px;}
  .sg-label{font-family:'Oswald',sans-serif;font-size:15px;letter-spacing:.13em;text-transform:uppercase;color:var(--black);}
  .sg-cat{font-size:13.5px;color:var(--grey);margin-top:9px;line-height:1.6;}
  .sg-eg{font-size:12.5px;color:#93918c;margin-top:7px;line-height:1.55;}
  .call-fab{position:fixed;bottom:96px;right:26px;z-index:150;width:58px;height:58px;border-radius:50%;
    background:var(--black);display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 22px rgba(0,0,0,.28);transition:transform .25s var(--ease),background .25s;}
  .call-fab:hover{transform:scale(1.08);background:var(--accent);}
  .call-fab svg{width:25px;height:25px;}
  .terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;max-width:980px;}
  .term-item{padding:22px 0;border-bottom:1px solid var(--line);}
  .term-item h3{font-size:16px;letter-spacing:.02em;}
  .term-item p{color:var(--grey);font-size:14.5px;line-height:1.75;margin-top:9px;}
  @media (max-width:860px){
    .size-guide{grid-template-columns:repeat(2,1fr);}
    .terms-grid{grid-template-columns:1fr;gap:0;}
  }
  @media (max-width:640px){
    .call-fab{width:52px;height:52px;bottom:80px;right:18px;}
    .call-fab svg{width:22px;height:22px;}
    .size-guide{grid-template-columns:1fr;}
  }
  .area-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
  .area-links a{font-family:'Oswald',sans-serif;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
    padding:10px 16px;border:1px solid var(--line);color:var(--black);background:var(--white);
    transition:background .2s,color .2s,border-color .2s;}
  .area-links a:hover{background:var(--black);color:#fff;border-color:var(--black);}
