/* 12mile v3 scaled fix */
:root { --navy:#071f3d; --navy-2:#0d2b4e; --paper:#fffdf9; --ink:#081b34; --text:#34445a; --line:rgba(8,27,52,.14); --max:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--paper); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; }
img,svg { display:block; max-width:100%; }
h1,h2,h3 { margin:0; color:var(--ink); font-family:Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
p { margin:0 0 1rem; }
.container { width:min(var(--max),calc(100% - 48px)); margin:0 auto; }
.site-header { position:absolute; inset:0 0 auto; z-index:20; color:#fff; background:rgba(7,31,61,.64); backdrop-filter:blur(8px); }
.nav-wrap { min-height:76px; display:flex; align-items:center; gap:26px; }
.logo-link { flex:0 0 auto; }
.logo-link img { width:clamp(140px,14vw,180px); height:auto; }
.main-nav { margin-left:auto; display:flex; align-items:center; gap:clamp(18px,2.4vw,30px); }
.main-nav a { color:rgba(255,255,255,.86); text-decoration:none; font-size:.95rem; }
.nav-cta { min-height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border-radius:999px; background:linear-gradient(135deg,#f2f5f8,#c5ccd5); color:var(--navy); text-decoration:none; font-weight:800; font-size:.94rem; }

.hero { position:relative; min-height:clamp(500px,68vh,640px); color:#fff; overflow:hidden; background:var(--navy); }
.hero-image,.hero-overlay { position:absolute; inset:0; }
.hero-image { background-image:url("assets/lake-photo.avif"); background-size:cover; background-position:center center; filter:saturate(.94) contrast(1.02); transform:scale(1.01); }
.hero-overlay { background:linear-gradient(90deg,rgba(5,16,32,.93) 0%,rgba(7,31,61,.82) 40%,rgba(7,31,61,.46) 67%,rgba(7,31,61,.18) 100%); }
.hero-content { position:relative; z-index:2; min-height:clamp(500px,68vh,640px); display:flex; align-items:center; padding-top:76px; }
.hero-copy { width:min(100%,640px); }
.hero h1 { max-width:640px; color:#fff; font-size:clamp(2.45rem,4.8vw,4.35rem); line-height:1.04; }
.hero p { margin-top:20px; max-width:570px; color:rgba(255,255,255,.9); font-size:clamp(1rem,1.25vw,1.1rem); }
.hero-actions { margin-top:26px; display:flex; gap:14px; flex-wrap:wrap; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border-radius:8px; text-decoration:none; font-weight:800; }
.button.primary { background:linear-gradient(135deg,#f2f5f8,#c5ccd5); color:var(--navy); box-shadow:0 14px 28px rgba(0,0,0,.2); }
.button.secondary { border:1px solid rgba(255,255,255,.62); color:#fff; background:rgba(7,31,61,.18); }

.about { padding:clamp(44px,6vw,66px) 0 clamp(38px,5vw,54px); background:var(--paper); border-bottom:1px solid rgba(8,27,52,.08); }
.about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:clamp(30px,5vw,54px); align-items:center; }
.label { margin-bottom:14px; color:var(--navy); font-size:.76rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.label:after { content:""; display:block; width:54px; height:1px; margin-top:10px; background:var(--navy); opacity:.55; }
.about h2 { max-width:570px; color:var(--navy); font-size:clamp(1.75rem,2.7vw,2.65rem); line-height:1.1; margin-bottom:20px; }
.about p { max-width:610px; font-size:1rem; }
.about a { color:var(--navy-2); font-weight:800; text-underline-offset:4px; }

.portrait-note { display:grid; grid-template-columns:140px 1fr; gap:22px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.76); box-shadow:0 16px 40px rgba(8,27,52,.08); }
.portrait-img { width:140px; max-width:140px; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:12px; border:1px solid rgba(8,27,52,.18); box-shadow:0 10px 26px rgba(8,27,52,.18); }
.mini-loon { width:52px; margin-bottom:12px; }
.portrait-copy p { margin:0; font-size:.95rem; line-height:1.55; }
.portrait-copy span { display:block; margin-top:14px; color:var(--navy); font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive; font-size:1.15rem; }

.focus { padding:30px 0 clamp(44px,6vw,60px); background:linear-gradient(180deg,var(--paper),#f7f8fa); border-bottom:1px solid rgba(8,27,52,.08); }
.focus-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.focus article { min-height:176px; padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(8,27,52,.05); }
.icon { color:var(--navy); font-size:1.55rem; line-height:1; margin-bottom:18px; }
.focus h3 { color:var(--navy); font-size:1.22rem; line-height:1.15; margin-bottom:10px; }
.focus p { margin:0; font-size:.94rem; }

.statement { padding:26px 0; background:linear-gradient(135deg,#06172d,#071f3d); color:#fff; }
.statement-grid { display:grid; grid-template-columns:96px 1fr auto; gap:26px; align-items:center; }
.sailboat { color:rgba(255,255,255,.82); border-right:1px solid rgba(255,255,255,.22); padding-right:24px; }
.sailboat svg { width:62px; height:62px; }
.statement h2 { color:#fff; font-size:clamp(1.28rem,1.8vw,1.85rem); margin-bottom:8px; }
.statement p { margin:0; color:rgba(255,255,255,.88); font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive; font-size:clamp(1.05rem,1.6vw,1.5rem); }
.statement-mark { color:rgba(255,255,255,.88); font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive; font-size:1.15rem; }

.contact { padding:34px 0; background:var(--paper); }
.contact-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:38px; align-items:center; }
.contact-title { border-right:1px solid var(--line); padding-right:36px; }
.contact h2 { color:var(--navy); font-size:clamp(1.6rem,2.3vw,2.35rem); line-height:1.1; }
.contact-items { display:grid; grid-template-columns:1.35fr .75fr 1fr .7fr; gap:16px; align-items:center; }
.contact-items a,.contact-static { display:inline-grid; grid-template-columns:40px 1fr; gap:10px; align-items:center; color:var(--navy); text-decoration:none; font-weight:650; font-size:.95rem; }
.contact-icon { width:40px; height:40px; border-radius:999px; display:grid; place-items:center; background:var(--navy); color:#fff; font-weight:850; }

.site-footer { padding:18px 0; background:var(--navy); color:rgba(255,255,255,.72); }
.footer-inner { display:flex; align-items:center; justify-content:center; gap:14px; font-size:.88rem; }
.footer-loon { width:48px; color:rgba(255,255,255,.84); }

@media (max-width:1050px) {
  .site-header { position:relative; background:var(--navy); }
  .nav-wrap { min-height:auto; padding:16px 0; flex-wrap:wrap; }
  .main-nav { order:3; width:100%; margin-left:0; justify-content:space-between; }
  .hero,.hero-content { min-height:520px; }
  .hero-content { padding-top:36px; }
  .about-grid,.contact-grid { grid-template-columns:1fr; }
  .contact-title { border-right:0; padding-right:0; }
  .focus-grid { grid-template-columns:repeat(2,1fr); }
  .statement-grid { grid-template-columns:80px 1fr; }
  .statement-mark { grid-column:2; }
  .contact-items { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:680px) {
  .container { width:min(var(--max),calc(100% - 28px)); }
  .logo-link img { width:158px; }
  .nav-cta { margin-left:auto; }
  .main-nav { gap:16px; flex-wrap:wrap; }
  .hero h1 { font-size:2.6rem; }
  .hero p { font-size:1rem; }
  .hero-actions { flex-direction:column; }
  .button { width:100%; }
  .portrait-note { grid-template-columns:1fr; }
  .portrait-img { width:100%; max-width:200px; }
  .focus-grid { grid-template-columns:1fr; }
  .statement-grid { grid-template-columns:1fr; gap:16px; }
  .sailboat { border-right:0; padding-right:0; }
  .contact-items { grid-template-columns:1fr; }
  .footer-inner { flex-direction:column; text-align:center; }
}
