/* serenitech.services — site-specific rules on top of serenitech-ds.css (DS v1.0).
   Only layout helpers for this page; tokens/components come from the DS. */

/* language switch: only the active language is rendered */
[data-lang]:not(.lang-active){display:none!important}
.st-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* family bar — existing language selector, restyled small & white */
.st-lang{position:relative}
.st-lang .lang-trigger{color:#fff;font-weight:600;letter-spacing:.04em}
.st-lang .lang-caret{font-size:10px;color:#cfcfcf}
.st-lang .lang-menu{display:none;position:absolute;right:0;top:100%;z-index:70;min-width:170px;margin:6px 0 0;padding:4px 0;list-style:none;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-h)}
.st-lang.open .lang-menu{display:block}
.ds-familybar .st-lang .lang-menu button{display:flex;width:100%;padding:9px 14px;color:var(--g80);font-size:13px;font-weight:500;text-align:left}
.ds-familybar .st-lang .lang-menu button:hover{background:var(--g2);color:var(--red)}
.ds-familybar .st-lang .lang-menu button.active{color:var(--red);font-weight:700}

/* header: show the signature as soon as there is room */
@media (min-width:1024px){.ds-brand-sig{display:block}}
html.ds-contrast .ds-brand-sig strong{color:#fff}
.ds-burger svg{display:block}

/* drawer: not reachable by keyboard while closed */
.ds-drawer{visibility:hidden;transition:transform .2s ease-out,visibility 0s linear .2s}
body.ds-drawer-open .ds-drawer{visibility:visible;transition:transform .2s ease-out}
.ds-drawer-head .ds-burger{font-size:0}

/* hero */
.st-hero{background:linear-gradient(180deg,var(--white),var(--g2));border-bottom:1px solid var(--line)}
.st-hero-grid{display:grid;gap:48px;align-items:start}
@media (min-width:1024px){.st-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px}}
.st-hero .ds-h1{margin-top:24px;max-width:16ch}
.st-hero .ds-lead{margin-top:24px;max-width:62ch}
.st-hero .ds-actions{margin-top:32px}
.st-fine{margin:24px 0 0}
.st-photo{margin:0;aspect-ratio:auto;height:280px}
@media (min-width:768px){.st-photo{height:340px}}
.st-photo picture{display:block;height:100%}
.st-products{margin-top:24px}
.st-products ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.st-products a{display:block;padding:16px;border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none!important;transition:border-color .15s,background-color .15s}
.st-products a:hover{border-color:var(--g20);background:var(--g2)}
.st-products img{display:block;height:18px;width:auto}
.st-products img.is-serif{height:24px;margin-top:-3px}
.st-products p{margin:8px 0 0;font-size:var(--fs-micro);line-height:1.45;color:var(--text-2)}
.st-products .ds-eyebrow{margin:0}

/* family 2x2 */
.st-family{margin-top:48px}
@media (min-width:1024px){.st-family{grid-template-columns:repeat(2,minmax(0,1fr))}}
.st-fam{display:flex;flex-direction:column;padding:32px}
.st-fam img{display:block;height:28px;width:auto;align-self:flex-start}
.st-fam img.is-serif{height:38px;margin-top:-5px}
.ds-card.st-fam p{margin-top:24px;flex:1;font-size:var(--fs-micro);line-height:1.55}
@media (min-width:768px){.ds-card.st-fam p{font-size:var(--fs-base)}}
.st-fam .st-link{margin-top:24px;font-weight:600;align-self:flex-start}

/* about */
.st-about .ds-prose{margin-top:24px}

/* why Monaco */
.st-monaco{margin-top:48px;display:grid;gap:40px}
@media (min-width:1024px){.st-monaco{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:64px}}
.st-reasons{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.st-reasons li{display:flex;align-items:flex-start;gap:16px;padding:20px}
.st-reasons svg{flex:none;width:24px;height:24px;margin-top:2px;color:var(--red)}
.ds-card.st-reason p{font-size:var(--fs-micro);line-height:1.5}
@media (min-width:768px){.ds-card.st-reason p{font-size:var(--fs-base)}}
.st-pano{height:320px}
@media (min-width:1024px){.st-pano{height:460px}}
.st-pano picture{display:block;height:100%}

/* "Parlons." band */
.st-contact{background:var(--red);color:#fff}
html.ds-contrast .st-contact{background:#000;border-block:1px solid #666}
.st-contact .ds-h2{color:#fff}
.st-contact p{margin:24px 0 0;max-width:72ch;font-size:var(--fs-1);line-height:1.45;color:rgba(255,255,255,.92)}
.st-contact .ds-btn{margin-top:32px}

/* footer: 3 columns on this site */
@media (min-width:768px){.ds-footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.ds-footer .st-tagline{margin:0;color:#fff;font-weight:600;line-height:1.5}
.ds-footer .st-note{margin:-6px 0 14px;font-size:11px;color:#9a9a9a}
.ds-footer p{margin:0;line-height:1.6}
.ds-footer-bottom{margin-top:40px}
.ds-subfooter a.st-textlink{font:500 12px/1 var(--font);color:#cfcfcf;text-decoration:none}
.ds-subfooter a.st-textlink:hover{color:#fff}
