/* Blue Ripple Gardens — brand: navy #1e4079 · gradient #51baea → #00b7ce (Fancy Puddle brand guide, name updated) */
:root{
  --navy:#1e4079; --teal:#00b7ce; --sky:#51baea; --wash:#e5f6f9;
  --ink:#23304a; --mut:#5c6a85; --bg:#f8f9fb; --card:#fff; --line:#e2e6ee;
  --ok:#3f7d2c; --ok-soft:#e9f3e2;
  --shadow:0 1px 3px rgba(20,35,70,.08),0 4px 14px rgba(20,35,70,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--navy)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* header */
.eb-strip{background:linear-gradient(90deg,var(--sky),var(--teal));color:#14356b;font-size:13.5px;text-align:center;padding:8px 16px;font-weight:500}
.eb-strip b{color:#0d2a5c}
.eb-strip a{color:#fff}
header.site{background:var(--card);border-bottom:1px solid var(--line)}
.site-top{display:flex;align-items:center;gap:26px;padding:15px 0;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.wordmark{font-family:"Century Gothic","Futura","Questrial","Trebuchet MS",sans-serif;font-size:18px;color:var(--navy);font-weight:300;letter-spacing:.2em;text-transform:uppercase;line-height:1.15}
.wordmark b{font-weight:700}
.tagline{font-size:10.5px;color:var(--mut);margin-top:2px;letter-spacing:.03em}
nav.main{display:flex;gap:20px;margin-left:auto;align-items:center;flex-wrap:wrap}
nav.main a{color:var(--ink);text-decoration:none;font-size:14.5px;padding:4px 2px;border-bottom:2px solid transparent}
nav.main a:hover{border-color:var(--teal)}
nav.main a.active{border-color:var(--teal);color:var(--navy);font-weight:600}
.btn{display:inline-block;border:none;border-radius:8px;padding:11px 20px;font-size:14.5px;font-weight:600;cursor:pointer;text-decoration:none;text-align:center}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--navy)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--teal)}

/* hero + home */
.hero{padding:46px 0 36px;background:linear-gradient(180deg,#edf4fb 0%,var(--bg) 100%)}
.hero-cols{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
.hero h1{font-size:34px;color:var(--navy);line-height:1.22;font-weight:800}
.hero p{margin:14px 0 22px;font-size:16.5px;color:#37476b;max-width:56ch}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:26px;margin-top:26px;flex-wrap:wrap}
.trust div{font-size:13px;color:var(--mut)}
.trust b{display:block;color:var(--navy);font-size:15px}
.photogrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.photogrid img{width:100%;height:140px;object-fit:cover;border-radius:10px;box-shadow:var(--shadow)}
.photogrid img:first-child{grid-column:1/3;height:190px}
.cattiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:34px 0 8px}
.cattile{position:relative;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);height:160px;display:block}
.cattile img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.cattile:hover img{transform:scale(1.04)}
.cattile span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(30,64,121,.88));color:#fff;font-weight:700;padding:26px 14px 10px;font-size:15.5px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:14px 0 48px}
.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;font-size:13.5px;color:#37476b}
.step b{display:block;color:var(--navy);margin-bottom:4px;font-size:14.5px}
.step .num{display:inline-block;background:linear-gradient(90deg,var(--sky),var(--teal));color:#fff;font-weight:800;border-radius:50%;width:26px;height:26px;text-align:center;line-height:26px;margin-bottom:8px}
h2.sec{font-weight:800;color:var(--navy);font-size:25px;margin:10px 0 6px}
.lede{color:#37476b;max-width:64ch}

/* catalog */
.chips{display:flex;gap:8px;margin:16px 0 22px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 15px;font-size:13.5px;cursor:pointer;color:var(--ink);text-decoration:none}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding:6px 0 50px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .12s}
.card:hover{transform:translateY(-2px)}
.card img{width:100%;height:172px;object-fit:cover;background:#e9eef5}
.card .body{padding:13px 15px 15px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:15.5px;color:var(--navy);line-height:1.25}
.card .desc{font-size:12.8px;color:var(--mut);flex:1}
.locked{font-size:12.6px;color:#0d6b7a;background:var(--wash);border-radius:6px;padding:6px 9px}

/* product page */
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;margin:26px 0 20px}
.pcols img{border-radius:12px;box-shadow:var(--shadow);width:100%;object-fit:cover}
.pbody h1{font-size:27px;color:var(--navy);line-height:1.25}
.pbody .sku{color:var(--mut);font-size:13px;margin:2px 0 12px}
.pbody p{color:#37476b;margin-bottom:14px}
.speclist{margin:0 0 16px 18px;color:#37476b;font-size:14.5px}
.speclist li{margin-bottom:4px}
.packs{font-size:13.5px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:16px}
.packs b{color:var(--navy)}
.gate{background:var(--wash);border:1px solid #cfe9ee;border-radius:10px;padding:14px 16px;font-size:14px;margin-bottom:16px}
.crumbs{font-size:12.5px;color:var(--mut);margin-top:18px}
.crumbs a{color:var(--mut)}

/* forms */
.formcard{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:26px 28px;max-width:640px;margin:20px 0 50px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.field label em{color:#b03a2e;font-style:normal}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:7px;font-size:14.5px;font-family:inherit;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note{font-size:12.5px;color:var(--mut)}
.callout{background:var(--wash);border:1px solid #cfe9ee;border-radius:8px;padding:12px 14px;font-size:13.5px;margin:14px 0}
.ok-msg{background:var(--ok-soft);border:1px solid #cfe2be;border-radius:8px;padding:14px 16px;display:none}

/* prose pages */
.prose{max-width:760px;padding:10px 0 50px}
.prose h1{font-size:29px;color:var(--navy);margin:24px 0 10px}
.prose h2{font-size:20px;color:var(--navy);margin:22px 0 8px}
.prose p,.prose li{color:#37476b;font-size:15px;margin-bottom:10px}
.prose ul,.prose ol{margin-left:20px}

/* footer */
.brandbar{height:5px;background:linear-gradient(90deg,var(--sky) 0%,var(--teal) 60%,var(--navy) 60%)}
footer{background:var(--navy);color:#b9c8e6;padding:36px 0;font-size:13.5px}
footer .cols{display:flex;gap:60px;flex-wrap:wrap}
footer b{color:#fff;display:block;margin-bottom:8px;font-size:14px}
footer a{color:#8fd9ec;text-decoration:none}
footer .fine{margin-top:22px;font-size:12px;color:#8ea2cf}

@media(max-width:720px){
  .hero-cols,.pcols,.two{grid-template-columns:1fr}
  .hero h1{font-size:27px}
}
