:root{--ink:#24312d;--muted:#6d7773;--bg:#f7f5f1;--green:#476c60;--line:#d9dfdc}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.landing{position:relative;min-height:min(850px,calc(100svh - 69px));overflow:hidden;background:var(--bg)}
.landing-photo{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden}
.landing-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--focus-desktop,60% center)}
.landing-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 24%);pointer-events:none}
.landing-content{position:relative;z-index:1;width:58%;max-width:900px;padding:clamp(26px,4vw,60px) 4.8% 74px}
.landing-name{display:flex;align-items:center;gap:12px;font-size:clamp(32px,2.94vw,45px);font-weight:800;line-height:1.02;letter-spacing:-.05em;white-space:normal}
.landing-name img{width:58px;height:58px;object-fit:contain;border-radius:50%;flex:none}
.landing-intro{margin-top:clamp(65px,9vh,132px)}
.landing-eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.landing h1{max-width:670px;margin:17px 0;font-size:clamp(43px,4.4vw,73px);line-height:1.055;letter-spacing:-.055em}
.landing-intro>p:not(.landing-note){max-width:570px;color:#53625a;font-size:clamp(16px,1.25vw,19px);line-height:1.65}
.landing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:35px}
.landing-actions a{font-weight:750;text-decoration:none}
.landing-start{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 25px;border-radius:12px;background:var(--green);color:white;box-shadow:0 7px 18px rgba(53,95,80,.2)}
.landing-start:hover,.landing-start:focus-visible{background:#35594d}
.landing-signin{color:var(--green);text-decoration:underline!important;text-underline-offset:4px}
.landing-note{margin-top:24px;color:#758179;font-size:13px;line-height:1.5}
.landing-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:20px clamp(24px,4.8vw,76px);color:var(--muted);font-size:12px}
.landing-footer nav{display:flex;gap:20px;flex-wrap:wrap}
.landing-footer a{color:var(--green);font-weight:700;text-decoration:none}
.landing-footer a:hover,.landing-footer a:focus-visible{text-decoration:underline}
a:focus-visible{outline:3px solid #9abfb0;outline-offset:3px}
@media(max-width:850px),(pointer:coarse) and (max-width:1400px){
  .landing{display:flex;flex-direction:column;min-height:calc(100svh - 94px)}
  .landing-photo{position:relative;order:0;width:100%;height:clamp(210px,32svh,330px);flex:none}
  .landing-photo img{object-position:var(--focus-mobile,60% center)}
  .landing-photo:after{background:linear-gradient(0deg,var(--bg),transparent 28%)}
  .landing-content{position:relative;order:1;z-index:1;display:flex;flex-direction:column;width:100%;max-width:none;padding:0}
  .landing-brand{order:0;padding:16px 22px 0;margin-top:0;z-index:1}
  .landing-name{font-size:clamp(32px,7vw,42px);white-space:normal}
  .landing-name img{width:51px;height:51px}
  .landing-intro{order:1;margin:0;padding:26px 22px 30px}
  .landing h1{font-size:clamp(36px,7.5vw,52px);margin:14px 0}
  .landing-intro>p:not(.landing-note){font-size:16px;line-height:1.55}
  .landing-actions{margin-top:27px;gap:17px}
  .landing-start{min-height:48px}
  .landing-footer{padding:19px 22px calc(24px + env(safe-area-inset-bottom));line-height:1.5}
  .landing-footer nav{gap:10px 18px}
}
@media(max-width:400px){.landing-actions{align-items:flex-start;flex-direction:column}.landing-intro{padding-top:28px}}
