    @font-face{font-family:Rubik;src:url('assets/fonts/Rubik-Regular.ttf')}@font-face{font-family:Rubik;src:url('assets/fonts/Rubik-Bold.ttf');font-weight:700}
    :root{--green:#193e35;--deep:#102d27;--ivory:#f7f3ea;--paper:#fffdf8;--terra:#a34f36;--sage:#c9d9ca;--line:#d9ded4;--muted:#596b61;--shadow:0 18px 50px rgba(20,47,39,.09)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--green);font-family:Rubik,system-ui,sans-serif;line-height:1.5}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--terra);outline-offset:4px}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:16px;top:-80px;background:white;padding:10px;z-index:10}.skip:focus{top:12px}
    .preview{background:#112f29;color:#fff;padding:9px 0;font-size:12px}.preview .shell{display:flex;justify-content:space-between;align-items:center;gap:15px}.preview strong{letter-spacing:.05em}.preview-controls{display:flex;gap:5px;background:#2c5146;padding:3px;border-radius:999px}.preview-controls button{background:transparent;color:#dce9de;border:0;border-radius:999px;padding:5px 10px;font-size:11px}.preview-controls button[aria-pressed=true]{background:var(--ivory);color:var(--green)}
    .header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.brand{display:flex;align-items:center;gap:9px;text-decoration:none}.brand-icon{width:43px;height:43px}.brand-name{width:155px}.nav{display:flex;align-items:center;gap:24px}.nav a{text-decoration:none;font-size:14px;font-weight:700}.nav a:hover{text-decoration:underline}.nav .account-link{color:var(--terra)}.nav .signout{display:none}
    .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 21px;border:1px solid var(--green);border-radius:11px;background:var(--green);color:white;text-decoration:none;font-size:14px;font-weight:700;transition:transform .16s,box-shadow .16s}.button:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(20,47,39,.14)}.button.light{background:var(--paper);color:var(--green)}.button.ghost{background:transparent;color:var(--green)}.button.small{min-height:41px;padding:9px 15px;font-size:13px}.arrow{font-size:20px;line-height:0}
    .hero{display:grid;grid-template-columns:1fr .9fr;gap:45px;align-items:center;padding:58px 0 58px}.eyebrow{margin:0 0 14px;color:var(--terra);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}.hero h1{font-size:clamp(44px,5.6vw,76px);line-height:1.04;letter-spacing:-.06em;margin:0 0 23px;max-width:710px}.hero h1 em{font-style:normal;color:var(--terra)}.hero p.intro{max-width:575px;color:var(--muted);font-size:18px;margin:0 0 26px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.hero-note{font-size:12px;color:var(--muted);margin:17px 0 0}.hero-visual{position:relative}.hero-visual img{display:block;width:100%;border-radius:26px;box-shadow:var(--shadow)}.visual-tag{position:absolute;right:-12px;bottom:27px;background:var(--paper);padding:13px 17px;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);font-size:12px;font-weight:700}.visual-tag span{display:block;color:var(--terra);font-size:11px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:2px}
    .welcome{display:none;background:#e8efe5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.welcome .shell{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0}.welcome strong{display:block;font-size:17px}.welcome p{margin:3px 0 0;color:var(--muted);font-size:13px}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2{margin:0;font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-.045em}.section-head p{max-width:420px;color:var(--muted);font-size:14px;margin:0}.events{padding:51px 0 67px;border-top:1px solid var(--line)}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.event-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:26px;min-height:276px;display:flex;flex-direction:column;box-shadow:0 9px 30px rgba(20,47,39,.035)}.card-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.symbol{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#e5eee2;color:var(--green);font-size:23px}.count{background:#f2ede5;border-radius:99px;padding:5px 10px;font-size:11px;color:var(--muted)}.event-card h3{font-size:22px;letter-spacing:-.035em;margin:21px 0 6px}.event-card .description{font-size:13px;color:var(--muted);margin:0 0 17px;min-height:39px}.card-detail{font-size:13px;min-height:45px;color:var(--green);margin:0 0 16px}.card-detail span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.event-card .button{margin-top:auto;align-self:start}.anonymous-detail{color:var(--muted)}.signed-detail,.empty-detail{display:none}
    .galleries{background:#eaf0e7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:57px 0}.gallery-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:38px;align-items:center}.gallery-copy h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.045em;line-height:1.1;margin:0 0 15px}.gallery-copy p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:440px;margin:0 0 21px}.gallery-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-tile{min-height:170px;border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:15px;display:flex;flex-direction:column;justify-content:end;overflow:hidden}.gallery-tile:nth-child(1){background:linear-gradient(160deg,#f7e9dc 8%,#dabaa8 51%,#7a927f 51%,#2d6154 100%)}.gallery-tile:nth-child(2){background:linear-gradient(145deg,#d2e4d5 0%,#d2e4d5 48%,#8f9e80 48%,#356053 100%)}.gallery-tile:nth-child(3){background:linear-gradient(145deg,#f5ddd0 0%,#f5ddd0 48%,#ca8770 48%,#704534 100%)}.gallery-tile span{display:block;background:rgba(255,253,248,.93);border-radius:6px;padding:7px;font-size:11px;font-weight:700;text-align:center}
    .marketing{padding:65px 0}.marketing-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.marketing article{background:var(--paper);border:1px solid var(--line);padding:26px;border-radius:16px}.marketing h2{font-size:26px;margin:0 0 10px;letter-spacing:-.03em}.marketing p{font-size:14px;color:var(--muted);max-width:500px;margin:0 0 16px}.text-link{font-weight:700;color:var(--terra);text-decoration:none;font-size:13px}.text-link:hover{text-decoration:underline}.footer{background:var(--deep);color:#e9f0e9;padding:30px 0}.footer .shell{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.footer a{margin-left:18px;text-decoration:none}
    dialog{border:0;border-radius:19px;max-width:470px;width:calc(100% - 28px);padding:30px;color:var(--green);box-shadow:0 22px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(12,35,29,.55)}dialog h2{font-size:27px;line-height:1.14;letter-spacing:-.04em;margin:0 0 10px}dialog p{color:var(--muted);font-size:14px;margin:0 0 20px}dialog .dialog-actions{display:flex;gap:9px;flex-wrap:wrap}dialog .close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:25px;color:var(--muted)}dialog .micro{font-size:11px;margin:16px 0 0}.state-signed .welcome{display:block}.state-signed .signed-detail,.state-empty .empty-detail{display:block}.state-signed .anonymous-detail,.state-empty .anonymous-detail{display:none}.state-signed .nav .signout,.state-empty .nav .signout{display:inline}.state-signed .nav .signin,.state-empty .nav .signin,.state-signed .nav .signup,.state-empty .nav .signup{display:none}.state-empty .welcome{display:block}
    @media(max-width:850px){.hero{gap:24px}.event-grid{grid-template-columns:1fr 1fr}.event-card:last-child{grid-column:span 2;min-height:220px}.gallery-layout{grid-template-columns:1fr}.gallery-preview{max-width:620px}.nav{gap:14px}}
    @media(max-width:640px){.shell{width:calc(100% - 30px)}.preview .shell{flex-direction:column;align-items:start;gap:7px}.header{padding:15px 0}.brand-icon{width:36px;height:36px}.brand-name{width:130px}.nav>a:not(.account-link){display:none}.hero{grid-template-columns:1fr;padding:36px 0 43px}.hero h1{font-size:46px}.hero p.intro{font-size:16px}.hero-visual{max-width:470px}.visual-tag{right:5px;bottom:12px}.section-head{display:block}.section-head p{margin-top:11px}.events{padding:43px 0}.event-grid,.marketing-grid{grid-template-columns:1fr}.event-card:last-child{grid-column:auto}.event-card{min-height:245px}.galleries,.marketing{padding:45px 0}.gallery-tile{min-height:125px;padding:8px}.gallery-tile span{font-size:9px;padding:5px}.footer .shell{display:block}.footer a{display:inline-block;margin:14px 14px 0 0}.welcome .shell{display:block}.welcome .button{margin-top:12px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
    .hero-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);align-items:center;gap:12px;max-width:560px}
    .hero-actions .host-button{height:48px;min-height:48px;width:100%;font-size:14px}
    .hero-actions .find-button{height:72px;min-height:72px;width:100%;justify-content:space-between;text-align:left;padding:9px 16px 9px 20px;font-size:20px;line-height:1.15;box-shadow:0 10px 24px rgba(25,62,53,.2)}
    .find-arrow{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--paper);color:var(--green);font-size:30px;font-weight:700;line-height:1}
    .hero-actions .find-button:hover .find-arrow{transform:translateX(2px)}
    @media(max-width:640px){.hero-actions{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);max-width:none;gap:9px}.hero-actions .host-button{height:46px;min-height:46px;padding:10px;font-size:13px}.hero-actions .find-button{height:69px;min-height:69px;padding:8px 10px;font-size:17px}.find-arrow{width:38px;height:38px;font-size:27px}}
    @media(prefers-reduced-motion:reduce){.hero-actions .find-button:hover .find-arrow{transform:none}}

