/* Gift List – visual redesign. The original styles remain for secondary/legal pages.
   All colors, layout, and real app assets are controlled here. */
:root {
  --primary:#174A36; --primary-hover:#0E3527; --primary-light:#E8EFE7;
  --secondary:#B99453; --accent:#DBB96D; --success:#3C8666;
  --bg-page:#FBF9F4; --bg-surface:#FFFFFF; --bg-surface-alt:#F4F2E9;
  --text-main:#17392C; --text-muted:#647065; --text-light:#839084;
  --border:rgba(25,70,49,.13); --container-max:1220px;
  --shadow-sm:0 12px 26px rgba(24,53,37,.065);
  --shadow-md:0 22px 50px rgba(17,49,31,.10);
  --shadow-lg:0 32px 70px rgba(18,54,34,.12);
}
html {scroll-padding-top:90px}
body {background:var(--bg-page); color:var(--text-main); overflow-x:hidden}
h1,h2,h3,h4 {letter-spacing:-.032em}
a {color:var(--primary)} a:hover {color:var(--primary-hover)}
.site-header {position:sticky;top:0;z-index:50;background:rgba(251,249,244,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,63,43,.095);box-shadow:0 2px 14px rgba(14,51,34,.025)}
.nav-wrap {min-height:83px; gap:20px; position:relative}
.gl-brand-icon {width:47px; height:47px; flex:none;border-radius:13px;box-shadow:0 5px 12px #0f472b19;object-fit:cover}
.brand {display:flex;align-items:center;min-width:0;gap:11px;text-decoration:none}
.brand-text {display:flex;flex-direction:column;justify-content:center;line-height:1.15}
.brand-title {font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:1.6rem;letter-spacing:-.06em;color:#103D2D;line-height:1.1}
.brand-sub {font-size:.59rem;letter-spacing:.04em;color:#8C805F;line-height:1.3;margin-top:4px;text-transform:uppercase}
.nav-links {order:1;gap:23px;margin-left:auto}
.nav-gift-list-mobile {display:none}
.nav-support,.nav-faq {display:none}
.nav-links a {font-size:.84rem;font-weight:800;color:#3B5345}
.nav-links a.nav-play-link {background:#134830!important;color:#FFF!important;border-radius:12px;padding:12px 17px;box-shadow:0 8px 18px #153d2915}
.nav-links a.nav-play-link:hover {background:#0A3624!important;color:#FFF!important}
.nav-links a.nav-play-link::after{display:none}
.btn,.nav-play-link {transition:background .22s ease,transform .22s ease,box-shadow .22s ease}
.btn-primary {background:var(--primary);color:#fff;box-shadow:0 13px 26px rgba(20,78,47,.15)}
.btn-primary:hover {background:var(--primary-hover);color:#fff;box-shadow:0 17px 30px rgba(20,78,47,.2)}
.btn-secondary {border-color:var(--border);background:#FFFDF7;color:var(--primary)}
.btn-secondary:hover {background:#EEF3EC;color:var(--primary)}
.menu-toggle {order:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;flex:none;margin-left:12px;padding:0;border:1px solid #DCE5D9;border-radius:12px;background:#FFFDF9;color:var(--primary);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.menu-toggle span {display:block;width:19px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,width .18s ease}
.menu-toggle:hover {transform:translateY(-2px) rotate(3deg);background:#EEF3EC;box-shadow:0 6px 14px #183c2b1c}
.menu-toggle:hover span:nth-child(2) {width:14px}
.menu-toggle:active {transform:translateY(0) scale(.96)}
.nav-links.active {position:absolute;top:calc(100% + 8px);right:0;left:auto;z-index:55;display:flex;flex-direction:column;align-items:stretch;gap:4px;width:min(280px,calc(100vw - 36px));padding:12px;border:1px solid #DBE6DB;border-radius:16px;background:#FFFDF9;box-shadow:0 15px 35px #183c2b1c}
.nav-links.active > li:not(.nav-support):not(.nav-faq) {display:none}
.nav-links.active .nav-support {display:block}
.nav-links.active .nav-faq {display:block}
.nav-links.active a {display:block;padding:11px 12px;font-size:.9rem}
.nav-links.active a::after {display:none}
.nav-links.active .nav-support a {color:#3B5345;font-weight:800}
.gift-list-dialog {position:fixed;inset:0;width:min(560px,calc(100vw - 32px));max-width:none;max-height:min(90vh,820px);margin:auto;padding:28px;border:1px solid #DBE6DB;border-radius:22px;background:#FFFDF9;color:#17392C;box-shadow:0 28px 80px #102d1f42;overflow:auto}
.gift-list-dialog[open] {animation:gift-list-dialog-enter .24s cubic-bezier(.2,.8,.2,1) both}
.gift-list-dialog::backdrop {background:#0d281db3;backdrop-filter:blur(4px)}
.gift-list-dialog[open]::backdrop {animation:gift-list-backdrop-enter .2s ease-out both}
@keyframes gift-list-dialog-enter {from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gift-list-backdrop-enter {from{opacity:0}to{opacity:1}}
.gift-list-dialog-header {display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.gift-list-eyebrow {margin:0 0 7px;color:#66866A;font-size:.66rem;font-weight:900;letter-spacing:.13em}
.gift-list-dialog h2 {margin:0;color:#153F2F;font-family:'Fraunces',Georgia,serif;font-size:1.8rem;line-height:1.15}
.gift-list-intro {margin:12px 0 22px;color:#6b7b6d;font-size:.85rem;line-height:1.65}
.gift-list-close {display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid #DBE6DB;border-radius:11px;background:#fff;color:#355a45;font-size:1.5rem;line-height:1;cursor:pointer}
.gift-list-form {display:grid;gap:8px}
.gift-list-form label {margin-top:5px;color:#355a45;font-size:.77rem;font-weight:800}
.gift-list-form input,.gift-list-form textarea {width:100%;padding:11px 12px;border:1px solid #D8E2D6;border-radius:10px;background:#fff;color:#17392C;font:inherit;font-size:.84rem}
.gift-list-form textarea {resize:vertical;min-height:70px}
.gift-list-form input:focus,.gift-list-form textarea:focus {border-color:#7EA58B;outline:3px solid #8DB8A033}
.gift-list-save {justify-self:start;margin-top:8px;padding:11px 17px;border:0;border-radius:11px;background:var(--primary);color:#fff;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}
.gift-list-save:hover {background:var(--primary-hover)}
.gift-list-status {min-height:1.3em;margin:10px 0;color:#36704E;font-size:.78rem}
.gift-list-status.is-error {color:#A0332E}
.gift-list-items {display:grid;gap:10px;margin:0;padding:0;list-style:none}
.gl-my-gift-list {background:#F7F8FA}
.gl-my-gift-list .container {position:relative}
.gl-my-gift-list .gl-split-title {margin-bottom:20px}
.gl-my-gift-list .gl-split-title h2 {margin-top:8px}
.gl-my-gift-list .gl-split-title h1 {margin:8px 0 0;color:#133D2C;font-family:'Fraunces',Georgia,serif;font-size:clamp(2.3rem,3.8vw,3.45rem);line-height:1.13}
.gl-my-gift-list .gift-list-status {min-height:1.3em;margin:0 0 10px;color:#36704E;font-size:.78rem}
.gl-my-gift-list .gift-list-status.is-error {color:#A0332E}
.gl-my-gift-list .gift-list-items {display:grid;gap:16px;max-width:850px}
.gift-list-jump-nav {display:grid;gap:9px;max-width:850px;margin:0 0 18px}
.gift-list-jump-label {color:#607665;font-size:.72rem;font-weight:800}
.gift-list-event-links {display:flex;flex-wrap:wrap;gap:8px}
.gift-list-event-link {display:inline-flex;align-items:center;min-height:35px;padding:7px 12px;border:1px solid #D9E5D8;border-radius:999px;background:#FFF;color:#24563A;font-size:.75rem;font-weight:800;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.gift-list-event-link:hover {transform:translateY(-1px);border-color:#A9C0AA;background:#EEF4EB;color:#174A36}
.gift-list-event-link:focus-visible {outline:3px solid #8DB8A0;outline-offset:3px}
.gift-list-event {scroll-margin-top:100px}
.gift-list-event-details {position:relative;overflow:visible;border:1px solid #E8ECE9;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(25,45,35,.045)}
.gift-list-event-summary {position:relative;display:flex;align-items:center;gap:11px;min-height:64px;padding:14px 58px 14px 22px;border-radius:16px;background:#F1F5F2;cursor:pointer;list-style:none;transition:background .18s ease}
.gift-list-event-summary::before {position:absolute;top:12px;bottom:12px;left:0;width:4px;border-radius:0 4px 4px 0;background:#4D8A68;content:""}
.gift-list-event-details[open]>.gift-list-event-summary {border-radius:16px 16px 0 0}
.gift-list-event-summary:hover {background:#EAF1EC}
.gift-list-event-summary::-webkit-details-marker {display:none}
.gift-list-event-summary::after {width:9px;height:9px;flex:none;margin-left:4px;border-right:2px solid #66816C;border-bottom:2px solid #66816C;content:"";transform:rotate(45deg);transition:transform .18s ease}
.gift-list-event-details:not([open]) .gift-list-event-summary::after {transform:rotate(-45deg)}
.gift-list-event-summary:focus-visible {outline:3px solid #8DB8A0;outline-offset:-4px}
.gift-list-event-name {color:#1D4A36;font-family:'Fraunces',Georgia,serif;font-size:1.2rem;font-weight:700}
.gift-list-event-count {color:#718072;font-size:.72rem}
.gift-list-event-budget {margin-left:auto;color:#315F43;font-size:.77rem;font-weight:800;text-align:right}
.gift-list-event-actions {position:absolute;top:14px;right:12px;z-index:5;display:flex;justify-content:flex-end}
.gift-list-event-action {min-height:32px;padding:6px 10px;border:1px solid #D9E5D8;border-radius:8px;background:#F9FBF7;color:#315F43;font:inherit;font-size:.69rem;font-weight:800;cursor:pointer}
.gift-list-event-action:hover {border-color:#A9C0AA;background:#EEF4EB}
.gift-list-event-action-delete {border-color:#E7D5D1;background:#FFF;color:#9B3931}
.gift-list-event-action-delete:hover {border-color:#DDBBB5;background:#FBF0ED}
.gift-list-event-rename,.gift-list-event-confirm {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 15px 12px;padding:11px;border:1px solid #E1E9DE;border-radius:11px;background:#F7F9F4}
.gift-list-event-rename input {min-width:150px;flex:1;padding:8px 10px;border:1px solid #D8E2D6;border-radius:8px;background:#FFF;color:#17392C;font:inherit;font-size:.78rem}
.gift-list-event-rename input:focus-visible {outline:3px solid #8DB8A0;outline-offset:2px}
.gift-list-event-confirm span {flex:1;color:#586B5C;font-size:.74rem;line-height:1.5}
.gift-list-event-items {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0 14px 14px;list-style:none}
.gift-list-item {box-sizing:border-box;display:flex;width:100%;height:250px;min-width:0;min-height:250px;max-height:250px;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;border:0;border-radius:15px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.05);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}
.gift-list-item:hover {transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.gift-list-item:focus-visible {outline:3px solid #8DB8A0;outline-offset:3px}
.gift-list-item:has(.gift-list-options[open]),.gift-list-event-details:has(.gift-list-options[open]) {z-index:10}
.gift-list-item-header {display:grid;min-width:0;min-height:73px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,2.9em) 17px;align-items:start;gap:4px 10px}
.gift-list-item h3 {display:-webkit-box;min-width:0;margin:1px 0 0;color:#214b36;font-size:.98rem;font-weight:800;line-height:1.45;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.gift-list-item-header .gift-list-delete {grid-column:2;grid-row:1}
.gift-list-card-prompt {grid-column:1/-1;grid-row:2;align-self:start;color:#276344;font-size:.68rem;font-weight:800;line-height:17px}
.gift-list-item-footer {display:grid;gap:10px;margin-top:auto}
.gift-list-item-recipient {display:grid;gap:4px;margin:0;color:#718072;font-size:.68rem}
.gift-list-item-recipient strong {color:#31533D;font-size:.82rem;font-weight:700;overflow-wrap:anywhere}
.gift-list-item .gift-list-item-budget {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:9px 11px;border:1px solid #E2EBDD;border-radius:10px;background:#F1F6EE;color:#607665;font-size:.69rem}
.gift-list-item-budget strong {color:#24563A;font-size:.88rem;font-weight:900}
.gift-list-delete {flex:none;padding:6px 9px;border:1px solid #E7D5D1;border-radius:8px;background:#fff;color:#9b3931;font:inherit;font-size:.66rem;font-weight:800;cursor:pointer}
.gift-list-delete:hover {background:#FBF0ED}
.gift-list-options {position:relative;flex:none}
.gift-list-options>summary {display:grid;place-items:center;width:34px;height:34px;border:1px solid #DCE7DA;border-radius:10px;background:#FFF;color:#47654D;cursor:pointer;list-style:none}
.gift-list-options>summary::-webkit-details-marker {display:none}
.gift-list-options>summary:hover,.gift-list-options[open]>summary {border-color:#A9C0AA;background:#EEF4EB;color:#174A36}
.gift-list-options-trigger span {font-size:1.35rem;font-weight:800;line-height:1;transform:translateY(-2px)}
.gift-list-options-menu {position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:grid;min-width:140px;padding:5px;border:1px solid #DDE7DA;border-radius:11px;background:#FFFDF9;box-shadow:0 12px 28px #173f2e1c}
.gift-list-options-item {width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#31533D;font:inherit;font-size:.75rem;font-weight:750;text-align:left;white-space:nowrap;cursor:pointer}
.gift-list-options-item:hover,.gift-list-options-item:focus-visible {background:#EEF4EB;color:#174A36}
.gift-list-options-item.is-danger {color:#9B3931}
.gift-list-options-item.is-danger:hover,.gift-list-options-item.is-danger:focus-visible {background:#FBF0ED;color:#8E2E28}
.gift-list-card-prompt {margin-top:auto;color:#276344;font-size:.71rem;font-weight:800}
.gift-list-detail-dialog {max-width:620px}
.gift-list-detail-dialog {width:min(620px,calc(100vw - 32px))}
.gift-list-detail-idea {margin:20px 0;color:#365844;font-size:.98rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.gift-list-detail-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.gift-list-detail-fields>div {min-width:0;padding:12px;border:1px solid #E1E9DE;border-radius:12px;background:#F7F9F4}
.gift-list-detail-fields dt {margin-bottom:5px;color:#778679;font-size:.67rem;font-weight:800}
.gift-list-detail-fields dd {margin:0;color:#214b36;font-size:.82rem;font-weight:800;overflow-wrap:anywhere}
.gift-list-empty {padding:20px;border:1px dashed #D8E2D6;border-radius:14px;background:#fff;color:#788679;font-size:.88rem;text-align:center}
.gift-list-fab {position:fixed;right:clamp(20px,4vw,40px);bottom:26px;z-index:45;display:grid;place-items:center;width:60px;height:60px;border:0;border-radius:50%;background:#174A36;color:#fff;box-shadow:0 12px 26px #153d2940;cursor:pointer;animation:gift-list-fab-enter .45s ease-out both}
.gift-list-fab::before {position:absolute;inset:-5px;border:2px solid #3C8666;border-radius:50%;content:"";animation:gift-list-fab-pulse 2.4s ease-out infinite}
.gift-list-fab span {font-size:2rem;font-weight:400;line-height:1;transform:translateY(-1px)}
.gift-list-fab:hover {transform:translateY(-3px) scale(1.05);background:#0E3527}
.gift-list-fab:active {transform:scale(.96)}
@keyframes gift-list-fab-enter {from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gift-list-fab-pulse {0%{opacity:.6;transform:scale(.9)}75%,100%{opacity:0;transform:scale(1.28)}}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {outline:3px solid #8DB8A0;outline-offset:4px}

/* Fully editable homepage – no text is embedded in the generated photography */
.gl-home {background:#FBF9F4}
.gl-home .container {width:min(1220px,calc(100% - 52px))}
.gl-home em {font-style:italic;font-weight:600}
.gl-hero {position:relative;overflow:hidden;background:linear-gradient(105deg,#FBF9F4 0%,#FCF8EF 62%,#F2E9DC 100%);border-bottom:1px solid #F0EADF}
.gl-hero::before {content:"";position:absolute;left:-220px;top:-220px;width:700px;height:550px;background:radial-gradient(ellipse,#E5E9D9A3,transparent 70%);pointer-events:none}
.gl-hero-grid {display:grid;grid-template-columns:1.03fr .97fr;gap:36px;align-items:center;padding:71px 0 74px;min-height:690px;position:relative}
.gl-hero-copy {max-width:625px;position:relative;z-index:2}
.gl-eyebrow,.gl-kicker {font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#47735A;display:inline-flex;align-items:center;gap:9px}
.gl-eyebrow {background:#EEF2E7;border:1px solid #DAE6D8;border-radius:100px;padding:9px 15px;letter-spacing:.035em;font-size:.75rem;color:#316548;text-transform:none}
.gl-sparkle {color:#AA844A;font-size:1rem}
.gl-home h1 {font-size:clamp(3.75rem,5.5vw,5.8rem);line-height:1.062;font-weight:700;margin:24px 0 22px;letter-spacing:-.055em;color:#153F2F}
.gl-home h1 em {color:#A5854A}
.gl-lead {max-width:570px;font-size:1.02rem;line-height:1.9;color:#526455}
.gl-actions {display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 15px}
.gl-btn {min-height:54px;padding:15px 22px;border-radius:13px;font-size:.88rem}
.gl-btn-outline {display:inline-flex;align-items:center;justify-content:center;border-radius:13px;border:1px solid #C8D6C8;background:#fffdf9;color:#184C36;font-weight:800;font-size:.89rem;padding:14px 21px;min-height:52px}
.gl-btn-outline:hover {background:#E6EDE2;color:#123F2D;transform:translateY(-1px)}
.gl-hero-note {color:#7B8579;font-size:.75rem;font-weight:700;line-height:1.75}
.gl-hero-details {border-top:1px solid #DDE3D9;margin-top:36px;padding-top:21px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.gl-hero-details>div{display:flex;flex-direction:column;gap:3px}
.gl-hero-details strong{font-size:.85rem;color:#174B36}
.gl-hero-details span{font-size:.69rem;color:#7D897D;line-height:1.5}
.gl-hero-visual {height:570px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center}
.gl-hero-photo {width:100%;height:100%;object-fit:cover;object-position:61% 50%;position:absolute;inset:0;border-radius:26px;box-shadow:0 25px 65px #2e3f281c}
.gl-hero-visual:before {content:"";position:absolute;inset:0;z-index:1;border-radius:26px;background:linear-gradient(90deg,#fdfcf835,transparent 70%)}
.gl-phone-halo {position:absolute;z-index:1;left:4%;top:10%;width:67%;height:80%;border-radius:50%;background:#fff8e838;filter:blur(32px)}
.gl-hero-phone {position:relative;z-index:2;height:505px;width:auto;max-width:64%;border-radius:28px;box-shadow:0 19px 48px #082c2280;transform:rotate(-5deg) translate(-44px,4px);border:4px solid rgba(11,32,24,.3);object-fit:cover}
.gl-floating-detail {z-index:3;position:absolute;display:inline-block;padding:11px 14px;background:#fffefa;border:1px solid #e6e2d5;box-shadow:0 8px 24px #18372021;border-radius:12px;font-size:.72rem;font-weight:800;color:#1D593E;white-space:nowrap}
.gl-float-top {right:-11px;top:15%}
.gl-float-bottom {bottom:10%;right:0}
.gl-perk-shell {background:#F5F3EB;border-bottom:1px solid #E9E8DE}
.gl-perk-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.gl-perk-grid>div {display:flex;align-items:center;gap:12px;padding:25px 12px;border-right:1px solid #DCE1D5}
.gl-perk-grid>div:first-child {padding-left:0}
.gl-perk-grid>div:last-child {border-right:0}
.gl-perk-grid span:not(.gl-perk-icon) {display:flex;flex-direction:column;gap:3px}
.gl-perk-grid strong {font-size:.85rem;color:#244A37;white-space:nowrap}
.gl-perk-grid small {font-size:.7rem;color:#7C877C}
.gl-perk-icon {font-size:1.75rem;color:#AA894D;line-height:1;min-width:36px;text-align:center;font-family:Georgia,serif}
.gl-section {padding:96px 0}
.gl-heading {max-width:760px;margin:0 auto 39px;text-align:center}
.gl-heading-left {text-align:left;margin:0 0 34px;max-width:690px}
.gl-home h2 {font-size:clamp(2.3rem,3.8vw,3.45rem);line-height:1.13;margin:11px 0 13px;color:#133D2C}
.gl-heading p,.gl-split-title p {font-size:.93rem;line-height:1.8;color:#728173}
.gl-steps-section {background:#fffdf9}
.gl-steps-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gl-step {border:1px solid #E3E9DE;background:#F8F9F4;border-radius:22px;overflow:hidden;box-shadow:0 10px 27px #28553f0a}
.gl-step-figure {height:330px;display:flex;justify-content:center;align-items:flex-start;padding:24px 24px 0;overflow:hidden;background:radial-gradient(circle at 55% 55%,#EFF3E8 0,#EBF0E6 45%,#F4F6EF 100%)}
.gl-step-figure img {width:auto;height:370px;max-width:94%;object-fit:contain;object-position:top center;border-radius:22px 22px 0 0;filter:drop-shadow(0 12px 12px #10371a1e)}
.gl-step-figure-first img{height:390px}
.gl-step-info {display:flex;align-items:flex-start;gap:14px;padding:22px 24px 28px;background:#FFF}
.gl-number {display:grid;place-items:center;flex:none;height:34px;width:34px;border-radius:50%;background:#D8E5D1;color:#1E5138;font-size:.79rem;font-weight:900}
.gl-step-info h3 {font-family:'Manrope',sans-serif;font-size:1rem;line-height:1.45;margin:0 0 8px;letter-spacing:-.02em;color:#163C2D}
.gl-step-info p {font-size:.75rem;color:#768477;line-height:1.72}
.gl-features {background:linear-gradient(100deg,#EFF3EB,#F9F7F0)}
.gl-feature-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gl-feature {min-height:188px;padding:25px 27px;border:1px solid #E7E7DB;background:#fffdf9;border-radius:18px;box-shadow:0 5px 19px #1d503209}
.gl-feature>span {display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#EBF2E8;color:#286244;font-size:1.3rem;margin-bottom:17px;font-family:Georgia,serif}
.gl-feature h3 {font-family:'Manrope',sans-serif;letter-spacing:-.02em;font-size:.98rem;margin:0 0 7px;color:#1D4A36}
.gl-feature p {font-size:.77rem;line-height:1.7;color:#778278}
.gl-occasions {background:#FFFDF9}
.gl-split-title {display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:29px}
.gl-split-title>div {max-width:660px}
.gl-split-title p {max-width:390px;margin:0 0 7px}
.gl-occasion-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.gl-occasion {position:relative;display:block;height:266px;overflow:hidden;border-radius:19px;background:#E7E5DC;box-shadow:0 15px 29px #1e51371c;transition:transform .25s ease}
.gl-occasion:hover {transform:translateY(-4px)}
.gl-occasion::after {content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#061e15a5)}
.gl-occasion img {width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gl-occasion:hover img {transform:scale(1.05)}
.gl-occasion span {position:absolute;left:20px;bottom:21px;z-index:1;display:flex;justify-content:space-between;align-items:center;width:calc(100% - 40px);color:#FFF;font-family:'Fraunces',Georgia,serif;font-size:1.35rem;font-weight:700}
.gl-occasion b {display:grid;place-items:center;border:1px solid #ffffff7c;border-radius:100px;height:33px;width:33px;font-family:Manrope,sans-serif;font-size:.95rem}
.gl-guide-home {background:#F5F4ED}
.gl-guide-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.gl-guide-card {overflow:hidden;display:flex;flex-direction:column;background:#fffdf9;border:1px solid #E4E9DF;border-radius:20px;box-shadow:0 13px 30px #1139230c}
.gl-guide-img {height:216px;overflow:hidden;display:block;background:#EFF2E8}
.gl-guide-img img {height:100%;width:100%;object-fit:cover;transition:transform .5s ease}
.gl-guide-card:hover .gl-guide-img img {transform:scale(1.035)}
.gl-guide-content {display:flex;flex-direction:column;flex:1;padding:22px 23px 19px}
.gl-card-kicker {font-weight:900;color:#66866A;font-size:.62rem;letter-spacing:.13em}
.gl-guide-content h3 {font-family:'Fraunces',Georgia,serif;font-size:1.53rem;line-height:1.19;letter-spacing:-.035em;margin:12px 0 10px}
.gl-guide-content h3 a {color:#154631}
.gl-guide-content p {font-size:.77rem;line-height:1.75;color:#788579;flex:1}
.gl-guide-actions {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:20px;border-top:1px solid #EBEFE7;padding-top:15px}
.gl-guide-actions>a {font-size:.77rem;font-weight:900}
.gl-guide-actions .save-guide-button {min-height:34px;padding:6px 10px;background:#fff;border:1px solid #DEE8DE;color:#276248}
.gl-guide-bottom {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}
.gl-guide-bottom .gl-btn-outline {background:#FFF}
.gl-screenshots {background:#fffdf9}
.gl-shot-row {display:flex;gap:16px;overflow-x:auto;padding:3px 0 20px;scroll-snap-type:x mandatory;scrollbar-color:#A4BAA1 transparent}
.gl-shot {margin:0;flex:0 0 180px;scroll-snap-align:start}
.gl-shot img {display:block;width:100%;height:auto;border:1px solid #DDE8DD;border-radius:15px;box-shadow:0 9px 20px #133f2617}
.gl-shot figcaption {font-size:.73rem;font-weight:800;text-align:center;margin-top:10px;color:#496B53}
.gl-shots-note {font-size:.72rem;color:#8A9588;margin:7px 0 0}
.gl-home>.gl-section {padding:76px 0}
.gl-home>.gl-screenshots,.gl-home>.gl-features {background:linear-gradient(100deg,#F7F8F2,#EFF3EB)}
.gl-home>.gl-screenshots {padding-bottom:32px}
.gl-home>.gl-features {padding-top:32px}
.gl-home>.gl-occasions {padding:64px 0}
.gl-home .gl-occasion-grid {gap:14px}
.gl-home .gl-occasion {height:224px}
.gl-final-cta {background:#FBF9F4;padding:42px 0 90px}
.gl-cta-card {display:flex;align-items:center;gap:25px;border-radius:27px;background:linear-gradient(125deg,#0E432F,#1B6544);padding:33px 38px;color:#FFF;box-shadow:0 20px 42px #123f2722;position:relative;overflow:hidden}
.gl-cta-card:after {content:'✦';font-size:16rem;line-height:1;position:absolute;right:-20px;top:-100px;opacity:.055;color:#F9E9C1;pointer-events:none}
.gl-cta-mark{flex:none}
.gl-cta-mark img{height:74px;width:74px;border-radius:15px}
.gl-cta-text{flex:1;position:relative;z-index:1}
.gl-cta-text .gl-kicker{color:#D1C894;font-size:.65rem}
.gl-cta-text h2 {color:#FFF;font-size:2rem;margin:8px 0}
.gl-cta-text p {color:#D7E9DB;font-size:.81rem}
.gl-cta-button {background:#FFF;color:#12432E;border-radius:13px;font-size:.84rem;min-height:53px;padding:15px 19px;flex:none;position:relative;z-index:1}
.gl-cta-button:hover{background:#EAF2E8;color:#12432E}
/* Existing FAQ and footer preserved, with a single brand system */
.gl-home + .section {background:#F8F9F3}
.faq-item {border-color:#DDE7DA;background:#FFF;transition:border-color .18s ease,box-shadow .18s ease}
.faq-item:hover,.faq-item:focus-within {border-color:#A9C0AA;box-shadow:0 8px 22px #173f2e12}
.faq-question {color:#173F2E;transition:background .18s ease,color .18s ease}
.faq-question:hover {background:#F3F6F0;color:#174A36}
.faq-question:focus-visible {outline:3px solid #8DB8A0;outline-offset:-4px;background:#F3F6F0}
.faq-question:active {background:#EAF1E8}
.faq-item.active {border-color:#A9C0AA;box-shadow:0 8px 22px #173f2e12}
.faq-item.active .faq-question {background:#F3F6F0;color:#174A36}
.site-footer {background:#103C2B;color:#ECF4ED}
.site-footer a {color:#D8E9D8}
.site-footer a:hover {color:#FFF}
.site-footer .footer-brand h3 {display:flex;align-items:center;gap:12px;color:#FFF}
.gl-footer-icon {height:42px;width:42px;border-radius:10px}
.site-footer .footer-bottom {border-color:#355B46}
.site-footer .footer-disclaimer-panel {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:24px;padding:17px 19px;border:1px solid #426650;border-radius:14px;background:#173F30;color:#DDE9DE}
.site-footer .footer-disclaimer-panel p {margin:0;color:#DDE9DE;font-size:.75rem;line-height:1.65}
.site-footer .footer-disclaimer-panel strong {color:#F3F6EF}
.site-footer .footer-col a{color:#D4E9D9!important}
.site-footer .footer-col a:hover{color:#FFF!important}
.site-footer .footer-store-link {background:#E9F1E8;color:#124B32!important;border-radius:10px}
/* Editorial redesign on Gift Guide while preserving filters and complete article text */
.gl-guide-page-hero {background:linear-gradient(90deg,#F8F9F3E8 0%,#F9F8F0E0 45%,#F8F5E599 100%),url('../assets/photos/gift-planning.webp') center 49%/cover no-repeat!important; border-bottom:1px solid #E9E9DF;padding:77px 0}
.gl-guide-page-hero h1 {color:#163F2C;font-size:clamp(2.9rem,5vw,4.25rem)}
.gl-guide-page-hero .legal-meta{max-width:610px;color:#45654B}
.guide-tools {background:#fffdf9;border-color:#E3E9DD}
.guide-filter.active {background:#174A36;color:#fff;border-color:#174A36}
.guide-card{border-radius:20px;background:#FFFDF9;box-shadow:0 12px 26px #1541260d}
.guide-card-art {min-height:195px;height:210px;padding:0;overflow:hidden;background:#E5E9DF}
.guide-card-art img{width:100%;height:100%;object-fit:cover}
.guide-body{padding:24px}
.guide-store-badge {background:#EBF1E9;color:#276344}
.guide-title {font-size:1.47rem;line-height:1.3}
.guide-app-cta {background:#EFF2E8;border-color:#DAE5D9}
.guide-app-cta h2 {color:#163F2C}
.save-guide-button {border-color:#D6E4D4;color:#215B40;background:#FFF}
.save-guide-button:hover {border-color:#ADC9AF;background:#EFF4E9}
.save-guide-button[aria-pressed=true] {background:#DDEBDE;border-color:#A8C9AC;color:#184C35}
/* Contact and legal pages are given the same calmer tone */
.legal-page-header {background:linear-gradient(130deg,#E9F0E7,#FAF8F1);border-bottom:1px solid #DDE8DC}
.legal-page-header h1 {color:#143F2E}
.contact-card,.legal-card {background:#FFFDF9;border-color:#E1E8DE;box-shadow:0 12px 35px #163f2f0a}
.contact-item .contact-icon{background:#EBF2EB;color:#174A36}
.gl-form-note {font-size:.82rem;line-height:1.7;color:#5D7960;background:#EAF1E8;padding:11px 14px;border-radius:12px;margin-bottom:15px}
/* Make accessibility states robust across the original site */
[hidden]{display:none!important}
@media(max-width:1070px){
 .nav-links{gap:13px}.nav-links a{font-size:.76rem}
 .gl-home h1{font-size:clamp(3.3rem,5.5vw,4.5rem)}
 .gl-hero-grid{gap:20px;min-height:640px}
 .gl-hero-phone{height:465px;max-width:75%;transform:rotate(-5deg) translate(-18px,0)}
 .gl-hero-visual{height:510px}
 .gl-perk-grid strong{font-size:.75rem}.gl-perk-grid small{font-size:.65rem}
}
@media(max-width:780px){
 .gl-home .container {width:min(100% - 36px,720px)}
 .gift-list-event-items {grid-template-columns:repeat(2,minmax(0,1fr))}
 .gl-hero-grid{grid-template-columns:1fr;padding:65px 0 60px;gap:32px}
 .gl-hero-copy{max-width:700px}.gl-home h1{font-size:clamp(3.25rem,8.5vw,5rem)}
 .gl-hero-visual{height:500px;max-width:700px;width:100%;margin:auto}
 .gl-hero-phone{height:455px;width:auto;max-width:63%}
 .gl-perk-grid{grid-template-columns:repeat(2,1fr)}
 .gl-perk-grid>div{border-bottom:1px solid #DDE4D9}
 .gl-perk-grid>div:nth-child(2n){border-right:0}
 .gl-steps-grid,.gl-occasion-grid,.gl-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gl-steps-grid article:last-child,.gl-occasion-grid a:last-child,.gl-guide-grid article:last-child{grid-column:1/-1}
 .gl-steps-grid article:last-child .gl-step-figure{height:310px}
 .gl-feature-grid{grid-template-columns:repeat(2,1fr)}
 .gl-split-title{display:block}
 .gl-split-title p{max-width:670px;margin-top:12px}
 .gl-cta-card{flex-wrap:wrap}.gl-cta-text{flex:1 1 65%}.gl-cta-button{margin-left:auto}
}
@media(max-width:768px){
 .menu-toggle{display:flex}
 .nav-wrap{gap:10px}
 .nav-gift-list-mobile{display:inline-flex;order:1;align-items:center;margin-left:auto;color:#3B5345;font-size:.73rem;font-weight:800;text-decoration:none;white-space:nowrap}
 .menu-toggle{order:2;margin-left:0}
 .nav-links.active {top:calc(100% + 8px);right:0;left:auto;width:min(280px,calc(100vw - 36px));padding:12px;gap:4px;border:1px solid #DBE6DB;border-radius:16px;background:#FFFDF9;box-shadow:0 15px 35px #183c2b1c}
}
@media(max-width:680px){
 .nav-wrap{min-height:75px}.brand-title{font-size:1.45rem}.brand-sub{font-size:.51rem}.gl-brand-icon{width:43px;height:43px}
 .menu-toggle{width:40px;height:40px;margin-left:6px}
 .gift-list-dialog{padding:21px;border-radius:18px}
 .gift-list-dialog h2{font-size:1.55rem}
 .gift-list-event-items {grid-template-columns:1fr}
 .gift-list-item{align-items:stretch}
 .gift-list-item{height:250px;min-height:250px;max-height:250px;padding:14px}
 .gift-list-detail-fields{grid-template-columns:1fr}
 .gift-list-event-summary{flex-wrap:wrap;gap:7px 10px;padding:13px 58px 13px 14px}
 .gift-list-event-name{font-size:1.05rem}
 .gift-list-event-budget{flex-basis:100%;margin-left:0;text-align:left}
 .gift-list-event-summary::after{margin-left:auto}
 .gift-list-event-actions{top:12px;right:10px;padding:0}
 .gift-list-event-rename,.gift-list-event-confirm{margin:0 10px 10px}
 .gift-list-event-rename input{flex-basis:100%}
 .gift-list-event-confirm span{flex-basis:100%}
 .gift-list-event-items{padding:0 10px 10px}
 .nav-links.active{background:#FFFDF9;border-color:#DBE6DB;box-shadow:0 15px 35px #183c2b1c}
 .nav-links a{font-size:.95rem}
 .gl-home .container{width:calc(100% - 36px)}
 .gl-hero-grid{padding:52px 0 48px;gap:28px}
 .gl-home h1{font-size:clamp(2.75rem,11.5vw,4.1rem);letter-spacing:-.06em;margin:18px 0}
 .gl-lead{font-size:.91rem;line-height:1.8}
 .gl-hero-details{margin-top:25px;gap:8px}.gl-hero-details strong{font-size:.76rem}.gl-hero-details span{font-size:.62rem}
 .gl-actions{gap:9px}.gl-btn,.gl-btn-outline{min-height:48px;font-size:.78rem;padding:12px 14px}
 .gl-hero-visual{height:415px}.gl-hero-photo{border-radius:19px}
 .gl-hero-visual:before{border-radius:19px}
 .gl-hero-phone{height:375px;max-width:65%;border-radius:24px;transform:rotate(-5deg) translate(-14px,4px)}
 .gl-floating-detail{padding:8px 9px;font-size:.59rem}.gl-float-top{right:5px;top:12%}.gl-float-bottom{right:4px;bottom:9%}
 .gl-perk-grid>div{padding:17px 8px;gap:8px}.gl-perk-icon{font-size:1.35rem;min-width:27px}.gl-perk-grid strong{font-size:.7rem;white-space:normal}.gl-perk-grid small{font-size:.6rem}
 .gl-home>.gl-section{padding:52px 0}
 .gl-home>.gl-screenshots{padding-bottom:26px}
 .gl-home>.gl-features{padding-top:26px}
 .gl-home>.gl-occasions{padding:46px 0}
 .site-footer .footer-disclaimer-panel {grid-template-columns:1fr;gap:10px;padding:15px}
 .gl-heading{margin-bottom:29px;text-align:left}
 .gl-home h2,.gl-my-gift-list .gl-split-title h1{font-size:clamp(2.12rem,8vw,2.9rem)}
 .gl-steps-grid,.gl-occasion-grid,.gl-guide-grid{grid-template-columns:1fr}
 .gl-steps-grid article:last-child,.gl-occasion-grid a:last-child,.gl-guide-grid article:last-child{grid-column:auto}
 .gl-step-figure{height:315px}.gl-step-info{padding:19px 20px 23px}
 .gl-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.gl-feature{padding:19px 16px;min-height:190px}.gl-feature h3{font-size:.87rem}.gl-feature p{font-size:.7rem}
 .gl-occasion{height:205px}.gl-guide-img{height:225px}
 .gl-home .gl-occasion-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x mandatory;scrollbar-color:#A4BAA1 transparent}
 .gl-home .gl-occasion{height:195px;flex:0 0 min(78vw,320px);scroll-snap-align:start}
 .gl-guide-bottom{flex-direction:column;align-items:flex-start;gap:15px}
 .gl-shot{flex-basis:166px}.gl-cta-card{display:grid;grid-template-columns:55px 1fr;padding:24px;gap:14px}.gl-cta-mark img{width:55px;height:55px}.gl-cta-text h2{font-size:1.55rem}.gl-cta-button{grid-column:1/-1;width:100%;margin:7px 0 0}
 .gl-guide-page-hero{padding:65px 0;background-position:62% 50%!important}
}
@media(max-width:385px){
 .gl-brand-icon{height:38px;width:38px}.brand-sub{display:none}
 .gl-hero-visual{height:360px}.gl-hero-phone{height:330px}.gl-feature-grid{grid-template-columns:1fr}.gl-feature{min-height:140px}
 .gl-hero-details{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){.gl-occasion,.gl-occasion img,.gl-guide-img img,.btn,.menu-toggle,.menu-toggle span,.gift-list-fab,.gift-list-fab::before,.gift-list-dialog[open],.gift-list-dialog[open]::backdrop{transition:none!important;animation:none!important}}
