/* Coastal Screen Repair — shared site stylesheet (v3 "Twilight Immersive" system).
   One brand, one stylesheet across all pages. Home-specific components are added as the home page is ported. */
:root{
  --night:#0A1A20; --night-2:#10262E; --night-3:#173640;
  --aqua:#3EC9BE; --aqua-deep:#1E9C93; --amber:#F5B04C; --amber-deep:#E0952C;
  --cream:#F6F2EA; --cream-2:#EDE7DB; --ink:#10262E; --muted:#5B6B70; --muted-on-dark:#9FB5B8;
  --glass:rgba(255,255,255,.08); --glass-line:rgba(255,255,255,.16); --line:#E2DBCE;
  --display:"Outfit", system-ui, sans-serif;
  --body:"Instrument Sans", system-ui, -apple-system, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0}
p{margin:0 0 1rem}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1000px,92vw);margin-inline:auto}
.wrap-wide{width:min(1160px,92vw);margin-inline:auto}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--aqua-deep)}
.num{font-family:var(--mono);font-weight:600}
.section{padding:clamp(3rem,7vw,5.5rem) 0}

/* buttons + links */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:1rem;padding:.9rem 1.4rem;border-radius:999px;border:0;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.btn-call{background:var(--amber);color:#2B1A05;box-shadow:0 14px 30px -16px rgba(245,176,76,.9)}
.btn-call:hover{background:var(--amber-deep);transform:translateY(-2px)}
.btn-call svg{width:18px;height:18px}
.btn-dark{background:var(--night);color:#fff}
.btn-dark:hover{background:var(--night-3);transform:translateY(-2px)}
.btn-glass{background:var(--glass);color:#fff;border:1px solid var(--glass-line);backdrop-filter:blur(10px)}
.btn-glass:hover{background:rgba(255,255,255,.14)}
.link{color:var(--aqua-deep);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(30,156,147,.35)}
.link:hover{border-color:var(--aqua-deep)}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(10,26,32,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--glass-line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;text-decoration:none;color:#fff}
.brand svg{width:26px;height:26px}
.logo{display:block;width:150px;height:36px;border-radius:6px;background:#fff url(data:image/webp;base64,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) center/contain no-repeat}
.nav-right{display:flex;align-items:center;gap:1.1rem}
.nav-q{font-size:.92rem;color:var(--aqua)!important;border-color:rgba(62,201,190,.35)!important}

/* interior page hero band */
.page-hero{position:relative;background:linear-gradient(160deg,var(--night) 0%,var(--night-2) 70%);color:#fff;overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 15px),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 15px);
  mask-image:radial-gradient(90% 120% at 18% 30%,#000 35%,transparent 78%)}
.page-hero .wrap,.page-hero .wrap-wide{position:relative;z-index:2;padding:clamp(2.6rem,6vw,4.5rem) 0}
.page-hero .eyebrow{color:var(--aqua)}
.page-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);margin:.6rem 0 .5rem;color:#fff}
.page-hero p{color:var(--muted-on-dark);max-width:60ch;margin:0}
.breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted-on-dark);margin-bottom:.4rem}
.breadcrumb a{color:var(--aqua);text-decoration:none}

/* prose (article) */
.prose{padding:clamp(2.5rem,6vw,4rem) 0;color:var(--ink)}
.prose h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:2rem 0 .7rem}
.prose h3{font-size:1.15rem;margin:1.4rem 0 .5rem}
.prose p,.prose li{font-size:1.02rem;color:#243b40}
.prose ul,.prose ol{margin:0 0 1rem 1.1rem;padding:0}
.prose li{margin-bottom:.4rem}
.prose a{color:var(--aqua-deep);text-decoration:underline}
.prose .updated{font-family:var(--mono);font-size:.8rem;color:var(--muted);margin-bottom:1.5rem}
.prose .lead{font-size:1.1rem;color:var(--ink)}

/* small CTA band */
.cta-band{background:var(--night);color:#fff}
.cta-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(2rem,4vw,2.8rem) 0}
.cta-band h2{font-size:clamp(1.4rem,3vw,2rem);color:#fff;max-width:24ch}
.cta-band p{color:var(--muted-on-dark);margin:.35rem 0 0}
.cta-band .actions{display:flex;gap:.6rem;flex-wrap:wrap}

/* footer */
footer{background:#07141A;color:var(--muted-on-dark);font-size:.9rem}
footer .wrap-wide{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;padding:3rem 0 2rem}
footer h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--aqua);margin:0 0 .9rem}
footer a{color:#CFDCDC;text-decoration:none;display:block;margin-bottom:.45rem}
footer a:hover{color:#fff}
.fb{font-family:var(--display);font-weight:700;font-size:1.2rem;color:#fff;margin-bottom:.6rem}
.legal-row{border-top:1px solid var(--glass-line);padding:1.2rem 0;font-size:.78rem;color:#7D9296;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:center}
.legal-row a{color:#9FB5B8;text-decoration:none}
.legal-row a:hover{color:#fff}

/* sticky mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:.6rem;padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(10,26,32,.94);backdrop-filter:blur(12px);border-top:1px solid var(--glass-line);transform:translateY(110%);transition:transform .4s var(--ease)}
.callbar.show{transform:translateY(0)}
.callbar a{flex:1;justify-content:center}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}

@media(max-width:880px){
  .callbar{display:flex}
  body{padding-bottom:84px}
  footer .wrap-wide{grid-template-columns:1fr 1fr}
  .cta-band .wrap{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  footer .wrap-wide{grid-template-columns:1fr}
  .brand{font-size:1rem;white-space:nowrap}
  .nav .btn-call{padding:.6rem .9rem;font-size:.9rem;white-space:nowrap}
  .nav .btn-call svg{display:none}
  .nav-q{display:none}
  .callbar .btn{white-space:nowrap;font-size:.95rem;padding:.85rem .9rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}}

/* content components (interior pages) */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
@media(max-width:760px){.two-col{grid-template-columns:1fr;gap:1.6rem}}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem}
.card h3{font-size:1.1rem;margin-bottom:.3rem}
.card p{color:var(--muted);font-size:.94rem;margin:0}
.card .num{color:var(--aqua-deep);font-size:1.05rem;text-decoration:none}
.areas-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin:1.6rem 0}
.area-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem;text-decoration:none;transition:border-color .2s,transform .2s var(--ease)}
.area-card:hover{border-color:var(--aqua-deep);transform:translateY(-2px)}
.area-card b{font-family:var(--display);font-size:1.1rem;color:var(--ink)}
.area-card small{display:block;color:var(--muted);font-size:.85rem;margin-top:.2rem}
.area-card .num{color:var(--aqua-deep);font-size:.92rem}
.qform{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.6rem}
.qform h3{font-size:1.3rem;margin-bottom:.2rem}
.qform .sub{color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}
.field label{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font-family:var(--body);font-size:1rem;padding:.75rem .85rem;border:1.5px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--aqua-deep);outline-offset:1px;border-color:var(--aqua-deep)}
.consent{display:flex;gap:.55rem;align-items:flex-start;font-size:.8rem;color:var(--muted);margin:.3rem 0 .9rem;line-height:1.45}
.consent input{margin-top:.2rem;flex:0 0 auto}
.qform .btn{width:100%;justify-content:center}
.qform .fine{font-size:.74rem;color:var(--muted);text-align:center;margin:.7rem 0 0}
.checklist{list-style:none;padding:0;margin:1rem 0}
.checklist li{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.6rem;font-size:1rem}
.checklist svg{flex:0 0 auto;margin-top:.2rem;color:var(--aqua-deep)}

/* ---- readability pass: larger, more legible type across every page ---- */
body{font-size:18px;line-height:1.7}
.eyebrow{font-size:.82rem;letter-spacing:.16em}
.num{font-family:var(--display);font-weight:700;letter-spacing:0}
.btn{font-size:1.08rem;padding:1rem 1.55rem}
.btn .num{font-size:1.18rem}
.nav .btn-call .num{font-size:1.1rem}
.nav-q{font-size:1rem}
.nav-menu{display:flex;gap:1.6rem;align-items:center}
.nav-menu a{color:#fff;text-decoration:none;font-weight:600;font-size:1rem;opacity:.9;transition:color .2s,opacity .2s}
.nav-menu a:hover{color:var(--aqua);opacity:1}
@media(max-width:880px){.nav{flex-wrap:wrap}.nav-menu{order:3;width:100%;justify-content:center;gap:1.8rem;padding-top:.65rem;margin-top:.5rem;border-top:1px solid var(--glass-line)}}
.breadcrumb{font-size:.85rem;letter-spacing:.04em}
.page-hero h1{font-size:clamp(2.3rem,5vw,3.4rem)}
.page-hero p{font-size:1.2rem;color:#c9dbdb}
.prose p,.prose li{font-size:1.15rem;line-height:1.75}
.prose .lead{font-size:1.32rem;line-height:1.55;color:var(--ink)}
.prose h2{font-size:clamp(1.55rem,3vw,2.05rem)}
.prose h3{font-size:1.25rem}
.card{padding:1.5rem}
.card h3{font-size:1.25rem}
.card p{font-size:1.06rem}
.card .num{font-size:1.35rem;display:inline-block;margin-top:.2rem}
.area-card b{font-size:1.25rem}
.area-card small{font-size:.95rem}
.area-card .num{font-size:1.1rem}
.checklist li{font-size:1.1rem}
.field label{font-size:.78rem;letter-spacing:.08em}
.field input,.field select,.field textarea{font-size:1.08rem;padding:.85rem .9rem}
.qform h3{font-size:1.5rem}
.qform .sub{font-size:1rem}
.qform .fine{font-size:.9rem}
.consent{font-size:.92rem}
.cta-band h2{font-size:clamp(1.55rem,3vw,2.2rem)}
.cta-band p{font-size:1.1rem}
footer{font-size:1rem}
footer h4{font-size:.74rem}
.fb{font-size:1.4rem}
.legal-row{font-size:.9rem}
@media(max-width:560px){
  body{font-size:18px}
  .page-hero h1{font-size:1.95rem}
  .prose .lead{font-size:1.2rem}
  .prose p,.prose li{font-size:1.12rem}
  .callbar .btn{font-size:1.08rem;padding:.95rem .9rem}
  .callbar .btn .num{font-size:1.12rem}
  .nav .btn-call .num{font-size:1.02rem}
}
