.home-page{--paper:#fff;--ground:#f5f5f7;--ink:#1d1d1f;--secondary:#6e6e73;--accent:#a90088;--hover:#87006d;--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(24px,5vw,80px)}
.home-page *{box-sizing:border-box}
.home-page{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
.home-page a{color:inherit;text-decoration:none}
.home-page button{font:inherit;cursor:pointer;border:0}
.home-page button,.home-page a,.home-page summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.home-page img{display:block;max-width:100%}
.home-page h1,.home-page h2,.home-page h3,.home-page p,.home-page figure{margin:0}
.home-page h1,.home-page h2,.home-page h3{font-weight:600;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}
.home-page p{text-wrap:pretty;line-height:1.45}
.home-page button:focus-visible,.home-page a:focus-visible,.home-page summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.home-page ::selection{background:var(--accent);color:#fff}
.home-page .hm-wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}
.home-page .hm-button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:white;border-radius:999px;padding:13px 23px;min-height:46px;font-size:16px;line-height:1.3;transition:background 180ms,transform 180ms var(--ease)}
.home-page .hm-button:hover{background:var(--hover)}
.home-page .hm-button:active{transform:scale(.97)}
.home-page .hm-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:17px;line-height:1.3}
.home-page .hm-link:hover{text-decoration:underline}
.home-page .hm-link svg{width:12px;height:14px;fill:none;stroke:currentColor;stroke-width:1.65;transition:transform .2s}
.home-page .hm-link:hover svg{transform:translateX(3px)}
.home-page .hm-actions{display:flex;justify-content:center;align-items:center;gap:26px}
.home-page .hm-hero{background:var(--ground);overflow:hidden}
.home-page .hm-hero-copy{padding:53px 24px 35px;text-align:center}
.home-page .hm-hero h1{font-size:76px;line-height:1.03;letter-spacing:-.055em}
.home-page .hm-hero-lead{font-size:27px;letter-spacing:-.025em;margin:13px auto 24px;max-width:36ch;line-height:1.25}
.home-page .hm-hero-picture{overflow:hidden;height:clamp(380px,36.4vw,590px);position:relative}
.home-page .hm-hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transform:scale(1.025)}
.home-page .hm-hero-caption{position:absolute;bottom:17px;left:var(--gutter);color:#fff;font-size:13px;text-shadow:0 1px 5px #0009}
.home-page .hm-hero-copy h1,.home-page .hm-hero-lead,.home-page .hm-hero-copy .hm-actions{animation:hero-enter .8s var(--ease) both}
.home-page .hm-hero-lead{animation-delay:70ms}
.home-page .hm-hero-copy .hm-actions{animation-delay:120ms}
@keyframes hero-enter{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:none}}
.home-page .hm-life{padding-top:120px;padding-bottom:115px}
.home-page .hm-section-top{display:grid;grid-template-columns:1fr .77fr;align-items:end;gap:70px;margin-bottom:42px}
.home-page .hm-section-top h2{font-size:58px;max-width:15ch}
.home-page .hm-section-top>p{font-size:23px;letter-spacing:-.02em;max-width:37ch;line-height:1.4;color:var(--secondary)}
.home-page .hm-life-image{border-radius:28px;overflow:hidden;height:560px;position:relative;background:#e7e5e2}
.home-page .hm-life-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%;transition:opacity .22s}
.home-page .hm-life-image.swap img{opacity:.2}
.home-page .hm-image-caption{position:absolute;bottom:24px;left:30px;font-size:14px;color:#fff;text-shadow:0 1px 5px #0009}
.home-page .hm-scene-controls{display:flex;justify-content:center;margin-top:28px}
.home-page .hm-tabs{display:flex;background:#ededf0;border-radius:999px;padding:5px;gap:4px}
.home-page .hm-tabs button{background:transparent;color:var(--ink);padding:13px 23px;border-radius:999px;font-size:15px;min-height:46px;transition:background 220ms,color 220ms,transform 180ms}
.home-page .hm-tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.home-page .hm-tabs button:hover{background:#e0e0e4}
.home-page .hm-tabs button[aria-selected=true]:hover{background:#333336}
.home-page .hm-tabs button:active{transform:scale(.97)}
.home-page .hm-scene-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;margin:43px auto 0;max-width:1060px}
.home-page .hm-scene-copy h3{font-size:34px;max-width:17ch}
.home-page .hm-scene-description{font-size:21px;line-height:1.45;letter-spacing:-.02em;color:var(--secondary)}
.home-page .hm-scene-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:27px;font-size:16px;color:var(--secondary)}
.home-page .hm-scene-details strong{display:block;font-weight:600;color:var(--ink);margin-bottom:6px}
.home-page .hm-scene-copy .hm-link{margin-top:24px;font-size:16px}
.home-page .hm-corner{background:var(--ground);overflow:hidden}
.home-page .hm-corner-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:8%;padding-top:90px;padding-bottom:90px}
.home-page .hm-corner-image{overflow:hidden;border-radius:28px;height:570px}
.home-page .hm-corner-image img{height:100%;width:100%;object-fit:cover;object-position:45% center}
.home-page .hm-corner-copy h2{font-size:59px;max-width:13ch}
.home-page .hm-corner-copy p{font-size:22px;letter-spacing:-.02em;color:var(--secondary);max-width:31ch;margin-top:27px;line-height:1.45}
.home-page .hm-corner-copy .hm-link{margin-top:28px}
.home-page .hm-guide{padding-top:120px;padding-bottom:120px}
.home-page .hm-guide-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;align-items:start}
.home-page .hm-guide-head{position:sticky;top:100px}
.home-page .hm-guide-head h2{font-size:57px;max-width:14ch}
.home-page .hm-guide-head p{font-size:22px;letter-spacing:-.02em;color:var(--secondary);max-width:30ch;margin-top:25px}
.home-page .hm-questions details{padding:8px 0 28px;margin-bottom:16px}
.home-page .hm-questions summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.2;min-height:48px}
.home-page .hm-questions summary::-webkit-details-marker{display:none}
.home-page .hm-questions summary::after{content:'+';width:31px;height:31px;flex-shrink:0;border-radius:50%;background:#ededf0;color:#424245;display:grid;place-items:center;font-size:27px;font-weight:300;line-height:1;transition:transform .2s,background .2s}
.home-page .hm-questions summary:hover::after{background:#dddde2}
.home-page .hm-questions details[open] summary::after{transform:rotate(45deg)}
.home-page .hm-answer{font-size:17px;color:var(--secondary);line-height:1.5;padding-top:19px;padding-right:35px}
.home-page .hm-answer p+p{margin-top:13px}
.home-page .hm-answer ul{padding-left:20px;margin:14px 0 0}
.home-page .hm-answer li+li{margin-top:9px}
.home-page .hm-visit{padding-top:94px;padding-bottom:90px;background:var(--ground);text-align:center}
.home-page .hm-visit h2{font-size:61px;max-width:18ch;margin:auto}
.home-page .hm-visit-lead{max-width:41ch;font-size:23px;letter-spacing:-.025em;margin:23px auto 28px;color:var(--secondary)}
.home-page .hm-visit-footnote{margin:30px auto 0;font-size:14px;color:var(--secondary);max-width:60ch}
.home-page .hm-visit-phone{margin-top:25px;font-size:18px}
.home-page .hm-visit-phone a{color:var(--accent)}
.home-page .hm-visit-phone a:hover{text-decoration:underline}
@media(prefers-reduced-motion:no-preference){.home-page [data-reveal].seen{animation:section-enter .8s var(--ease) both}
@keyframes section-enter{from{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.home-page .hm-questions details[open] .hm-answer{animation:answer-enter .3s var(--ease) both}
@keyframes answer-enter{from{opacity:.2;transform:translateY(-5px)}to{opacity:1;transform:none}}}
@media(min-width:761px) and (max-width:1080px){.home-page .hm-hero h1{font-size:68px}
.home-page .hm-section-top{gap:45px}
.home-page .hm-section-top h2{font-size:50px}
.home-page .hm-section-top>p{font-size:21px}
.home-page .hm-life-image{height:490px}
.home-page .hm-scene-copy{gap:40px}
.home-page .hm-corner-layout{gap:6%;padding-block:70px}
.home-page .hm-corner-image{height:500px}
.home-page .hm-corner-copy h2{font-size:48px}
.home-page .hm-corner-copy p{font-size:20px}
.home-page .hm-guide-layout{gap:7%}
.home-page .hm-guide-head h2{font-size:48px}
.home-page .hm-guide-head p{font-size:20px}
.home-page .hm-questions summary{font-size:22px}}
@media(max-width:760px){.home-page{--gutter:24px}
.home-page .hm-hero-copy{padding:42px 24px 30px}
.home-page .hm-hero h1{font-size:51px;letter-spacing:-.05em}
.home-page .hm-hero-lead{font-size:21px;max-width:26ch;margin-top:14px;margin-bottom:23px;line-height:1.3}
.home-page .hm-actions{gap:21px}
.home-page .hm-button{min-height:44px;font-size:14px;padding:12px 19px}
.home-page .hm-link{font-size:16px;gap:6px}
.home-page .hm-hero-picture{height:330px}
.home-page .hm-hero-picture img{object-position:57% center}
.home-page .hm-hero-caption{left:24px;bottom:14px;font-size:12px}
.home-page .hm-life{padding-top:70px;padding-bottom:70px}
.home-page .hm-section-top{display:block;margin-bottom:30px}
.home-page .hm-section-top h2{font-size:40px;max-width:16ch}
.home-page .hm-section-top>p{font-size:20px;max-width:32ch;margin-top:23px}
.home-page .hm-life-image{height:390px;border-radius:22px}
.home-page .hm-image-caption{font-size:13px;bottom:19px;left:21px}
.home-page .hm-scene-controls{margin-top:24px}
.home-page .hm-tabs{padding:4px;gap:0}
.home-page .hm-tabs button{font-size:14px;min-height:44px;padding:11px 18px}
.home-page .hm-scene-copy{display:block;margin-top:30px}
.home-page .hm-scene-copy h3{font-size:30px;max-width:18ch}
.home-page .hm-scene-description{font-size:19px;margin-top:18px}
.home-page .hm-scene-details{grid-template-columns:1fr;gap:20px;font-size:16px;margin-top:25px}
.home-page .hm-scene-copy .hm-link{margin-top:23px}
.home-page .hm-corner-layout{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-block:64px}
.home-page .hm-corner-copy{order:0}
.home-page .hm-corner-copy h2{font-size:40px;max-width:16ch}
.home-page .hm-corner-copy p{font-size:20px;max-width:33ch;margin-top:23px}
.home-page .hm-corner-copy .hm-link{margin-top:23px}
.home-page .hm-corner-image{order:1;height:400px;border-radius:22px}
.home-page .hm-corner-image img{object-position:45% center}
.home-page .hm-guide{padding-top:70px;padding-bottom:60px}
.home-page .hm-guide-layout{display:block}
.home-page .hm-guide-head{position:static}
.home-page .hm-guide-head h2{font-size:40px;max-width:16ch}
.home-page .hm-guide-head p{font-size:20px;max-width:32ch;margin-top:23px}
.home-page .hm-questions{margin-top:35px}
.home-page .hm-questions details{padding:4px 0 22px;margin-bottom:10px}
.home-page .hm-questions summary{font-size:21px;gap:15px;min-height:50px}
.home-page .hm-questions summary::after{width:29px;height:29px;font-size:25px}
.home-page .hm-answer{font-size:16px;padding-top:15px;padding-right:30px}
.home-page .hm-visit{padding-top:65px;padding-bottom:60px;text-align:left}
.home-page .hm-visit h2{font-size:40px;max-width:15ch;margin:0}
.home-page .hm-visit-lead{font-size:20px;max-width:33ch;margin:22px 0 25px}
.home-page .hm-visit .hm-actions{justify-content:start;gap:20px}
.home-page .hm-visit-phone{font-size:17px;margin-top:25px}
.home-page .hm-visit-footnote{margin:25px 0 0;font-size:13px;max-width:39ch}}
@media(max-width:390px){.home-page .hm-hero h1{font-size:46px}
.home-page .hm-hero-copy{padding-top:38px}
.home-page .hm-hero-lead{font-size:20px}
.home-page .hm-hero-picture{height:300px}
.home-page .hm-actions{gap:15px}
.home-page .hm-button{padding-inline:17px;font-size:14px}
.home-page .hm-link{font-size:15px}
.home-page .hm-section-top h2,.home-page .hm-corner-copy h2,.home-page .hm-guide-head h2,.home-page .hm-visit h2{font-size:37px}
.home-page .hm-life-image{height:345px}
.home-page .hm-corner-image{height:355px}
.home-page .hm-tabs button{padding-inline:16px}
.home-page .hm-scene-copy h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){.home-page *,.home-page *::before,.home-page *::after{animation:none!important;transition:none!important}
.home-page .hm-hero-picture img{transform:none!important}}
/* Keep the shared footer untouched. Only the navigation chrome is shared. */
.header{height:48px}.header .nav-wrap{max-width:1280px;padding-inline:40px;gap:40px}.header .brand img{width:62px;height:34px}.header .desktop-nav{font-size:12px;justify-content:center;gap:36px}.header .desktop-nav a{padding-block:15px}.header .nav-actions{gap:20px}.header .icon-button svg{width:17px;height:17px}
.home-page .hm-company{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;align-items:center;padding-top:0;padding-bottom:110px}.home-page .hm-company h2{font-size:38px;max-width:16ch}.home-page .hm-company p{font-size:20px;max-width:38ch;color:var(--secondary);letter-spacing:-.02em}
@media(max-width:780px){.header{height:50px}.header .nav-wrap{padding-inline:23px;gap:20px}.header .brand img{width:65px;height:34px}.header .nav-actions{gap:20px}.header .icon-button svg{width:18px;height:18px}}
@media(max-width:760px){.home-page .hm-company{display:block;padding-bottom:64px}.home-page .hm-company h2{font-size:32px;max-width:18ch}.home-page .hm-company p{font-size:19px;margin-top:22px;max-width:34ch}}
