:root{--teal:#164a66;--teal-d:#0f3750;--cream:#fbf5ea;--peach:#f4b59b;--peach-l:#fbd9c9;--yellow:#f6c945;--ink:#1c2b36}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Nunito Sans',sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.brand-name,.stats b{font-family:'Bricolage Grotesque',sans-serif}
a{color:var(--teal)}
.utility{background:var(--teal-d);color:#dfeaf1;font-size:.85rem;padding:.4rem 0}
.utility a{color:var(--yellow);text-decoration:none;font-weight:700}
.main-nav{background:var(--cream);border-bottom:2px solid var(--teal)}
.brand-logo{width:48px;height:48px;object-fit:contain;margin-right:.6rem}
.brand-name{font-weight:800;color:var(--teal);font-size:1.25rem;line-height:1.05}
.brand-name small{display:block;font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.main-nav .nav-link{color:var(--teal);font-weight:700;padding:.5rem .8rem}
.main-nav .nav-link:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--peach);text-decoration-thickness:3px}
.btn{font-weight:700;border-radius:6px}
.btn-peach{background:var(--peach);color:var(--teal-d);border:2px solid var(--teal)}
.btn-peach:hover{background:var(--teal);color:#fff}
.btn-yellow{background:var(--yellow);color:var(--teal-d);border:2px solid var(--yellow)}
.btn-yellow:hover{background:#fff;color:var(--teal-d)}
.btn-outline-cream{border:2px solid #fff;color:#fff}
.btn-outline-cream:hover{background:#fff;color:var(--teal)}
.btn-teal{background:var(--teal);color:#fff;border:2px solid var(--teal)}
.btn-teal:hover{background:var(--teal-d);color:#fff}
.btn-outline-teal{border:2px solid var(--teal);color:var(--teal)}
.btn-outline-teal:hover{background:var(--teal);color:#fff}
.hero{background:var(--teal);color:#fff;padding:3rem 0 3.5rem}
.eyebrow{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--peach);margin-bottom:.75rem}
.eyebrow.dark{color:#a8452a}
.hero-title{font-weight:800;font-size:clamp(2.4rem,5.2vw,4.2rem);line-height:1.05;margin-bottom:1.2rem}
.ruled{position:relative;display:inline-block;padding-bottom:.18em;
  background:linear-gradient(var(--yellow),var(--yellow)) 0 100%/100% 3px no-repeat;color:#fff}
.hero-lead{font-size:1.12rem;color:#e6f0f5;max-width:36rem;margin-bottom:1.6rem}
.hero-photo{margin:0;border-radius:6px;box-shadow:14px 14px 0 var(--peach)}
.hero-photo img{display:block;width:100%;border-radius:6px;aspect-ratio:4/3;object-fit:cover;object-position:68% 40%;max-height:min(66vh,480px)}
.stats{background:var(--yellow);color:var(--teal-d);padding:1.6rem 0}
.stats b{display:block;font-size:1.7rem;font-weight:800;line-height:1.1}
.stats span{font-size:.9rem;font-weight:600}
.section{padding:5rem 0}
.section-title{font-weight:800;color:var(--teal);font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.1}
.section-title.light{color:#fff}
/* three-line handwriting guide: the signature moment */
.guide{height:26px;margin:1rem 0 1.5rem;width:min(320px,70%);
  background:
   linear-gradient(var(--teal),var(--teal)) 0 0/100% 2px no-repeat,
   repeating-linear-gradient(90deg,var(--peach) 0 10px,transparent 10px 18px) 0 50%/100% 2px no-repeat,
   linear-gradient(var(--teal),var(--teal)) 0 100%/100% 2px no-repeat}
.guide.light{background:
   linear-gradient(#fff,#fff) 0 0/100% 2px no-repeat,
   repeating-linear-gradient(90deg,var(--peach) 0 10px,transparent 10px 18px) 0 50%/100% 2px no-repeat,
   linear-gradient(#fff,#fff) 0 100%/100% 2px no-repeat}
.pillars{list-style:none;padding:0;margin:1.5rem 0 0}
.pillars li{padding:.55rem 0 .55rem 1.6rem;border-bottom:1px dashed rgba(22,74,102,.3);position:relative}
.pillars li::before{content:"";position:absolute;left:0;top:1.05rem;width:.75rem;height:.75rem;background:var(--yellow);border:2px solid var(--teal);border-radius:50%}
.about-photos{position:relative;display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;align-items:end}
.about-photos img{border-radius:6px;width:100%;object-fit:cover}
.about-photos .p1{aspect-ratio:4/5;object-position:30% 30%;box-shadow:10px 10px 0 var(--peach-l)}
.about-photos .p2{aspect-ratio:2/3;object-position:50% 35%;box-shadow:10px 10px 0 var(--yellow)}
.section-teal{background:var(--teal);color:#fff}
.index-list{margin-top:2.2rem;border-top:2px solid rgba(255,255,255,.4)}
.index-row{padding:1.6rem 0;border-bottom:2px solid rgba(255,255,255,.4)}
.index-row h3{font-weight:800;font-size:clamp(1.6rem,3vw,2.3rem);margin:0}
.tag{color:var(--peach);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.index-row p{margin:0;font-size:1.1rem;color:#e6f0f5}
.small-note{margin-top:1.5rem;color:#c9dbe6;font-size:.95rem}
.big-quote{margin:2.2rem 0;padding:2.2rem 1.5rem;background:var(--teal);color:#fff;border-radius:6px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(2rem,5vw,3.6rem);line-height:1.1;text-align:center}
.big-quote cite{display:block;margin:1rem auto 0;max-width:40rem;font-family:'Nunito Sans',sans-serif;font-weight:400;font-style:normal;font-size:1rem;color:var(--peach-l)}
.review{height:100%;background:#fff;border:2px solid var(--teal);border-radius:6px;padding:1.3rem 1.4rem;box-shadow:6px 6px 0 var(--peach-l)}
.review h3{font-weight:800;color:var(--teal);font-size:1.2rem}
.review p{margin:0}
.awards img{height:120px;width:auto}
.section-peach{background:var(--peach)}
.contact-card{background:var(--cream);border:2px solid var(--teal);border-radius:6px;padding:1.6rem;box-shadow:8px 8px 0 var(--teal)}
.contact-card h3{font-weight:800;color:var(--teal)}
.contact-lines{font-size:1.15rem;margin-bottom:1rem}
.staff{list-style:none;padding:0;margin:1.2rem 0}
.staff li{margin-bottom:.9rem;font-size:.97rem}
.staff b{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#a8452a}
.social a{font-weight:700}
.map-wrap{border:2px solid var(--teal);border-radius:6px;box-shadow:10px 10px 0 var(--yellow);overflow:hidden;height:100%;min-height:360px}
.map-wrap iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
.site-footer{background:var(--teal-d);color:#dfeaf1;padding:2.5rem 0}
.footer-chip{background:var(--cream);border-radius:8px;padding:6px;display:inline-block}
.footer-chip img{width:54px;height:54px;object-fit:contain;display:block}
.site-footer a{color:var(--yellow)}
.eo{font-size:.8rem;color:#a9c0cf;margin-bottom:.5rem}
.powered{margin:0;font-size:.9rem}
@media(max-width:991px){.section{padding:3.5rem 0}.hero{padding:1.5rem 0 2.5rem}.hero-photo{box-shadow:8px 8px 0 var(--peach);margin-right:8px}.hero-photo img{max-height:300px}.utility{display:none}}
@media(max-width:575px){.about-photos{grid-template-columns:1fr 1fr;gap:.8rem}.brand-name{font-size:1.05rem}.awards img{height:90px}}
