
:root{
  --paper:#f2f0ea;
  --paper2:#e7e3da;
  --ink:#101514;
  --muted:#656b67;
  --line:#cbc8bf;
  --green:#163b32;
  --green2:#0d211c;
  --white:#fff;
  --accent:#c8d5cf;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit}
.shell{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(242,240,234,.95);border-bottom:1px solid rgba(16,21,20,.12);backdrop-filter:blur(14px)}
.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{text-decoration:none;display:inline-flex;align-items:baseline;gap:9px;letter-spacing:.08em}
.brand-main{font-weight:800;font-size:21px}
.brand-sub{font-family:Georgia,serif;font-style:italic;font-size:17px;color:#547166}
.desktop-nav{display:flex;gap:28px;margin-left:auto}
.desktop-nav a{text-decoration:none;font-size:13px;font-weight:700}
.desktop-nav a:hover{opacity:.55}
.langs{display:flex;border:1px solid var(--line)}
.lang{border:0;background:transparent;padding:8px 9px;cursor:pointer;font-weight:700;font-size:11px}
.lang.active{background:var(--ink);color:#fff}
.hero{min-height:calc(100vh - 74px);position:relative;display:flex;align-items:end;color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.02)}
.hero-tesla{background-image:url('assets/tesla-supercharger.jpg')}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,7,.88) 0%,rgba(4,8,7,.64) 45%,rgba(4,8,7,.18) 78%,rgba(4,8,7,.28) 100%)}
.hero-content{position:relative;z-index:2;padding:110px 0 64px;display:grid;grid-template-columns:1.5fr .65fr;gap:90px;align-items:end}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;margin:0 0 18px;color:#d5ddd9}
.eyebrow.dark{color:#62716b}
h1,h2,h3{margin:0}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
h1{font-size:clamp(52px,7vw,94px);line-height:.96;max-width:900px}
h2{font-size:clamp(38px,5vw,66px);line-height:1.02}
.hero-lead{font-size:20px;max-width:680px;color:#e2e8e5;margin:28px 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:14px 18px;border:1px solid transparent;font-weight:800;font-size:13px;cursor:pointer}
.btn-light{background:#fff;color:#111}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(0,0,0,.05)}
.btn-dark{background:var(--ink);color:#fff}
.hero-facts{border-top:1px solid rgba(255,255,255,.6)}
.hero-facts>div{display:grid;grid-template-columns:30px 1fr;gap:4px 12px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.25)}
.hero-facts span{grid-row:1/3;font-size:10px;color:#cfd7d3}
.hero-facts b{font-size:15px}
.hero-facts small{color:#d6dedb}
.section{padding:100px 0}
.two-col{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px}
.body-copy{font-size:18px;color:#464d49}
.body-copy p{margin:0 0 22px}
.quote{font-family:Georgia,serif;font-size:24px;line-height:1.35;color:var(--green);padding-top:18px;border-top:1px solid var(--line)}
.split-showcase{display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;border-top:1px solid var(--line)}
.split-showcase.reverse{grid-template-columns:.95fr 1.05fr}
.photo-panel{background-size:cover;background-position:center;min-height:650px}
.tesla-panel{background-image:url('assets/tesla-supercharger.jpg');background-position:35% center}
.boat-panel{background-image:url('assets/bayliner-norway.jpg')}
.content-panel{padding:90px clamp(30px,6vw,95px);background:#f8f6f1;display:flex;flex-direction:column;justify-content:center}
.content-panel>p{font-size:17px;color:#4f5652}
.info-card{background:var(--green);color:#fff;padding:24px;margin:18px 0 22px}
.info-card b{font-family:Georgia,serif;font-size:23px;font-weight:400}
.info-card p{margin:10px 0 0;color:#dce7e2;font-size:14px}
.checklist{list-style:none;padding:0;margin:25px 0 0;border-top:1px solid var(--line)}
.checklist li{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.checklist li:before{content:"↗";margin-right:10px;color:#4d7769}
.process-section{background:var(--paper2)}
.section-heading{display:grid;grid-template-columns:1.1fr .7fr;gap:70px;align-items:end;margin-bottom:50px}
.section-heading>p{font-size:17px;color:#58615c}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.steps article{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:210px}
.steps article span{font-size:10px;color:#6c746f}
.steps h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:28px 0 10px}
.steps p{font-size:14px;color:#5d645f;margin:0}
.about{background:#f7f4ed}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.about-visual{position:relative}
.about-visual img{width:100%;aspect-ratio:4/5;object-fit:cover}
.visual-badge{position:absolute;right:-25px;bottom:30px;background:var(--green2);color:#fff;padding:20px 22px;max-width:280px}
.visual-badge b,.visual-badge span{display:block}
.visual-badge span{font-size:12px;color:#c6d5cf;margin-top:4px}
.about-copy p{font-size:17px;color:#505753}
.signature{font-family:Georgia,serif!important;font-style:italic;font-size:28px!important;color:var(--green)!important;margin-top:34px}
.location-strip{background:var(--green);color:#fff;padding:70px 0}
.location-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:80px;align-items:end}
.location-grid>p{font-size:18px;color:#d1ded9}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.contact-lead{font-size:18px;color:#59615c;max-width:550px}
.company-card{margin-top:34px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:5px;font-size:14px}
.company-card a{margin-top:8px;font-weight:800}
.contact-form{background:#fff;border:1px solid var(--line);padding:28px}
.contact-form label{display:block;font-size:12px;font-weight:800;margin-bottom:16px}
.contact-form label span{display:block;margin-bottom:7px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid #c9c6bd;background:#faf9f6;padding:12px;font:inherit}
.contact-form small{display:block;margin-top:12px;color:#757b77}
.faq{padding-top:0}
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}
details{border-top:1px solid var(--line);padding:18px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:800}
details p{color:#59605c;max-width:750px}
.footer{background:#0e1715;color:#d8e0dc;padding:58px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:60px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-grid a{text-decoration:none;color:#c4ceca;font-size:13px}
.footer-grid b{font-size:12px;margin-bottom:8px}
.footer-brand .brand-main{color:#fff}
.footer-brand .brand-sub{color:#a9beb5}
.footer-bottom{border-top:1px solid #33413d;margin-top:44px;padding-top:18px;font-size:11px;color:#83908b}
.legal{padding:90px 0;max-width:900px}
.legal h1{font-size:54px;color:var(--ink);margin-bottom:30px}
.legal h2{font-size:28px;margin-top:34px}
.legal p,.legal li{color:#505753}
.legal a{font-weight:700}

@media(max-width:980px){
  .desktop-nav{display:none}
  .hero-content,.two-col,.section-heading,.about-grid,.location-grid,.contact-grid,.faq-grid{grid-template-columns:1fr}
  .hero-content{gap:45px}
  .split-showcase,.split-showcase.reverse{grid-template-columns:1fr}
  .reverse .photo-panel{order:-1}
  .steps{grid-template-columns:repeat(2,1fr)}
  .visual-badge{right:20px}
}
@media(max-width:620px){
  .shell{width:min(100% - 24px,var(--max))}
  .nav-wrap{height:66px}
  .brand-main{font-size:18px}
  .hero{min-height:820px}
  .hero-content{padding-top:90px}
  h1{font-size:52px}
  h2{font-size:40px}
  .section{padding:72px 0}
  .steps{grid-template-columns:1fr}
  .content-panel{padding:60px 24px}
  .photo-panel{min-height:420px}
  .footer-grid{grid-template-columns:1fr}
}

.gallery-section{background:#111917;color:#fff}
.gallery-section .eyebrow.dark{color:#a8bbb3}
.gallery-head{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:34px}
.gallery-head>p{color:#c5cfcb;font-size:16px}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#28302d;min-height:330px}
.gallery-grid figure.gallery-large{min-height:470px}
.gallery-grid img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s ease}
.gallery-grid figure:hover img{transform:scale(1.025)}
.gallery-grid figcaption{position:absolute;left:16px;bottom:14px;background:rgba(8,14,12,.72);padding:8px 10px;font-size:12px;letter-spacing:.03em}
@media(max-width:800px){
  .gallery-head,.gallery-grid{grid-template-columns:1fr}
  .gallery-grid figure,.gallery-grid figure.gallery-large{min-height:360px}
}

/* Brand update: deliberately normal, clean typography */
.brand{align-items:flex-start;flex-direction:column;gap:0;letter-spacing:0;line-height:1.05}
.brand-main{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:18px;text-transform:none}
.brand-sub{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:400;font-size:11px;letter-spacing:.02em;color:#547166;margin-top:4px}
.hero-service-line{font-size:13px;letter-spacing:.025em;color:#d3ddd8;margin:-16px 0 30px}
.footer-brand .brand-main{color:#fff}
.footer-brand .brand-sub{color:#a9beb5}

.process-cta{margin-top:32px;text-align:center}.process-cta p{margin:12px auto 0;max-width:720px;opacity:.72;font-size:.92rem}