/* QA7 live account state; hide buttons until account status is known. */
[hidden]{display:none!important}
.nav button.account-link{background:transparent;border:0;padding:0;color:var(--terra);font-size:14px;font-weight:700;cursor:pointer}
.nav button.account-link:hover{text-decoration:underline}
@media(max-width:640px){.nav{gap:8px}.nav .account-link:not([hidden]){display:inline}}
.nav .main-destination{color:var(--green)}
@media(max-width:850px){.nav .secondary-destination{display:none}}
@media(max-width:640px){.header{flex-wrap:wrap}.nav{width:100%;justify-content:space-between;flex-wrap:wrap}.nav>a.main-destination{display:inline;font-size:12px}.nav .signup{display:none!important}}

/* Real account home lists. */
[hidden]{display:none!important}
.home-items{display:grid;gap:9px;margin:0 0 16px}.home-entry{display:grid;gap:4px;border-top:1px solid var(--line);padding-top:11px}.home-entry small,.home-gallery-card small{color:var(--muted)}.home-empty{font-size:13px;color:var(--muted);margin:0 0 16px}.home-open{border:0;background:transparent;color:var(--terra);padding:3px 0;text-align:left;text-decoration:underline;font-size:13px;font-weight:700;cursor:pointer}.home-open:disabled{opacity:.5;cursor:wait}.gallery-head{margin-top:42px}.home-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:14px}.home-gallery-card{padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.home-gallery-card h3{margin:5px 0;font-size:18px}.home-gallery-card p{font-size:12px;color:var(--muted)}

/* Extend the existing native action across its event row. */
.home-entry{position:relative;border-radius:8px;padding:11px 8px 8px;margin:0 -8px}
.home-entry .home-open::after{content:"";position:absolute;inset:0;border-radius:8px}
.home-entry:hover{background:var(--ivory)}
.home-entry:has(.home-open:focus-visible){outline:3px solid var(--green);outline-offset:3px}
