/* ============================================================
   THE OWNER TEAM — Extended site
   Coherent with theownerteam.com (NOT a redesign)
   Titles/subtitles: Pilat Wide Book
   Small copy:       HK Grotesk
   Brand colour:     #0b1c2a   ·   Accent (copper): #a5634c
   ============================================================ */

@font-face{
  font-family:'Pilat Wide';
  src:url('fonts/PilatWideBook.otf') format('opentype');
  font-weight:400 500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'HK Grotesk';
  src:url('fonts/HKGrotesk-Regular.otf') format('opentype');
  font-weight:400;font-style:normal;font-display:swap;
}

:root{
  --bg:#ffffff;
  --ink:#0b1c2a;           /* brand dark blue — all text */
  --muted:#5a6b78;         /* muted blue-grey */
  --faint:#8a97a1;
  --line:#e4e8eb;
  --line-strong:#c9d1d6;
  --dark:#0b1c2a;          /* flat colour blocks */
  --paper:#f4f6f7;         /* soft off-white block */
  --offwhite:#f1f1ec;      /* branding off-white (homepage bg) */
  --copper:#a5634c;        /* brand accent */
  --wide:'Pilat Wide',system-ui,sans-serif;
  --sans:'HK Grotesk',system-ui,-apple-system,sans-serif;
  --maxw:1280px;
  --pad:clamp(20px,5vw,72px);
  --sec:clamp(72px,11vw,150px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  font-size:16px;line-height:1.7;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* ---------- typography ---------- */
h1,h2,h3,h4,h5,.wide{font-family:var(--wide);font-weight:500;letter-spacing:0;line-height:1.14;color:var(--ink)}
.eyebrow{
  font-family:var(--wide);font-weight:500;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--copper);
  display:inline-block;
}
.lead{font-size:clamp(17px,1.8vw,21px);line-height:1.65;color:var(--ink)}
.muted{color:var(--muted)}
p{font-family:var(--sans)}

.h-hero{font-size:clamp(34px,5.4vw,74px);line-height:1.04}
.h-sec{font-size:clamp(28px,4vw,52px)}
.h-sub{font-size:clamp(21px,2.4vw,30px)}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding-top:var(--sec);padding-bottom:var(--sec)}
.section-sm{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,7vw,96px)}
.divider{height:1px;background:var(--line);border:0}

/* ---------- nav (identical spirit to existing site) ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:24px var(--pad);
  transition:background .35s ease,padding .35s ease,box-shadow .35s;
  background:#ffffff;box-shadow:0 1px 0 var(--line);
}
.nav::before{ /* soft light scrim so dark logo/links stay legible over the banner top */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:none;
  opacity:0;transition:opacity .35s;
}
.nav.solid{background:#ffffff;backdrop-filter:blur(10px);padding:17px var(--pad);box-shadow:0 1px 0 var(--line)}
.nav.solid::before{opacity:0}
.nav .brand{display:flex;align-items:center}
.nav .brand img{height:52px;width:auto;display:block;transition:height .35s}
.nav.solid .brand img{height:46px}
.nav .links{display:flex;gap:clamp(30px,3.6vw,56px);align-items:center}
.nav .links a{font-family:var(--wide);font-weight:500;font-size:14px;color:var(--ink);position:relative;padding:4px 0;transition:color .2s}
.nav .links a:hover{color:var(--copper)}
.nav .links a.active{color:var(--copper)}
.nav .links a:not(:first-child)::before{content:"";position:absolute;left:calc(-1 * clamp(15px,1.8vw,28px));top:50%;transform:translateY(-50%);width:1px;height:16px;background:rgba(11,28,42,.3)}
.nav .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0}
.nav .burger span{width:24px;height:1.5px;background:var(--ink);transition:.3s}

/* ---------- hero: full-width image banner, NO text overlay ---------- */
.hero{width:100%;overflow:hidden;background:var(--paper)}
.hero img{width:100%;height:clamp(420px,72vh,760px);object-fit:cover;display:block}
.hero.tall img{height:clamp(480px,86vh,860px)}

