
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --navy:   #0d1f2d;
    --navy2:  #162a3a;
    --teal:   #1a6b5a;
    --teal2:  #22897a;
    --teal3:  #e8f4f1;
    --sand:   #c9a96e;
    --sand2:  #e8c98a;
    --cream:  #f5f0e8;
    --white:  #ffffff;
    --gray:   #6b7280;
    --gray2:  #9ca3af;
    --light:  #f0ece4;
    --border: #e2ddd4;
    --r:      3px;
    --r-md:   6px;
    --r-lg:   12px;
    --focus:      0 0 0 3px rgba(232,201,138,.55);
    --focus-teal: 0 0 0 3px rgba(26,107,90,.30);
    --sh-1: 0 4px 20px rgba(13,31,45,.06);
    --sh-2: 0 10px 28px rgba(13,31,45,.10);
    --sh-3: 0 24px 55px -20px rgba(0,0,0,.45);
  }
  html { scroll-behavior: smooth; }
  body { font-family:'DM Sans',sans-serif; background:var(--cream); color:var(--navy); overflow-x:hidden; }
  img { display:block; max-width:100%; }
  a { color:inherit; }

  /* REVEAL */
  .reveal { opacity:0; transform:translateY(32px); transition:opacity .7s ease,transform .7s ease; }
  .reveal.visible { opacity:1; transform:none; }
  .d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s} .d4{transition-delay:.4s}

  /* FOCUS (keyboard nav) */
  a:focus-visible, button:focus-visible, summary:focus-visible,
  input:focus-visible, select:focus-visible, textarea:focus-visible,
  [tabindex]:focus-visible { outline:none; box-shadow:var(--focus); }
  /* controls sitting on light backgrounds get the teal ring */
  .btn-p:focus-visible, .nav-cta:focus-visible, .fsub:focus-visible,
  .faq summary:focus-visible, .prose a:focus-visible, .crumb a:focus-visible,
  .fg input:focus-visible, .fg select:focus-visible, .fg textarea:focus-visible { box-shadow:var(--focus-teal); }

  /* REDUCED MOTION */
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after { animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important; }
    .reveal { opacity:1!important;transform:none!important; }
  }

  /* UTILS */
  .lbl { font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;display:block; }
  .ttl { font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.1;color:var(--navy);margin-bottom:18px; }
  .sub { font-size:1rem;color:var(--gray);line-height:1.8;max-width:520px; }
  .sub.w { max-width:680px; }
  .sec { padding:100px 56px; }
  .inn { max-width:1100px;margin:0 auto; }

  /* NAV */
  nav { position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:18px 56px;transition:background .4s,padding .4s,box-shadow .4s; }
  nav.scrolled { background:rgba(13,31,45,.97);backdrop-filter:blur(12px);padding:12px 56px;box-shadow:0 2px 24px rgba(0,0,0,.25); }
  .logo { display:flex;align-items:center;gap:12px;text-decoration:none; }
  .logo-emblem { flex-shrink:0;display:block; }
  .logo-txt { display:flex;flex-direction:column; }
  .logo-main { font-size:1.05rem;font-weight:600;letter-spacing:.08em;color:#fff;line-height:1;text-transform:uppercase; }
  .logo-main b { color:var(--sand);font-weight:600; }
  .logo-sub { display:flex;justify-content:space-between;width:100%;font-size:.78rem;font-weight:500;color:rgba(232,201,138,.78);text-transform:uppercase;margin-top:5px;line-height:1; }
  .logo-sub span { display:block; }
  .nav-links { display:flex;align-items:center;gap:34px; }
  .nav-links a { font-size:.85rem;color:rgba(255,255,255,.78);text-decoration:none;transition:color .2s; }
  .nav-links a:hover { color:#fff; }
  .nav-cta { background:var(--sand)!important;color:var(--navy)!important;font-weight:600!important;padding:10px 22px;border-radius:var(--r);letter-spacing:.06em!important;text-transform:uppercase;font-size:.8rem!important;transition:background .2s,transform .2s!important; }
  .nav-cta:hover { background:var(--sand2)!important; }
  /* dropdown menus */
  .nav-item { position:relative; }
  .nav-item > a { display:inline-flex;align-items:center;gap:5px; }
  .nav-item > a svg { opacity:.7;transition:transform .2s; }
  .nav-item:hover > a svg, .nav-item:focus-within > a svg { transform:rotate(180deg); }
  .dd { position:absolute;top:calc(100% + 6px);left:0;min-width:238px;background:rgba(13,31,45,.98);backdrop-filter:blur(12px);border:1px solid rgba(201,169,110,.22);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 18px 44px rgba(0,0,0,.4);z-index:60; }
  .nav-item:hover .dd, .nav-item:focus-within .dd { opacity:1;visibility:visible;transform:translateY(0); }
  .dd a { padding:9px 14px;border-radius:4px;font-size:.85rem;color:rgba(255,255,255,.72);white-space:nowrap;transition:background .15s,color .15s; }
  .dd a:hover { background:rgba(201,169,110,.14);color:#fff; }
  /* mobile toggle (hidden on desktop) */
  .nav-toggle { display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:none;cursor:pointer;padding:0;z-index:210; }
  .nav-toggle span { display:block;height:2px;width:24px;background:#fff;border-radius:2px;margin:0 auto;transition:transform .25s,opacity .2s; }
  .nav-cta:active { transform:translateY(1px); }

  /* HERO */
  .hero { position:relative;height:100vh;min-height:680px;display:flex;align-items:center;overflow:hidden; }
  .hero-bg { position:absolute;inset:0;background:url('../images/project4.jpg') center/cover;background-image:image-set(url('../images/project4.webp') type('image/webp'), url('../images/project4.jpg') type('image/jpeg'));background-position:center;background-size:cover;animation:hzoom 14s ease-out forwards; }
  @keyframes hzoom { from{transform:scale(1.08)} to{transform:scale(1)} }
  .hero-ov { position:absolute;inset:0;background:linear-gradient(to right,rgba(13,31,45,.9) 0%,rgba(13,31,45,.58) 55%,rgba(13,31,45,.18) 100%),linear-gradient(to top,rgba(13,31,45,.4) 0%,transparent 55%); }
  .hero-cnt { position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:0 56px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center; }
  .hero-main { max-width:600px; }
  .hero-card { background:rgba(11,25,37,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(201,169,110,.3);border-radius:10px;padding:34px 32px;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:fu .8s .5s both;justify-self:end;max-width:400px;width:100%; }
  .hc-lbl { display:block;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin-bottom:20px; }
  .hero-card ul { list-style:none;margin:0 0 22px;padding:0; }
  .hero-card li { position:relative;padding-left:30px;color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.45;margin-bottom:15px; }
  .hero-card li b { color:#fff;font-weight:600; }
  .hero-card li svg { position:absolute;left:0;top:2px; }
  .hc-div { height:1px;background:rgba(255,255,255,.12);margin:0 0 18px; }
  .hc-call-l { display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:4px; }
  .hc-ph { display:block;font-family:'Cormorant Garamond',serif;font-size:2.05rem;font-weight:700;color:var(--sand2);text-decoration:none;line-height:1;margin-bottom:20px; }
  .hero-card .btn-p { width:100%;justify-content:center; }
  @media(max-width:1024px){ .hero-cnt{grid-template-columns:1fr;max-width:680px;} .hero-card{display:none;} }
  .hero-pill { display:inline-flex;align-items:center;gap:9px;background:rgba(201,169,110,.13);border:1px solid rgba(201,169,110,.32);color:var(--sand);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border-radius:100px;margin-bottom:28px;animation:fu .8s .1s both; }
  .hero-pill span { width:5px;height:5px;background:var(--sand);border-radius:50%; }
  .hero h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5.2rem);font-weight:700;line-height:1;color:#fff;margin-bottom:24px;animation:fu .8s .2s both; }
  .hero h1 em { font-style:normal;color:var(--sand); }
  .hero-d { font-size:1.05rem;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:40px;max-width:490px;animation:fu .8s .3s both; }
  .hero-btns { display:flex;gap:14px;flex-wrap:wrap;animation:fu .8s .4s both; }
  @keyframes fu { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:none} }
  .hero-scroll { position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.32);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;animation:sb 2.5s infinite; }
  @keyframes sb { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
  .btn-p { display:inline-flex;align-items:center;gap:10px;background:var(--sand);color:var(--navy);font-weight:600;font-size:.95rem;letter-spacing:.04em;padding:15px 30px;border-radius:var(--r);text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 20px rgba(201,169,110,.35); }
  .btn-p:hover { background:var(--sand2);transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,169,110,.45); }
  .btn-p:active { transform:translateY(0);box-shadow:0 3px 12px rgba(201,169,110,.4); }
  .btn-g { display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);color:#fff;font-size:.95rem;padding:15px 28px;border-radius:var(--r);border:1px solid rgba(255,255,255,.28);text-decoration:none;transition:background .2s,border-color .2s; }
  .btn-g:hover { background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5); }
  .btn-g:active { background:rgba(255,255,255,.24); }
  /* disabled state (any button) */
  .btn-p[aria-disabled="true"],.btn-g[aria-disabled="true"],.fsub:disabled,.btn-cw[aria-disabled="true"] { opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none; }

  /* TRUST BAR */
  .tbar { background:var(--navy);border-top:1px solid rgba(255,255,255,.06);padding:0 56px;display:flex;align-items:stretch;flex-wrap:wrap; }
  .ti { display:flex;align-items:center;gap:12px;padding:22px 32px 22px 0;color:rgba(255,255,255,.65);font-size:.85rem;border-right:1px solid rgba(255,255,255,.07);margin-right:32px; }
  .ti:last-child { border-right:none; }
  .tic { width:34px;height:34px;background:rgba(201,169,110,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0; }

  /* ABOUT */
  .about-g { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
  .about-txt p { font-size:1rem;color:var(--gray);line-height:1.85;margin-bottom:16px; }
  .sig { margin-top:28px;padding-top:24px;border-top:1px solid var(--border);display:flex;align-items:center;gap:14px; }
  .sig-av { width:48px;height:48px;border-radius:50%;background:var(--teal3);border:2px solid var(--teal);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--teal);font-weight:700;flex-shrink:0; }
  .sig strong { display:block;font-size:.92rem;color:var(--navy); }
  .sig span { font-size:.8rem;color:var(--gray); }
  .map-box { background:var(--navy);padding:26px;border-radius:6px;border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 55px -24px rgba(0,0,0,.55); }
  .map-hd { display:flex;align-items:center;justify-content:space-between;margin-bottom:18px; }
  .map-hd h4 { font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:#fff;font-weight:600; }
  .map-bdg { background:rgba(201,169,110,.14);border:1px solid rgba(201,169,110,.28);color:var(--sand);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:100px; }
  .map-leg { display:flex;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap;align-items:center; }
  .map-li { display:flex;align-items:center;gap:7px;font-size:.72rem;color:rgba(255,255,255,.55); }
  .map-dot { width:9px;height:9px;border-radius:50%;flex-shrink:0; }
  .map-svg { width:100%;display:block;border-radius:5px;background:#12283a;border:1px solid rgba(255,255,255,.07); }

  /* SERVICES */
  .srv-g { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px; }
  .sc { background:var(--white);padding:36px 30px;position:relative;overflow:hidden;transition:background .3s; }
  .sc::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--teal),var(--teal2));transform:scaleX(0);transform-origin:left;transition:transform .4s; }
  .sc:hover { background:#fdfcfa; }
  .sc:hover::after { transform:scaleX(1); }
  .sc-n { font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:700;line-height:1;color:rgba(13,31,45,.05);margin-bottom:16px;user-select:none; }
  .sc-i { width:44px;height:44px;background:var(--teal3);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:16px; }
  .sc h3 { font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;margin-bottom:10px;color:var(--navy); }
  .sc p { font-size:.87rem;color:var(--gray);line-height:1.75; }

  /* WHY */
  .why-g { display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:52px; }
  .wc { background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:42px 38px;display:flex;gap:26px;align-items:flex-start;transition:background .3s,border-color .3s; }
  .wc:hover { background:rgba(255,255,255,.06);border-color:rgba(201,169,110,.18); }
  .wi { width:50px;height:50px;flex-shrink:0;background:rgba(201,169,110,.1);border-radius:var(--r);display:flex;align-items:center;justify-content:center; }
  .wc h3 { font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:9px; }
  .wc p { font-size:.87rem;color:rgba(255,255,255,.62);line-height:1.8; }

  /* GALLERY */
  .gal-g { display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:6px;margin-top:48px; }
  .gi { overflow:hidden;position:relative; }
  .gi:first-child { grid-row:1/3; }
  .gi img { width:100%;height:100%;object-fit:cover;transition:transform .6s; }
  .gi:hover img { transform:scale(1.07); }
  .gi-ov { position:absolute;inset:0;background:linear-gradient(to top,rgba(13,31,45,.45) 0%,transparent 55%);opacity:0;transition:opacity .3s; }
  .gi:hover .gi-ov { opacity:1; }

  /* BEFORE/AFTER */
  .ba-g { display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:var(--r-md);overflow:hidden;margin-top:44px; }
  .ba-i { position:relative;overflow:hidden; }
  .ba-i img { width:100%;height:360px;object-fit:cover;display:block; }
  .ba-tag { position:absolute;top:18px;left:18px;font-size:.67rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 14px;border-radius:100px; }
  .ba-tag.bef { background:rgba(13,31,45,.72);color:rgba(255,255,255,.8); }
  .ba-tag.aft { background:var(--teal);color:#fff; }

  /* FORM */
  .form-g { display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start; }
  .fp { display:flex;flex-direction:column;gap:18px;margin-top:30px; }
  .fpi { display:flex;align-items:flex-start;gap:12px; }
  .fpi-ic { width:34px;height:34px;flex-shrink:0;background:var(--teal3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px; }
  .fpi strong { display:block;font-size:.9rem;color:var(--navy);margin-bottom:2px; }
  .fpi span { font-size:.82rem;color:var(--gray);line-height:1.6; }
  .fcard { background:var(--white);border:1px solid var(--border);padding:42px 38px;border-radius:var(--r-md);box-shadow:0 4px 32px rgba(13,31,45,.06); }
  .fcard h3 { font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:700;color:var(--navy);margin-bottom:5px; }
  .fd { font-size:.87rem;color:var(--gray);margin-bottom:26px; }
  .fr { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
  .fg { display:flex;flex-direction:column;gap:5px;margin-bottom:13px; }
  .fg label { font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--navy); }
  .fg input,.fg select,.fg textarea { font-family:'DM Sans',sans-serif;font-size:.93rem;color:var(--navy);background:var(--light);border:1px solid var(--border);padding:11px 15px;border-radius:var(--r);outline:none;width:100%;transition:border-color .2s,box-shadow .2s; }
  .fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--teal);box-shadow:0 0 0 3px rgba(26,107,90,.1);background:#fff; }
  .fg textarea { resize:vertical;min-height:96px; }
  .fg select { appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px; }
  /* required-field indicator (auto-skips the optional email) */
  .fg:has(input:required, select:required, textarea:required) > label::after { content:' *';color:var(--teal);font-weight:700; }
  /* invalid only after the user has interacted */
  .fg input:user-invalid,.fg select:user-invalid,.fg textarea:user-invalid { border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.12);background:#fff; }
  .fsub { width:100%;padding:15px;background:var(--navy);color:#fff;font-family:'DM Sans',sans-serif;font-size:.92rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:var(--r);cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;margin-top:4px; }
  .fsub:hover { background:var(--teal);transform:translateY(-1px);box-shadow:0 6px 20px rgba(26,107,90,.28); }
  .fsub:active { transform:translateY(0);box-shadow:0 3px 12px rgba(26,107,90,.3); }
  .fn { text-align:center;margin-top:13px;font-size:.77rem;color:var(--gray2); }

  /* CTA STRIP */
  .cta-s { background:linear-gradient(135deg,var(--navy) 0%,#173a4e 100%);padding:72px 56px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px; }
  .cta-s h2 { font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.6rem);color:#fff;font-weight:700;max-width:520px;line-height:1.2; }
  .cta-s h2 em { font-style:normal;color:var(--sand2); }
  .cta-r { display:flex;flex-direction:column;align-items:center;gap:10px; }
  .cta-ph { font-family:'Cormorant Garamond',serif;font-size:2.9rem;font-weight:700;color:var(--sand2);text-decoration:none;letter-spacing:.02em;transition:opacity .2s; }
  .cta-ph:hover { opacity:.8; }
  .cta-or { color:rgba(255,255,255,.35);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase; }
  .btn-cw { background:rgba(255,255,255,.12);color:#fff;font-weight:500;font-size:.88rem;letter-spacing:.05em;padding:11px 26px;border-radius:var(--r);border:1px solid rgba(255,255,255,.32);text-decoration:none;transition:background .2s,border-color .2s; }
  .btn-cw:hover { background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.55); }
  .btn-cw:active { background:rgba(255,255,255,.3); }

  /* FOOTER */
  footer { background:var(--navy);border-top:1px solid rgba(255,255,255,.06);padding:48px 56px 34px; }
  .ft { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:26px; }
  .fb p { font-size:.87rem;color:rgba(255,255,255,.38);line-height:1.8;margin-top:14px;max-width:270px; }
  .fc h4 { font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px; }
  .fc ul { list-style:none;display:flex;flex-direction:column;gap:9px; }
  .fc li { font-size:.87rem;color:rgba(255,255,255,.52); }
  .fb2 { display:flex;align-items:center;justify-content:space-between;font-size:.77rem;color:rgba(255,255,255,.44); }

  /* PRICING */
  .price-g { display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:48px; }
  .pc { background:var(--white);border:1px solid var(--border);padding:30px 26px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,box-shadow .25s; }
  .pc:hover { transform:translateY(-3px);box-shadow:var(--sh-2); }
  .pc-feat { background:linear-gradient(155deg,#d8bd83 0%,#c9a96e 100%);border-color:#c9a96e; }
  .pc-l { font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray); }
  .pc-feat .pc-l { color:var(--navy); }
  .pc-v { font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:700;color:var(--navy);line-height:1; }
  .pc-feat .pc-v { color:var(--navy); }
  .pc-d { font-size:.82rem;color:var(--gray);line-height:1.6; }
  .pc-feat .pc-d { color:rgba(13,31,45,.72); }
  .price-note { margin-top:24px;font-size:.92rem;color:var(--gray);line-height:1.7; }
  .price-note strong { color:var(--navy); }

  /* REVIEWS */
  .rev-g { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px; }
  .rev { position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:30px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--sh-1);overflow:hidden; }
  .rev::before { content:'\201C';position:absolute;top:6px;right:22px;font-family:'Cormorant Garamond',serif;font-size:3.6rem;line-height:1;color:rgba(201,169,110,.20);pointer-events:none; }
  .rev-stars { position:relative;color:var(--sand);font-size:1.05rem;letter-spacing:.12em; }
  .rev-q { font-size:.95rem;color:var(--navy);line-height:1.75;font-style:italic;flex:1; }
  .rev-by { display:flex;align-items:center;gap:11px;font-size:.85rem;color:var(--gray);font-weight:500; }
  .rev-av { width:34px;height:34px;border-radius:50%;background:var(--teal3);color:var(--teal);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0; }

  /* FAQ */
  .faq-l { margin-top:44px;max-width:820px; }
  .faq { border-bottom:1px solid var(--border);padding:4px 0; }
  .faq summary { list-style:none;cursor:pointer;padding:20px 36px 20px 0;font-family:'Cormorant Garamond',serif;font-size:1.22rem;font-weight:600;color:var(--navy);position:relative;transition:color .2s; }
  .faq summary::-webkit-details-marker { display:none; }
  .faq summary::after { content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--teal);font-family:'DM Sans',sans-serif;transition:transform .25s; }
  .faq[open] summary::after { transform:translateY(-50%) rotate(45deg); }
  .faq summary:hover { color:var(--teal); }
  .faq p { font-size:.95rem;color:var(--gray);line-height:1.8;padding:0 0 22px; }

  /* ATMOSPHERIC BAND */
  .band { position:relative;min-height:440px;display:flex;align-items:center;justify-content:center;text-align:center;padding:96px 56px;background:var(--navy);overflow:hidden; }
  .band-bg { position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed; }
  .band-ov { position:absolute;inset:0;background:linear-gradient(rgba(13,31,45,.74),rgba(13,31,45,.78)); }
  .band-cnt { position:relative;z-index:2;max-width:740px; }
  .band-cnt h2 { font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,2.9rem);color:#fff;font-weight:700;line-height:1.15;margin:8px 0 18px; }
  .band-cnt h2 em { font-style:normal;color:var(--sand2); }
  .band-cnt p { color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.75;max-width:560px;margin:0 auto 28px; }

  /* CTA STRIP IMAGE */
  .cta-s { position:relative;overflow:hidden; }
  .cta-bg { position:absolute;inset:0;background-size:cover;background-position:center;z-index:0; }
  .cta-s::after { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,31,45,.9) 0%,rgba(18,44,60,.8) 100%);z-index:1; }
  .cta-s > h2, .cta-s > .cta-r { position:relative;z-index:2; }

  /* STICKY MOBILE CALL BAR */
  .callbar { display:none; }

  /* RESPONSIVE */
  @media(max-width:900px){
    nav,nav.scrolled{padding:13px 20px;}
    .nav-toggle{display:flex;}
    .nav-links{position:fixed;top:0;right:0;height:100vh;width:min(84vw,330px);flex-direction:column;align-items:stretch;gap:0;background:rgba(13,31,45,.99);backdrop-filter:blur(14px);padding:86px 24px 28px;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;box-shadow:-8px 0 44px rgba(0,0,0,.45);}
    .nav-links.open{transform:translateX(0);}
    .nav-item,.nav-links>a{width:100%;}
    .nav-links>a,.nav-item>a{display:block;padding:14px 2px;font-size:1.02rem;border-bottom:1px solid rgba(255,255,255,.08);}
    .nav-item>a svg{float:right;margin-top:6px;}
    .dd{position:static;opacity:1;visibility:visible;transform:none;background:none;border:none;box-shadow:none;padding:2px 0 10px 14px;min-width:0;}
    .dd a{font-size:.92rem;padding:9px 8px;color:rgba(255,255,255,.6);}
    .nav-cta{margin-top:16px;text-align:center;border-bottom:none!important;}
    .hero-cnt{padding:0 20px;}
    .tbar{padding:0 20px;}
    .ti{padding:16px 18px 16px 0;margin-right:18px;}
    .sec{padding:72px 20px;}
    .about-g,.form-g{grid-template-columns:1fr;gap:40px;}
    .srv-g,.why-g{grid-template-columns:1fr 1fr;}
    .gal-g{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,200px);}
    .gi:first-child{grid-row:auto;}
    .ba-g{grid-template-columns:1fr;}
    .price-g{grid-template-columns:1fr 1fr;}
    .rev-g{grid-template-columns:1fr;}
    .band{min-height:auto;padding:64px 20px;}
    .band-bg{background-attachment:scroll;}
    .fr{grid-template-columns:1fr;}
    .cta-s{padding:56px 20px;flex-direction:column;align-items:flex-start;}
    footer{padding:40px 20px 28px;padding-bottom:84px;}
    .fb2{flex-direction:column;gap:6px;}
    .ft{grid-template-columns:1fr;gap:26px;}
    /* sticky click-to-call bar */
    .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:300;background:var(--navy);border-top:1px solid rgba(201,169,110,.25);padding:10px 14px;gap:10px;box-shadow:0 -4px 20px rgba(0,0,0,.25);}
    .callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:var(--r);font-size:.92rem;font-weight:600;letter-spacing:.03em;text-decoration:none;transition:background .15s,transform .15s;}
    .callbar a:active{transform:scale(.97);}
    .callbar .cb-call{background:var(--sand);color:var(--navy);}
    .callbar .cb-quote{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);}
  }
  @media(max-width:560px){
    .srv-g,.why-g{grid-template-columns:1fr;}
    .price-g{grid-template-columns:1fr;}
  }
  

  /* ===== INTERIOR PAGES ===== */
  .phero { position:relative;background:var(--navy);padding:150px 56px 70px;overflow:hidden; }
  .phero::before { content:'';position:absolute;inset:0;background:radial-gradient(circle at 82% 0%, rgba(34,137,122,.18), transparent 55%); }
  .phero-in { position:relative;z-index:2;max-width:1100px;margin:0 auto; }
  .crumb { font-size:.78rem;color:rgba(255,255,255,.45);margin-bottom:18px; }
  .crumb a { color:var(--sand);text-decoration:none; }
  .crumb a:hover { text-decoration:underline; }
  .phero h1 { font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4.5vw,3.5rem);color:#fff;font-weight:700;line-height:1.08;margin-bottom:18px;max-width:780px; }
  .phero h1 em { font-style:normal;color:var(--sand); }
  .phero-sub { font-size:1.05rem;color:rgba(255,255,255,.72);line-height:1.7;max-width:640px;margin-bottom:30px; }
  .phero-btns { display:flex;gap:14px;flex-wrap:wrap; }

  .prose { max-width:760px; }
  .prose.wide { max-width:1100px; }
  .prose h2 { font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.1rem);color:var(--navy);font-weight:700;line-height:1.2;margin:0 0 16px; }
  .prose h3 { font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--navy);font-weight:600;margin:30px 0 10px; }
  .prose p { font-size:1rem;color:var(--gray);line-height:1.85;margin-bottom:16px; }
  .prose ul { list-style:none;margin:0 0 20px;padding:0; }
  .prose li { position:relative;padding-left:28px;font-size:1rem;color:var(--gray);line-height:1.7;margin-bottom:11px; }
  .prose li::before { content:'';position:absolute;left:0;top:7px;width:15px;height:15px;border-radius:50%;background:var(--teal3); }
  .prose li::after { content:'';position:absolute;left:5px;top:11px;width:4px;height:7px;border:solid var(--teal);border-width:0 2px 2px 0;transform:rotate(45deg); }
  .prose a { color:var(--teal);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(26,107,90,.3); }
  .prose a:hover { border-color:var(--teal); }
  .prose strong { color:var(--navy); }
  .lead { font-size:1.12rem!important;color:var(--navy)!important;line-height:1.8!important; }

  .rel-g { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px; }
  .rel { display:block;background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:24px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s; }
  .rel:hover { transform:translateY(-3px);box-shadow:var(--sh-2);border-color:rgba(26,107,90,.3); }
  .rel h4 { font-family:'Cormorant Garamond',serif;font-size:1.22rem;color:var(--navy);font-weight:600;margin-bottom:6px; }
  .rel p { font-size:.85rem;color:var(--gray);line-height:1.6; }
  .rel-go { display:inline-block;margin-top:12px;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--teal); }

  .split { display:grid;grid-template-columns:1.55fr 1fr;gap:60px;align-items:start; }
  .aside-card { background:var(--navy);border-radius:var(--r-md);padding:32px 30px;position:sticky;top:90px; }
  .aside-card h3 { font-family:'Cormorant Garamond',serif;color:#fff;font-size:1.4rem;font-weight:700;margin-bottom:8px; }
  .aside-card p { color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.7;margin-bottom:18px; }
  .ac-ph { display:block;font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--sand2);text-decoration:none;font-weight:700;margin-bottom:16px; }
  .ac-list { list-style:none;padding:0;margin:0; }
  .ac-list li { color:rgba(255,255,255,.7);font-size:.85rem;padding:8px 0 8px 24px;position:relative;border-top:1px solid rgba(255,255,255,.08); }
  .ac-list li::before { content:'\2713';position:absolute;left:0;color:var(--sand); }

  .fc a { color:rgba(255,255,255,.52);text-decoration:none;transition:color .2s; }
  .fc a:hover { color:var(--sand); }
  .sc-link { text-decoration:none;color:inherit;display:block; }

  @media(max-width:900px){
    .phero{ padding:118px 20px 54px; }
    .rel-g{ grid-template-columns:1fr; }
    .split{ grid-template-columns:1fr;gap:34px; }
    .aside-card{ position:static; }
  }

  .sc h3 a{ color:inherit; text-decoration:none; }
  .sc:hover h3 a{ color:var(--teal); }
