:root{--ink:#10343a;--ink2:#0b2428;--ivory:#fbf4e8;--sand:#f1e4cf;--coral:#ef5b34;--coral-d:#c63f1b;--mute:#4f6468;--display:'Rozha One',Georgia,serif;--body:'Karla',system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{font-family:var(--body);font-size:1.08rem;line-height:1.65;color:var(--ink);background:var(--ivory);overflow-x:clip}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.02;color:var(--ink)}
.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coral-d);display:block;margin-bottom:.7rem}
.dark{background:var(--ink);color:#e9efef}.dark h2,.dark h3{color:var(--ivory)}.dark .eyebrow{color:#ff8a67}
section{padding:5.5rem 0;position:relative}
.btn-coral{background:var(--coral);color:#fff;border:0;border-radius:50rem;padding:.85rem 1.8rem;font-weight:700;letter-spacing:.03em}
.btn-coral:hover{background:var(--coral-d);color:#fff}
.btn-line{border:2px solid var(--ink);color:var(--ink);border-radius:50rem;padding:.75rem 1.7rem;font-weight:700}
.btn-line:hover{background:var(--ink);color:var(--ivory)}
/* nav (stacked centered) */
.topbar{background:var(--ink);color:#d8e4e4;font-size:.85rem;padding:.4rem 0;text-align:center;letter-spacing:.04em}
.topbar a{color:#ffb59e;font-weight:700;text-decoration:none}
.navbar.navbar-main{background:var(--ivory);border-bottom:1px solid rgba(16,52,58,.15);padding:.7rem 0 0}
.navbar-main .container{flex-direction:column}
.navbar-brand{font-family:var(--display);font-size:2.1rem;color:var(--ink);text-align:center;margin:0;line-height:1}
.navbar-brand small{display:block;font-family:var(--body);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--coral-d);font-weight:700;margin-top:.35rem}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center;width:100%}
.navbar-main .nav-link{color:var(--ink);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;padding:.9rem 1.2rem}
.navbar-main .nav-link:hover{color:var(--coral-d)}
.navbar-toggler{position:absolute;right:1rem;top:1.2rem;border-color:rgba(16,52,58,.4)}
@media(max-width:991px){.navbar-brand{font-size:1.6rem}.navbar-main .container{align-items:center}.navbar.navbar-expand-lg .navbar-collapse{padding-bottom:.6rem}}
/* strands motif */
.strand{display:block;width:100%;height:70px;color:var(--coral)}
.strand path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.strand.lt{color:#ff8a67;opacity:.7}
/* hero */
.hero{padding:4rem 0 5rem;background:var(--sand);overflow:hidden}
.hero::before{content:"";position:absolute;right:-12%;top:-30%;width:60vw;height:60vw;border-radius:50%;background:var(--coral);opacity:.12}
.hero h1{font-size:clamp(2.8rem,7.4vw,5.6rem);margin-bottom:1.2rem}
.hero h1 em{font-style:normal;color:var(--coral-d)}
.hero .lead{font-size:1.2rem;max-width:34rem;color:var(--mute)}
.est{display:inline-block;border:2px solid var(--ink);border-radius:50rem;padding:.25rem 1rem;font-weight:700;letter-spacing:.14em;font-size:.78rem;text-transform:uppercase;margin-bottom:1.4rem}
.arch{border-radius:999px 999px 18px 18px;overflow:hidden;box-shadow:14px 14px 0 var(--coral);aspect-ratio:4/5;max-width:400px;margin:0 auto;background:#ddd}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.arch-cap{text-align:center;margin-top:1.6rem;font-weight:700;font-size:.9rem}
.arch-cap span{display:block;font-weight:400;color:var(--mute)}
/* about */
.about p{font-size:1.15rem}
.stat{border-top:3px solid var(--coral);padding-top:.6rem}
.stat b{font-family:var(--display);font-size:2.6rem;display:block;line-height:1}
.stat span{font-size:.9rem;color:var(--mute)}
/* services price board */
.board{column-gap:3.5rem}
@media(min-width:992px){.board{columns:2}}
.cat{break-inside:avoid;margin-bottom:2.2rem}
.cat h3{font-size:1.7rem;color:var(--ink);border-bottom:3px solid var(--ink);padding-bottom:.35rem;margin-bottom:.7rem}
.cat ul{list-style:none;padding:0;margin:0}
.cat li{display:flex;align-items:baseline;gap:.5rem;padding:.22rem 0}
.cat li::after{content:"";order:2;flex:1;border-bottom:2px dotted rgba(16,52,58,.35);transform:translateY(-.25em)}
.cat li .n{order:1}.cat li .p{order:3;font-family:var(--display);color:var(--coral-d);font-size:1.15rem;white-space:nowrap}
.note{font-size:.92rem;color:var(--mute)}
.senior{background:var(--ink);color:#e9efef;padding:2rem;border-radius:18px;position:relative}
.senior h3{color:var(--ivory)}.senior li .p{color:#ffa98c}.senior li::after{border-color:rgba(255,255,255,.3)}
.senior .cat{margin:0}
.tan{background:var(--coral);color:#fff;padding:2rem;border-radius:18px}
.tan h3{color:#fff;border-color:#fff}.tan li .p{color:#fff}.tan li::after{border-color:rgba(255,255,255,.6)}
/* gallery */
.gal img{width:100%;height:100%;object-fit:cover;display:block;border-radius:14px;box-shadow:10px 10px 0 var(--coral)}
.gal .col-md-4{aspect-ratio:1/1.1}
@media(min-width:768px){.gal .col-md-4:nth-child(2){transform:translateY(2.2rem)}}
/* team */
.person{text-align:center;height:100%}
.person .ph{width:170px;height:210px;margin:0 auto 1.1rem;border-radius:999px 999px 14px 14px;overflow:hidden;border:3px solid var(--ivory);box-shadow:6px 6px 0 var(--coral)}
.person .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.person h3{font-size:1.6rem;margin-bottom:.1rem}
.person .role{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#ff8a67;margin-bottom:.8rem}
.person p{font-size:.98rem;color:#d3e0e0;text-align:left}
/* policy */
.accordion-item{background:transparent;border:0;border-bottom:2px solid var(--ink)}
.accordion-button{font-family:var(--display);font-size:1.35rem;background:transparent;color:var(--ink);box-shadow:none!important;padding:1.1rem 0}
.accordion-button:not(.collapsed){background:transparent;color:var(--coral-d)}
.accordion-body{padding:0 0 1.2rem}.accordion-body li{margin-bottom:.4rem}
/* contact */
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;border-bottom:1px dotted rgba(16,52,58,.35);padding:.35rem 0}
.hours li.closed{color:var(--mute)}
.contact-big{font-family:var(--display);font-size:clamp(2rem,5vw,3rem);color:var(--coral-d);text-decoration:none}
.map iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:14px}
footer{background:var(--ink2);color:#b8c8c9;padding:2.5rem 0;font-size:.95rem}
footer a{color:#ffb59e}
footer img.flogo{width:54px;height:auto;border-radius:8px}