/* page title block (sits BELOW the banner) */
.page-head{padding-top:clamp(48px,7vw,96px)}
.page-head .h-hero{max-width:20ch}
.page-head p{max-width:60ch;margin-top:24px;color:var(--muted);font-size:clamp(16px,1.5vw,20px)}
/* inner pages have no hero image → clear the fixed nav */
.inner-top{padding-top:clamp(120px,15vh,180px)}
/* everything flush-left: stacked, single column */
.intro-grid{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,2.4vw,28px)}
.intro-grid>*{max-width:66ch}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--wide);font-weight:500;font-size:13px;letter-spacing:.02em;
  padding:14px 28px;border:1px solid var(--ink);border-radius:10px;
  transition:.3s;cursor:pointer;background:none;color:var(--ink);
}
.btn:hover{background:var(--ink);color:#fff}
.on-dark .btn{color:#fff;border-color:rgba(255,255,255,.55)}
.on-dark .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.link-arrow{font-family:var(--wide);font-weight:500;font-size:14px;display:inline-flex;gap:9px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:3px;transition:gap .3s;color:var(--ink)}
.link-arrow:hover{gap:15px;color:var(--copper)}
.on-dark .link-arrow{color:#fff}
.on-dark .link-arrow:hover{color:#fff}

/* ---------- generic grids ---------- */
/* flush-left stacked layouts (no right-hand text blocks) */
.grid2{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,3.5vw,40px)}
.grid2>*{max-width:70ch;width:100%}
.split-head{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,2.4vw,28px)}
.split-head>*{max-width:70ch}
.idx{font-family:var(--wide);font-weight:500;font-size:13px;color:var(--faint)}

/* ---------- stats ---------- */
.stat-row{display:flex;flex-wrap:wrap;gap:clamp(30px,6vw,84px);margin-top:56px}
.stat b{font-family:var(--wide);font-weight:500;font-size:clamp(32px,4vw,50px);display:block;line-height:1;color:var(--ink)}
.stat span{font-size:13px;color:var(--muted);margin-top:8px;display:block;max-width:18ch}

/* ---------- services list ---------- */
.svc-list{border-top:1px solid var(--line)}
.svc-item{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--line);align-items:start}
.svc-item .idx{padding-top:6px;color:var(--copper)}
.svc-item h3{font-size:clamp(21px,2.4vw,28px);margin-bottom:12px}
.svc-item p{max-width:64ch;color:var(--muted)}
.on-dark .svc-list,.on-dark .svc-item{border-color:rgba(255,255,255,.18)}
.on-dark .svc-item h3{color:#fff}
.on-dark .svc-item p{color:rgba(255,255,255,.74)}
.on-dark .svc-item .idx{color:var(--copper)}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,40px)}
.member{text-align:center}
.member figure{overflow:hidden;background:var(--paper);width:clamp(140px,15vw,210px);aspect-ratio:1;border-radius:50%;margin:0 auto;box-shadow:0 10px 30px rgba(11,28,42,.10)}
.member img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:grayscale(100%) contrast(1.03)}
.member:hover img{transform:scale(1.06)}
.member h4{font-size:18px;margin-top:20px}
.member span{font-size:13px;color:var(--muted);display:block;margin-top:3px}
.on-dark .member h4{color:#fff}
.on-dark .member span{color:rgba(255,255,255,.6)}
.on-dark .member figure{background:var(--dark-soft,#16232b);box-shadow:0 10px 30px rgba(0,0,0,.35)}

/* team bios */
.bio-row{display:grid;grid-template-columns:clamp(200px,24vw,300px) 1fr;gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(40px,5vw,72px) 0;border-bottom:1px solid var(--line)}
.bio-row:first-of-type{border-top:1px solid var(--line)}
.bio-row figure{width:clamp(200px,24vw,300px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--paper);box-shadow:0 12px 40px rgba(11,28,42,.10)}
.bio-row figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.03)}
.bio-row .role{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);font-family:var(--wide);font-weight:500}
.bio-row h3{font-size:clamp(26px,3.4vw,42px);margin:10px 0 22px}
.bio-row p{max-width:62ch;font-size:clamp(16px,1.3vw,18px);color:var(--muted)}
.reg-badge{display:inline-block;margin-top:22px;font-size:12px;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line-strong);border-radius:2px;padding:6px 12px}

