:root {
      --navy:#071624; --navy-2:#0b2336; --navy-3:#102c42;
      --accent:#64b5db; --accent-dark:#17688d; --focus:#2682b0;
      --ink:#132538; --muted:#647587; --cream:#f6f8f9; --line:#dce3e9;
      --white:#fff; --max:1216px;
      --body-font:Inter,"Segoe UI",Arial,Helvetica,sans-serif;
      --heading-font:"Arial Narrow","Roboto Condensed","Liberation Sans Narrow",Impact,"Arial Black",sans-serif;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:90px}
    body{margin:0;font:16px/1.65 var(--body-font);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    button,a{-webkit-tap-highlight-color:transparent}
    img{max-width:100%;display:block}
    svg{width:1em;height:1em;vertical-align:middle}
    ::selection{background:var(--accent);color:var(--navy)}
    :focus-visible{outline:3px solid var(--focus);outline-offset:4px}
    .container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
    .eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:850;letter-spacing:.21em;text-transform:uppercase}
    .eyebrow::before{content:"";display:inline-block;width:27px;height:3px;background:var(--accent)}
    .section-title{font-family:var(--heading-font);text-transform:uppercase;letter-spacing:-.025em;line-height:1.09;font-size:clamp(36px,4.3vw,59px);font-weight:900;margin:16px 0 18px}
    .section-lead{max-width:650px;font-size:17px;color:var(--muted);line-height:1.8;margin:0}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:11px;padding:16px 25px;min-height:54px;border:1px solid transparent;border-radius:5px;font-weight:850;font-size:14px;text-transform:uppercase;letter-spacing:.055em;transition:background .2s,transform .2s,border-color .2s,box-shadow .2s;cursor:pointer}
    .btn svg{font-size:19px;flex:none}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:var(--accent);color:#081725;box-shadow:0 12px 26px #64b5db1f}
    .btn-primary:hover{background:#88cbe8;box-shadow:0 14px 32px #64b5db2a}
    .btn-ghost{color:#fff;background:#ffffff12;border-color:#ffffff50}
    .btn-ghost:hover{background:#fff2;border-color:#fff}
    .btn-outline{color:var(--ink);border-color:#b2c1cc;background:transparent}
    .btn-outline:hover{border-color:var(--accent)}
    .topline{background:#03111e;border-bottom:1px solid #ffffff18;color:#bed0da;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
    .topline .container{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px}
    .topline .dot{height:7px;width:7px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:9px;box-shadow:0 0 0 4px #64b5db22}
    .topline a{color:#f4f7fa;display:inline-flex;gap:7px;align-items:center;letter-spacing:.09em}
    .topline a:hover{color:var(--accent)}
    .site-header{background:var(--navy);border-bottom:1px solid #ffffff20;position:sticky;top:0;z-index:30;color:white}
    .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:89px}
    .brand{display:inline-flex;align-items:center;gap:11px;min-width:240px}
    .brand-mark{height:46px;width:46px;display:grid;place-items:center;flex:none;border:2px solid var(--accent);position:relative;transform:skew(-8deg)}
    .brand-mark::before{content:"";width:22px;height:20px;border-left:5px solid white;border-bottom:5px solid white;position:absolute;top:8px;left:11px;transform:rotate(-45deg)}
    .brand-mark::after{content:"";height:5px;width:13px;background:var(--accent);position:absolute;bottom:7px;right:-6px}
    .brand-name{line-height:1.15;font-family:var(--heading-font);font-weight:900;letter-spacing:.065em;text-transform:uppercase;font-size:18px}
    .brand-name span{display:block;color:var(--accent);font-size:14px;letter-spacing:.15em;margin-top:3px}
    .main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
    .main-nav>a{font-size:13px;text-transform:uppercase;font-weight:800;letter-spacing:.04em;color:#c9d4dc;transition:color .2s}
    .main-nav>a:hover{color:var(--accent)}
    .header-call{display:inline-flex;gap:9px;align-items:center;background:var(--accent);border-radius:4px;padding:13px 17px;color:#051320;font-size:13px;font-weight:900;white-space:nowrap}
    .header-call svg{font-size:17px}
    .header-call:hover{background:#88cbe8}
    .menu-toggle{display:none;border:1px solid #ffffff42;background:transparent;color:#fff;border-radius:4px;width:44px;height:44px;place-items:center;cursor:pointer;font-size:22px}
    /* HERO */
    .hero{position:relative;background:radial-gradient(ellipse at 19% 56%,#17334a 0%,var(--navy) 58%);color:#fff;overflow:hidden;isolation:isolate}
    .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071624 0%,#071624 38%,#071624aa 56%,transparent 89%),linear-gradient(0deg,#071624b0 0%,transparent 40%);z-index:-1}
    .hero::after{content:"";position:absolute;width:500px;height:500px;left:-280px;bottom:-300px;border:1px solid #ffffff13;border-radius:50%;box-shadow:0 0 0 90px #ffffff05,0 0 0 180px #ffffff03;z-index:-1}
    .hero-photo{position:absolute;z-index:-2;inset:0 0 0 auto;width:57%;height:100%;object-fit:cover;object-position:54% center;filter:saturate(.86) contrast(1.08)}
    .hero-inner{min-height:654px;display:flex;align-items:center;position:relative;padding-top:73px;padding-bottom:78px}
    .hero-content{max-width:750px;position:relative;z-index:1}
    .hero-eyebrow{color:#8dcde8;margin-bottom:22px}
    .hero h1{font-family:var(--heading-font);text-transform:uppercase;font-weight:950;line-height:1.025;letter-spacing:-.02em;font-size:clamp(54px,6vw,86px);margin:0 0 25px;text-shadow:0 3px 25px #0003}
    .hero h1 .little{display:block;font-size:.39em;letter-spacing:.17em;line-height:1.6;color:#fff;margin-bottom:3px}
    .hero h1 .accent{display:block;color:var(--accent)}
    .hero h1 .white{display:block;color:#fff}
    .hero-strap{font-size:15px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:15px;margin-bottom:19px;color:#e5edf2}
    .hero-strap span{color:var(--accent);font-weight:400}
    .hero-description{max-width:535px;font-size:19px;line-height:1.75;color:#ccd8e2;margin:0 0 33px}
    .hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
    .hero-footnote{margin-top:31px;display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:13px;color:#d1dce3;font-weight:750}
    .hero-footnote b{display:inline-flex;align-items:center;gap:8px;font-weight:750}
    .hero-footnote b::before{content:"✓";color:var(--accent);font-weight:900;font-size:17px}
    .hero-footnote i{height:17px;width:1px;background:#ffffff4c}
    .hero-stamp{position:absolute;right:5px;bottom:35px;display:flex;gap:10px;align-items:center;background:#091c2bdf;backdrop-filter:blur(12px);border:1px solid #ffffff4b;border-left:4px solid var(--accent);padding:14px 18px;box-shadow:0 17px 43px #0004}
    .hero-stamp svg{color:var(--accent);font-size:30px}
    .hero-stamp div{line-height:1.35}
    .hero-stamp strong{display:block;font-family:var(--heading-font);font-size:17px;letter-spacing:.04em;text-transform:uppercase}
    .hero-stamp small{font-size:11px;color:#c0ced7;letter-spacing:.04em}
    /* STRIP */
    .cap-strip{background:#10283b;color:#dce6ed;position:relative;z-index:1}
    .cap-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
    .cap-item{display:flex;align-items:center;gap:13px;padding:20px 23px;border-right:1px solid #ffffff24;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.095em}
    .cap-item:first-child{border-left:1px solid #ffffff24}
    .cap-item svg{flex:none;color:var(--accent);font-size:23px}
    /* SERVICES */
    .services{padding:112px 0 118px;background:#f5f7f9}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
    .section-head .section-title{max-width:780px;margin-bottom:0}
    .section-head p{max-width:350px;color:var(--muted);margin:0 0 3px}
    .services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
    .service-card{position:relative;padding:33px 30px 30px;min-height:266px;overflow:hidden;border:1px solid #dfe6eb;background:#fff;box-shadow:0 7px 24px #11283a06;transition:transform .22s,box-shadow .22s,border-color .22s}
    .service-card:hover{transform:translateY(-5px);box-shadow:0 20px 35px #11283a12;border-color:#a7d6eb}
    .service-card::before{content:"";position:absolute;top:0;left:0;height:4px;width:0;background:var(--accent);transition:width .23s}
    .service-card:hover::before{width:100%}
    .service-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:26px}
    .service-icon{display:grid;place-items:center;background:#eaf5fa;color:var(--accent-dark);border-radius:11px;width:54px;height:54px;font-size:27px}
    .service-number{font-family:var(--heading-font);font-size:17px;color:#d0d8df;font-weight:900}
    .service-card h3{font:900 22px/1.15 var(--heading-font);text-transform:uppercase;letter-spacing:.01em;margin:0 0 12px;color:#0c2335}
    .service-card p{font-size:14px;color:#66788a;margin:0;line-height:1.8}
    .service-footer{margin-top:28px;display:flex;gap:13px;align-items:center;justify-content:center;color:#51687b;font-size:14px;text-align:center}
    .service-footer svg{color:var(--accent);font-size:19px}
    /* WORKSHOP */
    .workshop{background:linear-gradient(112deg,#081b2a 0%,#13334b 100%);color:#fff;position:relative;overflow:hidden}
    .workshop::before{content:"";position:absolute;right:-100px;top:-240px;width:650px;height:650px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 90px #ffffff05,0 0 0 180px #ffffff04,0 0 0 270px #ffffff04}
    .workshop-inner{display:grid;grid-template-columns:1.07fr .93fr;min-height:385px;align-items:center;gap:85px;padding-top:80px;padding-bottom:80px;position:relative}
    .workshop .eyebrow{color:#98d3eb}
    .workshop .section-title{max-width:560px;margin-bottom:24px}
    .workshop .section-title span{color:var(--accent)}
    .workshop p{color:#bdccd6;max-width:535px;font-size:16px;margin:0 0 24px}
    .workshop-list{background:#0b2234a6;border:1px solid #ffffff23;padding:25px 30px 25px 31px}
    .workshop-list h3{font:900 22px var(--heading-font);text-transform:uppercase;letter-spacing:.07em;margin:0 0 17px}
    .workshop-list ul{padding:0;margin:0;list-style:none}
    .workshop-list li{display:flex;gap:13px;padding:12px 0;border-top:1px solid #ffffff1d;color:#d9e4eb;font-size:14px}
    .workshop-list li svg{color:var(--accent);font-size:20px;flex:none;margin-top:2px}
    /* TYPES */
    .work-types{padding:106px 0 108px;background:#fff}
    .work-types .section-head{margin-bottom:39px}
    .type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
    .type-card{position:relative;overflow:hidden;background:var(--navy);aspect-ratio: .88}
    .type-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform .3s;filter:contrast(1.05) saturate(.78)}
    .type-card:hover img{transform:scale(1.07)}
    .type-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#051522f2 0%,#05152212 59%)}
    .type-label{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:31px 22px 23px;border-bottom:4px solid var(--accent)}
    .type-label span{font-size:10px;color:#b4e0f1;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
    .type-label h3{color:#fff;font:900 24px/1.15 var(--heading-font);letter-spacing:.03em;text-transform:uppercase;margin:5px 0 0}
    .work-note{font-size:12px;color:#8c9aa7;margin-top:16px}
    /* ABOUT */
    .about{background:#edf2f5;padding:95px 0}
    .about-inner{display:grid;grid-template-columns:.6fr 1.4fr;gap:75px;align-items:center}
    .owner-panel{background:var(--navy);padding:36px 35px;color:#fff;border-top:5px solid var(--accent)}
    .owner-symbol{display:grid;place-items:center;width:67px;height:67px;border:1px solid #ffffff45;color:var(--accent);font-size:35px;margin-bottom:28px}
    .owner-panel .tiny{color:#8dcde8;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
    .owner-panel h3{font:900 35px/1.13 var(--heading-font);text-transform:uppercase;margin:7px 0 13px}
    .owner-panel p{font-size:13px;color:#b2c6d2;margin:0}
    .about-copy p{max-width:640px;color:#5d6f80;font-size:17px;line-height:1.85;margin:0 0 24px}
    .about-meta{display:flex;gap:24px;flex-wrap:wrap}
    .about-meta span{display:inline-flex;gap:8px;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:850;color:var(--ink)}
    .about-meta svg{color:var(--accent);font-size:21px}
    /* FAQ */
    .faq{padding:91px 0;background:white}
    .faq-inner{display:grid;grid-template-columns:.77fr 1.23fr;gap:100px}
    .faq h2{margin-bottom:17px}
    .faq-intro{font-size:16px;color:var(--muted)}
    .faq-items{border-top:1px solid var(--line)}
    .faq-items details{border-bottom:1px solid var(--line);padding:0 2px}
    .faq-items summary{padding:21px 34px 21px 0;font-size:16px;font-weight:850;cursor:pointer;list-style:none;position:relative;line-height:1.35}
    .faq-items summary::-webkit-details-marker{display:none}
    .faq-items summary::after{content:"+";position:absolute;right:0;top:17px;font-size:25px;font-weight:350;color:var(--accent)}
    .faq-items details[open] summary::after{content:"–"}
    .faq-items p{font-size:14px;color:#66788a;margin:0 25px 21px 0;line-height:1.8}
    /* CONTACT */
    .contact{position:relative;background:linear-gradient(120deg,#071624,#0e3047);color:white;overflow:hidden}
    .contact::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--accent),#a2d9ee 37%,transparent 80%)}
    .contact-inner{padding:105px 0 112px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;position:relative}
    .contact .eyebrow{color:#8dcde8}
    .contact h2{font-size:clamp(40px,4.6vw,63px);margin-bottom:22px}
    .contact h2 span{color:var(--accent)}
    .contact-lead{max-width:540px;color:#bed0db;font-size:17px;line-height:1.85;margin-bottom:35px}
    .contact-method{display:flex;gap:18px;align-items:center;padding:18px 0;border-top:1px solid #ffffff2a;max-width:440px}
    .contact-method:last-child{border-bottom:1px solid #ffffff2a}
    .method-icon{display:grid;place-items:center;width:48px;height:48px;background:#64b5db25;border:1px solid #64b5db55;color:#98d3eb;font-size:23px;flex:none}
    .contact-method small{display:block;color:#9caebd;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}
    .contact-method a,.contact-method span.big{display:block;color:#fff;font-size:20px;font-weight:850;overflow-wrap:anywhere;line-height:1.3}
    .contact-method a:hover{color:#98d3eb}
    .form-panel{background:#fff;color:var(--ink);padding:35px 38px 37px;box-shadow:0 22px 55px #0003;border-top:4px solid var(--accent)}
    .form-panel h3{font:900 31px/1.15 var(--heading-font);text-transform:uppercase;margin:0 0 4px}
    .form-panel .form-intro{margin:0 0 22px;font-size:13px;color:#607386}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .field{display:flex;flex-direction:column;gap:6px;margin:0 0 15px}
    .field label{font-size:12px;text-transform:uppercase;font-weight:850;letter-spacing:.04em;color:#304c60}
    .field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #ccd7df;border-radius:2px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;font-size:14px}
    .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px #64b5db20}
    .field textarea{resize:vertical;min-height:96px}
    .form-panel .btn{width:100%}
    .form-help{font-size:12px;color:#667687;margin:13px 0 0;line-height:1.65}
    /* FOOTER */
    .site-footer{background:#03111d;color:#9eacb8}
    .footer-top{display:flex;justify-content:space-between;gap:40px;padding:39px 0 30px;align-items:start}
    .footer-top .brand{color:#fff}
    .footer-links{display:flex;gap:25px;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.06em;margin-top:13px}
    .footer-links a:hover{color:var(--accent)}
    .footer-bottom{border-top:1px solid #ffffff1b;padding:19px 0 23px;display:flex;justify-content:space-between;gap:20px;font-size:12px;flex-wrap:wrap}
    .mobile-call{display:none}
    @media(max-width:1060px){
      .main-nav{gap:17px}.main-nav>a{font-size:11px}.header-inner{gap:14px}.brand{min-width:225px}
      .hero h1{font-size:clamp(55px,6.7vw,73px)}.hero-content{max-width:670px}.hero-description{max-width:490px}
      .workshop-inner{gap:40px}.faq-inner{gap:50px}.about-inner{gap:43px}.contact-inner{gap:50px}
      .cap-item{font-size:10px;padding-inline:16px}
    }
    @media(max-width:810px){
      .container{width:min(calc(100% - 40px),var(--max))}
      .topline{display:none}.site-header .header-inner{min-height:74px}
      .brand{min-width:0}.brand-mark{width:40px;height:40px}.brand-mark::before{transform:rotate(-45deg) scale(.85);left:8px;top:6px}
      .brand-name{font-size:16px}.brand-name span{font-size:12px}
      .menu-toggle{display:grid;margin-left:auto}
      .header-call{padding:12px 13px}
      .main-nav{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;background:#091b2b;padding:14px 20px 23px;border-bottom:2px solid var(--accent);gap:0;box-shadow:0 18px 30px #0003}
      .main-nav.open{display:flex}.main-nav>a{padding:13px 0;font-size:14px;border-bottom:1px solid #ffffff18}
      .hero-inner{min-height:670px;padding-top:78px;padding-bottom:88px}
      .hero-photo{width:76%;opacity:.58;object-position:55% center}
      .hero::before{background:linear-gradient(90deg,#071624 0%,#071624f5 22%,#071624aa 67%,#07162455 100%),linear-gradient(0deg,#071624a0 0%,transparent 50%)}
      .hero-stamp{display:none}.hero-content{max-width:710px}.hero h1{font-size:clamp(52px,8.6vw,73px)}
      .cap-inner{grid-template-columns:repeat(2,1fr)}.cap-item:nth-child(1),.cap-item:nth-child(2){border-bottom:1px solid #ffffff24}.cap-item:nth-child(3){border-left:1px solid #ffffff24}
      .services-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column;gap:14px}
      .section-head p{max-width:570px}.workshop-inner,.about-inner,.faq-inner,.contact-inner{grid-template-columns:1fr}
      .workshop-inner{gap:28px;padding-block:72px}.workshop-list{max-width:580px}
      .type-grid{grid-template-columns:repeat(2,1fr)}.type-card{aspect-ratio:1.1}
      .about-inner{gap:35px}.owner-panel{max-width:480px}
      .faq-inner{gap:23px}.contact-inner{gap:30px}.form-panel{max-width:650px}
    }
    @media(max-width:530px){
      html{scroll-padding-top:73px}.container{width:min(calc(100% - 34px),var(--max))}
      .site-header .header-inner{min-height:70px}.main-nav{top:70px}
      .brand{gap:8px}.brand-mark{width:36px;height:36px}.brand-name{font-size:14px}.brand-name span{font-size:10px;letter-spacing:.135em}
      .header-call{display:none}.menu-toggle{width:42px;height:42px}
      .hero-inner{min-height:665px;align-items:start;padding-top:72px;padding-bottom:52px}
      .hero-photo{width:100%;object-position:57% center;opacity:.42}
      .hero::before{background:linear-gradient(90deg,#071624d8 0%,#0716249c 100%),linear-gradient(0deg,#071624ed 0%,transparent 70%)}
      .hero h1{font-size:clamp(40px,11.8vw,61px);letter-spacing:-.035em;margin-bottom:24px}
      .hero h1 .little{font-size:.42em}
      .hero-eyebrow{font-size:10px;gap:8px;margin-bottom:22px;letter-spacing:.145em}
      .hero-eyebrow::before{width:17px}
      .hero-strap{font-size:10px;letter-spacing:.13em;gap:10px;margin-bottom:16px}
      .hero-description{font-size:16px;line-height:1.78;margin-bottom:28px}
      .hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}
      .hero-footnote{font-size:12px;margin-top:26px;gap:8px 14px}.hero-footnote i{display:none}
      .cap-item{padding:14px 9px;font-size:9px;gap:8px;letter-spacing:.04em}.cap-item svg{font-size:19px}
      .services,.work-types{padding:72px 0}.section-title{font-size:clamp(35px,10.2vw,49px)}
      .section-lead{font-size:15px}.section-head{margin-bottom:27px}
      .services-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:0;padding:25px 23px}
      .service-top{margin-bottom:15px}.service-card h3{font-size:21px}.service-card p{font-size:14px}
      .service-footer{align-items:start;text-align:left;justify-content:start;font-size:12px}
      .workshop-inner{padding-block:70px}.workshop-list{padding:22px}.workshop p{font-size:15px}
      .type-grid{gap:10px}.type-card{aspect-ratio:.8}.type-label{padding:19px 12px 14px}.type-label h3{font-size:19px}
      .about{padding:70px 0}.owner-panel{padding:26px}.about-copy p{font-size:15px}
      .faq{padding:70px 0}.faq-items summary{font-size:14px}
      .contact-inner{padding:78px 0 86px}.contact h2{font-size:43px}.contact-lead{font-size:15px}
      .contact-method a,.contact-method span.big{font-size:16px}
      .form-panel{padding:25px 21px}.form-grid{grid-template-columns:1fr;gap:0}
      .footer-top{flex-direction:column;gap:20px}.footer-links{margin:0;flex-wrap:wrap;gap:12px 20px}
      .footer-bottom{padding-bottom:85px}
      .mobile-call{display:flex;position:fixed;z-index:40;left:12px;right:12px;bottom:10px;align-items:center;justify-content:center;gap:13px;min-height:53px;background:var(--accent);color:#061422;font-weight:900;font-size:14px;letter-spacing:.05em;text-transform:uppercase;border:1px solid #b4e0f1;border-radius:6px;box-shadow:0 5px 23px #0005}
      .mobile-call svg{font-size:20px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Navigation, forms and small-screen refinements. */
.skip-link{position:fixed;top:10px;left:10px;z-index:100;transform:translateY(-160%);padding:12px 18px;background:#fff;color:var(--ink);font-weight:800;border:3px solid var(--accent)}
.skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
.enquiry-draft[hidden]{display:none}
.enquiry-draft{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.enquiry-draft h4{font:900 24px/1.2 var(--heading-font);text-transform:uppercase;margin:0 0 12px}
.enquiry-draft>p{font-size:14px;color:#526779;line-height:1.65}
.enquiry-draft label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}
.enquiry-draft textarea{width:100%;padding:12px;border:1px solid #ccd7df;resize:vertical;font:14px/1.6 var(--body-font);color:var(--ink);background:#f6f8f9}
.enquiry-draft .btn{margin-top:12px}
.form-help a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:530px){
  .field input,.field select,.field textarea{font-size:16px}
  .mobile-call{bottom:max(10px,env(safe-area-inset-bottom))}
  .footer-bottom{padding-bottom:calc(85px + env(safe-area-inset-bottom))}
  .hero h1{font-size:clamp(32px,10.6vw,56px)}
}
@media(max-width:360px){
  .header-inner{gap:8px}
  .brand-name{font-size:12px}
  .brand-name span{font-size:9px}
  .brand-mark{width:32px;height:32px}
  .hero-eyebrow{font-size:9px;letter-spacing:.08em}
  .contact h2{font-size:38px}
}
.about-inner>*{min-width:0}
@media(max-width:530px){
  .owner-panel h3{font-size:clamp(27px,8vw,35px)}
  .hero h1 .white{font-size:.84em;white-space:nowrap}
}
@media(max-width:530px){
  .site-header .brand{min-width:0;flex:1}
  .site-header .brand-name{font-size:clamp(10px,3.1vw,14px)}
  .site-header .brand-name span{font-size:.74em}
  .menu-toggle{flex:none}
}

/* Selected full-colour business logo. */
.site-header{background:#fff;color:var(--navy);border-bottom:1px solid var(--line)}
.site-header .header-inner{min-height:104px;padding-block:10px}
.brand{display:block;min-width:0;width:300px;flex:0 1 300px}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:3.8;object-fit:cover;object-position:center}
.main-nav>a{color:#334b5d}
.main-nav>a:hover{color:var(--accent-dark)}
.menu-toggle{color:var(--navy);border-color:#b8cad6}
.site-footer{background:#fff;color:#526779;border-top:1px solid var(--line)}
.footer-top{align-items:center}
.footer-links{margin-top:0}
.footer-links a:hover{color:var(--accent-dark)}
.footer-bottom{border-top-color:var(--line)}
@media(max-width:1060px){.brand{width:260px;flex-basis:260px}.site-header .header-inner{gap:16px}}
@media(max-width:810px){
  html{scroll-padding-top:92px}
  .site-header .header-inner{min-height:88px}
  .site-header .main-nav{top:100%;background:#fff;border-bottom-color:var(--accent)}
  .main-nav>a{border-bottom-color:var(--line)}
  .site-header .brand{flex:0 1 260px}
  .footer-top .brand{flex:none}
}
@media(max-width:530px){
  html{scroll-padding-top:88px}
  .site-header .header-inner{min-height:84px;gap:12px}
  .site-header .brand{width:230px;max-width:calc(100% - 54px);flex:0 1 230px}
  .brand-logo{aspect-ratio:3.8}
  .footer-top .brand{width:280px;max-width:100%;flex:none}
  .menu-toggle{margin-left:auto}
}
@media(min-width:811px){html{scroll-padding-top:112px}}
