:root{--ink:#14213D;--soft:#4A5672;--blue:#1E3F9E;--blue-d:#152E76;--sky:#E4ECFB;--line:#D6DEEE;--gold:#E9B023;--red:#C3122B;--white:#fff;
--dog:#FFE9B8;--cat:#D9E8FF;--bird:#D2F0D9;--reptile:#FFE0C7;--mammal:#FADCEF;--tint:var(--dog)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Inter,Roboto,system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--white);font-feature-settings:"cv11","ss03"}
img{max-width:100%;height:auto;display:block}a{color:var(--blue)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1,h2,h3{line-height:1.08;margin:0 0 .5em;letter-spacing:-.03em;font-weight:800}
h1{font-size:clamp(2.5rem,6vw,4.6rem)}h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}h3{font-size:1.25rem;letter-spacing:-.015em;font-weight:700;line-height:1.25}
p{margin:0 0 1em;max-width:68ch}.lead{font-size:1.2rem;color:var(--soft)}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}section{padding:clamp(56px,8vw,104px) 0}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:50}
/* header */
.util{background:var(--blue-d);color:#fff;font-size:.88rem}.util .wrap{display:flex;justify-content:space-between;gap:16px;padding:7px 0;flex-wrap:wrap}.util a{color:#fff;text-decoration:none}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.1;font-size:1.06rem}.brand img{height:54px;width:auto}
nav.main ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;align-items:center}
nav.main a{display:block;padding:9px 11px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;border-radius:8px}
nav.main a:hover,nav.main a[aria-current]{background:var(--sky);color:var(--blue-d)}nav.main a.er{color:var(--red)}
.menu{display:none;background:none;border:1.5px solid var(--line);border-radius:8px;padding:9px 13px;font:600 .95rem Inter,sans-serif;color:var(--ink)}
.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--blue);background:var(--blue);color:#fff;font-size:1rem;font-family:inherit;cursor:pointer}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d)}.btn.alt{background:transparent;color:var(--blue)}.btn.alt:hover{background:var(--blue);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
/* hero: tint follows the chosen species */
.hero{background:var(--tint);transition:background .35s;padding:clamp(36px,5vw,64px) 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end}
.hero-copy{padding-bottom:clamp(36px,5vw,64px)}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.tabs button{font:600 .98rem Inter,sans-serif;padding:9px 16px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.hero-note{min-height:3.4em;font-size:1.15rem;margin-bottom:6px}
.hero-note a{font-weight:700;color:var(--ink)}
.arch{border-radius:999px 999px 0 0;overflow:hidden;background:var(--sky);position:relative}
.arch img{width:100%;height:100%;object-fit:cover}
.hero-arch{aspect-ratio:4/5;background:rgba(255,255,255,.65);max-width:440px;justify-self:end;width:100%}
.hero-arch img{position:absolute;inset:0}.hero-arch img.cut{object-fit:contain;object-position:bottom;inset:auto 0 0 0;height:82%;width:100%}
/* facts band */
.facts{background:var(--ink);color:#fff;padding:0}.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.facts div{padding:24px 26px;border-left:1px solid rgba(255,255,255,.18)}.facts div:first-child{border-left:0;padding-left:0}
.facts b{display:block;font-size:1.05rem}.facts a{color:#fff}.facts span{color:#C9D3EA;font-size:.95rem}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.split.rev>:first-child{order:2}
.split img.ph{border-radius:14px;width:100%;object-fit:cover}
.tall{aspect-ratio:4/5}
/* species strip: one continuous row of arches */
.arches{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px}
.arches a{text-decoration:none;color:var(--ink);font-weight:700;font-size:1.1rem}
.arches .arch{aspect-ratio:3/4;margin-bottom:12px;transition:transform .2s}.arches a:hover .arch{transform:translateY(-6px)}
.arches small{display:block;font-weight:400;color:var(--soft);font-size:.92rem;line-height:1.4}
.arches .arch img.cut{object-fit:contain;object-position:bottom;position:absolute;inset:auto 0 0 0;height:78%}
.t-dog{background:var(--dog)}.t-cat{background:var(--cat)}.t-bird{background:var(--bird)}.t-reptile{background:var(--reptile)}.t-mammal{background:var(--mammal)}
/* service rows */
.rows{border-top:2px solid var(--ink);margin:0}.rows>div{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.rows dt,.rows h3{font-weight:700;margin:0;font-size:1.08rem}.rows dd,.rows p{margin:0;color:var(--soft)}
.band{background:var(--sky)}
.quotes{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
blockquote{margin:0}blockquote p{font-size:1.1rem;font-weight:500}blockquote:first-child p{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}
cite{font-style:normal;color:var(--soft);font-size:.92rem}
.pagehead{background:var(--tint);padding:clamp(40px,6vw,76px) 0}.pagehead p{font-size:1.18rem;margin:0}
.pagehead.hasart{padding-bottom:0;overflow:hidden}.pagehead.hasart .wrap{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:end}.pagehead.hasart .txt{padding-bottom:clamp(40px,6vw,76px)}
.pagehead .arch{aspect-ratio:4/5;background:rgba(255,255,255,.65);max-width:300px;justify-self:end;width:100%}
.pagehead .arch img.cut{object-fit:contain;object-position:bottom;position:absolute;inset:auto 0 0 0;height:80%}
.side{display:grid;grid-template-columns:1fr 340px;gap:clamp(32px,6vw,72px);align-items:start}
.panel{background:var(--sky);border-radius:14px;padding:24px;position:sticky;top:100px}.panel h3{margin-bottom:.4em}.panel ul{margin:0 0 12px;padding-left:18px}.panel p{font-size:.97rem}
.signs{columns:2;gap:32px;padding-left:18px}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px 18px}.team img{aspect-ratio:4/5;width:100%;object-fit:cover;object-position:top;border-radius:999px 999px 0 0;background:var(--sky)}
.team b{display:block;margin-top:8px}.team span{color:var(--soft);font-size:.93rem}
.docs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,56px)}.docs img{aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:999px 999px 0 0;width:min(320px,100%);background:var(--sky);margin-bottom:16px}
.logos{display:flex;flex-wrap:wrap;gap:28px;align-items:center}.logos img{height:58px;width:auto}
.offers{display:grid;gap:0;border-top:2px solid var(--ink)}.offer{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.offer h3{font-size:1.5rem;letter-spacing:-.02em}
.tag{display:inline-block;background:var(--gold);padding:3px 11px;border-radius:999px;font-weight:700;font-size:.9rem;margin-bottom:8px}
form.demo{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;max-width:720px}form.demo label{font-weight:600;font-size:.95rem;display:block}form.demo .full{grid-column:1/-1}
input,select,textarea{width:100%;padding:12px;margin-top:5px;border:1.5px solid #9AA8C4;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.msg{grid-column:1/-1;background:var(--sky);padding:12px 14px;border-radius:8px;display:none;margin:0}.msg.on{display:block}
.gallery{columns:4 220px;gap:16px}.gallery figure{margin:0 0 16px;break-inside:avoid}.gallery img{width:100%;border-radius:12px}.gallery figcaption{font-weight:600;padding-top:5px;font-size:.95rem}
.er-card{border:2px solid var(--ink);border-radius:14px;padding:24px}.er-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.map{border:0;width:100%;height:420px;border-radius:14px;display:block}
details{border-bottom:1px solid var(--line);padding:14px 0}summary{font-weight:700;cursor:pointer}details p{margin:.6em 0 0;color:var(--soft)}
.callout{background:var(--red);color:#fff;padding:14px 0;font-weight:600}.callout a{color:#fff}
footer.site{background:var(--ink);color:#DCE3F2;padding:56px 0 96px;font-size:.96rem}footer a{color:#fff;text-decoration:none}footer a:hover{text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.fgrid h3{color:#fff;font-size:1rem}.fgrid ul{list-style:none;margin:0;padding:0}.fgrid li{margin-bottom:6px}
.fbrand{background:#fff;display:inline-block;padding:6px 10px;border-radius:10px;margin-bottom:12px}.fbrand img{height:58px}
.credit{border-top:1px solid rgba(255,255,255,.2);margin-top:32px;padding-top:16px;font-size:.87rem;color:#AEBBD6}
.callbar{display:none}
@media(max-width:1060px){.menu{display:block}nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 16px}nav.main.open{display:block}nav.main ul{display:block}nav.main a{padding:12px 8px;font-size:1.05rem}}
@media(max-width:860px){.hero .wrap,.split,.side,.docs,.er-grid,.pagehead.hasart .wrap{grid-template-columns:1fr}.split.rev>:first-child{order:0}.hero-copy{padding-bottom:0}.hero-arch{justify-self:center;max-width:300px}.pagehead .arch{display:none}.pagehead.hasart{padding-bottom:40px}.pagehead.hasart .txt{padding-bottom:0}
.facts .wrap{grid-template-columns:1fr}.facts div{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:16px 0}.facts div:first-child{border-top:0}
.arches{grid-template-columns:repeat(2,1fr)}.arches a:last-child{grid-column:1/-1;max-width:50%;margin-inline:auto}.quotes{grid-template-columns:1fr}.rows>div,.offer{grid-template-columns:1fr;gap:6px}.panel{position:static}.fgrid{grid-template-columns:1fr 1fr}.signs{columns:1}
.callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30}.callbar a{padding:15px;text-align:center;font-weight:700;color:#fff;text-decoration:none;background:var(--blue)}.callbar a+a{background:var(--ink)}
form.demo{grid-template-columns:1fr}.util .hide{display:none}body{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