/* ---------- projects ---------- */
.proj-list{display:flex;flex-direction:column}
.proj{padding:clamp(36px,5vw,64px) 0;border-bottom:1px solid var(--line)}
.proj:first-child{border-top:1px solid var(--line)}
.proj .figure{background:#fff;padding:clamp(6px,2vw,26px) 0;display:flex;align-items:center;justify-content:center}
/* vessel renders scaled to real LOA — ISA 62 Spectre = 100% */
.proj .figure img{width:var(--loa,100%);height:auto;max-height:none;object-fit:contain}
.proj .meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,60px);align-items:end;margin-top:clamp(20px,3vw,40px)}
.proj .meta h3{font-size:clamp(24px,3.2vw,40px)}
.purpose{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);font-family:var(--wide);font-weight:500;margin-bottom:10px}
.specs{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;border-top:1px solid var(--line);padding-top:22px}
.specs .s b{font-family:var(--wide);font-weight:500;font-size:clamp(18px,1.8vw,24px);display:block;line-height:1;color:var(--ink)}
.specs .s span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:7px;display:block}

/* ---------- TIMELINE (clean, 4 phases) ---------- */
.timeline2{position:relative}
.tl-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,44px);position:relative}
.tl-line{position:absolute;top:7px;left:7px;right:7px;height:2px;background:var(--ink);z-index:0}
.on-dark .tl-line{background:rgba(255,255,255,.55)}
.tl-phase{position:relative;z-index:1;text-align:left}
.tl-dot{width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--ink);margin:0;transition:background .25s,border-color .25s;z-index:1}
.on-dark .tl-dot{background:var(--dark);border-color:#fff}
.tl-phase.open .tl-dot{background:var(--copper);border-color:var(--copper)}
.tl-phase.open .tl-name{color:var(--copper)}
.tl-step{display:block;margin-top:20px;font-family:var(--wide);font-weight:500;font-size:12px;letter-spacing:.16em;color:var(--copper)}
.tl-name{font-family:var(--wide);font-weight:500;margin-top:6px;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:9px}
.on-dark .tl-name{color:#fff}
.tl-arrow{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .3s;margin-top:-3px;flex:0 0 auto}
.tl-phase.open .tl-arrow{transform:rotate(-135deg);margin-top:2px}
.tl-acts{list-style:none;display:flex;flex-direction:column;gap:13px;max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height .45s ease,opacity .3s ease,margin-top .3s ease}
.tl-phase.open .tl-acts{max-height:420px;opacity:1;margin-top:20px}
.tl-acts li{font-family:var(--sans);font-size:14px;line-height:1.4;color:var(--muted)}
.on-dark .tl-acts li{color:rgba(255,255,255,.72)}

/* ---------- dark blocks ---------- */
.on-dark{background:var(--dark);color:#fff}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4,.on-dark .h-sec,.on-dark .h-sub{color:#fff}
.on-dark .muted{color:rgba(255,255,255,.62)}
.on-dark .eyebrow{color:var(--copper)}
.on-dark .lead{color:rgba(255,255,255,.86)}

/* ---------- contact ---------- */
.contact-grid{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(44px,6vw,72px)}
.contact-grid>*{width:100%;max-width:640px}
.office h4{font-family:var(--wide);font-weight:500;font-size:20px;margin-bottom:8px}
.office p{color:var(--muted);font-size:15px}
.office+.office{margin-top:36px}
.field{margin-bottom:22px}
.field label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-family:var(--wide);font-weight:500}
.field input,.field textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:10px 0;transition:border-color .3s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.field textarea{resize:vertical;min-height:120px}
.form-note{font-size:13px;color:var(--faint);margin-top:8px}

/* ---------- footer ---------- */
.footer{background:var(--dark);color:#fff;padding:clamp(60px,8vw,110px) 0 40px}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.footer .brand img{height:40px;width:auto}
.footer h5{font-family:var(--wide);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:16px;color:#fff}
.footer a{display:block;color:rgba(255,255,255,.82);padding:5px 0;font-size:15px}
.footer a:hover{color:#fff}
.footer .bottom{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(48px,7vw,90px);padding-top:26px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:12px}

/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .grid2,.split-head,.contact-grid,.proj .meta,.intro-grid{grid-template-columns:1fr;gap:28px}
  .team-grid{grid-template-columns:1fr 1fr;gap:22px}
  .bio-row{grid-template-columns:1fr;gap:22px;text-align:center;justify-items:center}
  .bio-row figure{max-width:260px}
  .bio-row p{max-width:none}
  .footer .top{grid-template-columns:1fr 1fr}
  .specs{grid-template-columns:repeat(3,1fr);gap:22px}
  /* timeline stacks to 2 cols; hide the connecting line */
  .tl-row{grid-template-columns:1fr 1fr;gap:36px 26px}
  .tl-line{display:none}
  .nav .links{position:fixed;top:0;left:0;width:100%;height:100%;height:100dvh;background:var(--dark);flex-direction:column;justify-content:center;align-items:center;gap:30px;transform:translateX(100%);transition:transform .4s;z-index:105;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav .links.open{transform:none}
  /* lock page scroll while the menu is open (fixes snap-scroll glitch) */
  html.menu-lock,body.menu-lock{overflow:hidden!important;height:100%;touch-action:none;overscroll-behavior:none}
  html.menu-lock{scroll-snap-type:none!important}
  .nav .links a{font-size:22px;color:#fff}
  .nav .links a:hover{color:var(--copper)}
  .nav .burger{display:flex;z-index:110}
  .nav.menu-open .burger span{background:#fff}
  .nav.menu-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav.menu-open .burger span:nth-child(2){opacity:0}
  .nav.menu-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}
@media(max-width:560px){
  .team-grid{grid-template-columns:1fr 1fr;gap:16px}
  .tl-row{grid-template-columns:1fr}
  .footer .top{grid-template-columns:1fr}
  .footer .bottom{flex-direction:column;align-items:flex-start}
  .specs{grid-template-columns:repeat(2,1fr)}
}


/* ===================== HOMEPAGE — viewport snap ===================== */
html.snap{scroll-snap-type:y mandatory}
body.home{background:var(--offwhite)}
body.home .panel{
  min-height:100vh;min-height:100svh;scroll-snap-align:start;
  display:flex;flex-direction:column;justify-content:center;
  padding:120px var(--pad) 80px;position:relative;
}
body.home .panel-inner{max-width:var(--maxw);margin:0 auto;width:100%}
/* hero: full-viewport image, no text over it */
body.home .hero-panel{padding:0}
body.home .hero-panel .hero-img{width:100%;height:100vh;height:100svh;object-fit:cover;display:block}
/* section titles turn copper on hover */
body.home .panel h1,body.home .panel h2{transition:color .3s}
body.home .panel h1:hover,body.home .panel h2:hover{color:var(--copper)}
/* about split (text + office photo) */
.about-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
.about-split figure{aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.about-split figure img{width:100%;height:100%;object-fit:cover}
/* team viewport: 2x2 on navy, round b/n photos + text, thin white cross */
body.home .team-panel{background:var(--dark)}
.team-quad{position:relative;width:100%;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.team-quad .tq{display:flex;align-items:center;gap:clamp(20px,2.4vw,34px);padding:clamp(28px,5vh,66px) clamp(22px,4vw,64px)}
.team-quad .tq img{width:clamp(104px,10.5vw,150px);aspect-ratio:1;border-radius:50%;object-fit:cover;filter:grayscale(100%) contrast(1.03);background:var(--paper);flex:0 0 auto;box-shadow:0 8px 26px rgba(0,0,0,.35)}
.team-quad .tq h4{color:#fff;font-family:var(--wide);font-weight:500;font-size:clamp(16px,1.5vw,20px);line-height:1.25}
.team-quad .tq span{display:block;margin-top:5px;font-family:var(--sans);color:rgba(255,255,255,.82);font-size:clamp(13px,1.15vw,15px)}
.team-quad::before{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:rgba(255,255,255,.6);transform:translateX(-50%)}
.team-quad::after{content:"";position:absolute;top:50%;left:5%;right:5%;height:1px;background:rgba(255,255,255,.6);transform:translateY(-50%)}
@media(max-width:900px){
  .nav .links a:not(:first-child)::before{display:none}
  .team-quad{grid-template-columns:1fr;grid-template-rows:none;max-width:460px}
  .team-quad::before,.team-quad::after{display:none}
  .team-quad .tq{border-bottom:1px solid rgba(255,255,255,.16)}
  .team-quad .tq:last-child{border-bottom:0}
}
/* compact project previews inside a viewport */
body.home .proj{padding:clamp(20px,3vw,34px) 0}
body.home .proj:first-child{border-top:0}
body.home .proj .figure{max-width:64%;margin-left:auto;margin-right:auto}
body.home .proj .figure img{max-height:none;object-fit:contain}
/* footer snaps too */
body.home footer.footer{scroll-snap-align:start}
@media(max-width:900px){
  .about-split{grid-template-columns:1fr}
  body.home .panel{padding:104px var(--pad) 64px}
}


/* ---- homepage intro copy (matches reference weight) ---- */
body.home .intro-copy p{color:#33454f;font-family:var(--sans);font-size:clamp(15px,1.2vw,18px);line-height:1.55;max-width:78ch}
body.home .intro-copy p + p{margin-top:18px}

/* ---- projects viewport: optical white only here ---- */
body.home #projects{background:#ffffff}

/* ---- full-viewport photo slider ---- */
body.home .slider-panel{padding:0}
.slider{position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background:var(--offwhite)}
.slider .track{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.slider .slide{min-width:100%;height:100%}
.slider .slide img,.slider .slide picture{width:100%;height:100%;display:block}
.slider .slide img{object-fit:cover}
.slider .arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.82);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s,transform .2s}
.slider .arrow svg{width:16px;height:16px}
.slider .arrow:hover{background:#fff}
.slider .arrow.prev{left:clamp(14px,2vw,30px)}
.slider .arrow.next{right:clamp(14px,2vw,30px)}
.slider .dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:4}
.slider .dots button{width:8px;height:8px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:background .2s}
.slider .dots button.on{background:#fff}


/* ===================== GLOBAL TYPE SCALE (uniform site-wide) ===================== */
:root{
  --fs-title:clamp(26px,3.1vw,40px);
  --fs-subtitle:clamp(18px,1.9vw,23px);
  --fs-body:clamp(14.5px,1.05vw,16px);
}
.h-hero,.h-sec{font-size:var(--fs-title)!important;line-height:1.15}
.h-sub{font-size:var(--fs-subtitle)!important}
.bio-row h3,.proj .meta h3,.svc-item h3,.tl-name{font-size:var(--fs-subtitle)!important}
.lead{font-size:var(--fs-body)!important;line-height:1.6}
.page-head p,.svc-item p,.bio-row p,.office p,body.home .intro-copy p{font-size:var(--fs-body)!important}

/* contact: align Antibes & Malta blocks to the top (no stagger) */
.office-row{display:flex;flex-wrap:wrap;align-items:flex-start}
.office-row .office{margin-top:0}
.office-row .office+.office{margin-top:0}

/* full-viewport image (e.g. About) */
.fullview-img{width:100%;height:100vh;height:100svh;overflow:hidden}
.fullview-img img{width:100%;height:100%;object-fit:cover;display:block}

/* ===================== MOBILE HOMEPAGE FIXES ===================== */
@media(max-width:900px){
  body.home .panel{padding:104px 20px 72px}
  body.home .panel-inner{width:100%;max-width:100%}
  /* higher specificity (2 classes) so these always win over the generic .panel padding above */
  body.home .panel.hero-panel{padding:0;margin:0;width:100%;min-height:100vh;min-height:100svh}
  body.home .hero-panel .hero-img{width:100vw;height:100vh;height:100svh;object-fit:cover;display:block}
  body.home .panel.slider-panel{padding:0;width:100vw}
  .slider{height:100vh;height:100svh;width:100vw}
}

/* <picture> wrappers must fill like their img */
.hero-pic{display:block;width:100%;height:100%}
.fullview-img picture{display:block;width:100%;height:100%}
.fullview-img picture img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){
  body.home .hero-panel .hero-pic{width:100vw;height:100vh;height:100svh}
}

/* ===================== TYPOGRAPHY — no widows ===================== */
h1,h2,h3,h4,h5,.h-hero,.h-sec,.h-sub,.tl-name{text-wrap:balance}
p,li,.lead,.intro-copy p,.office p,.svc-item p,.bio-row p{text-wrap:pretty}
