:root{font-family:var(--font-inter);color:var(--color-navy-ink);background:var(--root-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-georgia-times);font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4.3vw,4.65rem);line-height:1.06}h2{font-size:2.25rem;line-height:1.12}h3{font-size:1.35rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{height:66px;padding:0 clamp(20px,4vw,62px);border-bottom:1px solid var(--color-line);display:flex;align-items:center;justify-content:space-between;background:var(--site-header-bg);z-index:5}.wordmark{border:0;background:none;font:500 2rem/1 var(--font-georgia);letter-spacing:-.06em;color:var(--color-text);padding:0}.wordmark span{font-style:italic;font-size:.9em}.site-header nav{height:100%;display:flex;gap:32px;align-items:stretch}.site-header nav button{background:none;border:0;border-bottom:2px solid transparent;color:var(--color-text);font-size:.9rem;font-weight:600;padding:4px 2px 0}.site-header nav button:hover,.site-header nav .nav-active{border-bottom-color:var(--color-accent)}.primary-button,.secondary-button,.text-button,.aside-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;text-decoration:none;white-space:normal}.primary-button{background:var(--color-accent);color:var(--color-white);border-radius:var(--radius-6);padding:15px 22px;font-size:.98rem;font-weight:700;line-height:1.2;min-height:51px;box-shadow:var(--shadow-primary-button);transition:background .2s,transform .2s}.primary-button:hover:not(:disabled){background:var(--color-accent-strong);transform:translateY(-1px)}.primary-button svg,.secondary-button svg,.text-button svg,.aside-link svg{flex:none}.secondary-button{border:1px solid var(--color-line);background:var(--color-white);color:var(--color-text);border-radius:var(--radius-6);padding:13px 18px;font-weight:700}.secondary-button:hover{border-color:var(--color-text)}.text-button{background:none;color:var(--color-link);font-size:.94rem;font-weight:700;padding:8px 0}.text-button:hover,.aside-link:hover{text-decoration:underline}.full-width{width:100%}.overline{font-size:.71rem;line-height:1.4;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-weight:750}.fine-print,.field-hint,.small-copy{font-size:.85rem;line-height:1.5;color:var(--color-text-muted)}.lead{font-size:1.19rem;line-height:1.55;color:var(--lead-text)}.error{color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);padding:12px 14px;border-radius:var(--radius-4)}.success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);padding:12px 14px;border-radius:var(--radius-4)}.connection-error{padding:15px 5vw;background:var(--connection-error-bg);color:var(--connection-error-text)}.hero-section{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:20px;padding:16px clamp(20px,3.8vw,58px) 0;max-width:1600px;margin:0 auto;width:100%}.hero-main{position:relative;min-width:0;min-height:566px;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:10px 0 0 2px;width:min(620px,56%)}.hero-copy h1{max-width:590px;margin:0 0 14px}.hero-copy p{color:var(--hero-copy-text);font-size:1.02rem;line-height:1.53;max-width:540px}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:20px}.progress-track,.mini-progress{display:block;background:var(--progress-track-bg);border-radius:var(--radius-20);overflow:hidden;height:11px}.progress-track span,.mini-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-link);transition:width .45s ease}.aside-link{width:100%;border-top:1px solid var(--color-line);padding:16px 4px 1px;margin-top:17px;background:none;color:var(--color-link);font-size:.9rem;font-weight:700}.gift-card{min-width:0;display:block;text-align:left;border:1px solid var(--color-line);background:var(--color-white);padding:0;color:var(--color-text);border-radius:var(--radius-7);overflow:hidden;transition:border-color .18s,transform .18s,box-shadow .18s}.gift-card:hover{border-color:var(--color-link);transform:translateY(-2px);box-shadow:var(--shadow-gift-card-hover)}.gift-card-image{height:180px;display:block;background-size:cover;background-position:center;background-color:var(--gift-card-image-bg)}.gift-card-compact .gift-card-image{height:117px}.gift-image-flights{background-position:58% 46%;background-size:220%}.gift-image-hotel{background-position:37% 48%;background-size:175%}.gift-image-dinner{background-position:91% 47%;background-size:195%}.gift-image-train{background-position:74% 70%;background-size:190%}.gift-card-body{display:grid;padding:15px 16px 17px;gap:5px}.gift-card-compact .gift-card-body{padding:11px 12px 13px}.gift-card-place{font-size:.64rem;font-weight:750;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent)}.gift-card-title{font-family:var(--font-georgia);font-size:1.35rem;line-height:1.18;letter-spacing:-.03em;display:flex;align-items:start;justify-content:space-between;gap:4px}.gift-card-compact .gift-card-title{font-size:1.15rem}.gift-card-title svg{margin-top:4px;color:var(--color-link)}.gift-card-meta{font-size:.8rem;line-height:1.4;color:var(--color-text-muted)}.mini-progress{height:4px;margin-top:4px}.home-note{display:flex;gap:20px;align-items:flex-start;border-top:1px solid var(--color-line);padding:21px clamp(20px,3.8vw,58px) 28px;max-width:1600px;width:100%;margin:0 auto;color:var(--color-link)}.home-note>div{max-width:580px}.home-note h3{font-family:inherit;font-size:.93rem;font-weight:750;letter-spacing:0;margin:0 0 3px}.home-note p{font-size:.84rem;line-height:1.5;color:var(--color-text-muted);margin:0 0 3px}.home-note span{font-family:var(--font-georgia);font-style:italic}.site-footer{border-top:1px solid var(--color-line);margin-top:auto;display:flex;justify-content:space-between;gap:20px;padding:17px clamp(20px,3.8vw,58px);font-size:.74rem;color:var(--color-text-muted);max-width:1600px;width:100%;align-self:center}.site-footer button{background:none;border:0;color:var(--color-link);text-decoration:underline;font-size:inherit;padding:0}.inner-page{max-width:1370px;width:100%;margin:0 auto;padding:28px clamp(20px,4vw,60px) 80px}.back-link{margin-bottom:26px}.all-gifts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.all-gifts-grid .gift-card-image{height:220px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr);gap:clamp(32px,5vw,78px)}.detail-art{height:460px;border-radius:var(--radius-7);background-size:cover;background-position:center;background-color:var(--detail-art-bg)}.detail-art-flights{background-position:55% 50%}.detail-art-cooking{background-position:center}.detail-art-hotel{background-position:44% 44%}.detail-art-dinner{background-position:90% 46%}.detail-art-train{background-position:74% 68%}.scene-caption{font-family:var(--font-georgia);font-style:italic;color:var(--color-text-muted);font-size:1.08rem;line-height:1.45;margin:13px 0 26px}.detail-info{padding-top:10px}.detail-info h1{margin:12px 0 18px}.gift-progress{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:23px 0;margin:28px 0}.gift-progress-amount{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.gift-progress-amount strong{font:500 2.15rem var(--font-georgia);color:var(--color-link)}.gift-progress-amount span{color:var(--color-text-muted);font-size:.92rem}.gift-progress p{font-size:.85rem;color:var(--color-text-muted);margin:10px 0 0}.detail-status{display:grid;grid-template-columns:1fr auto;gap:11px;padding-bottom:24px;font-size:.87rem}.detail-status span{color:var(--color-text-muted)}.detail-status strong{font-weight:700}.detail-info>.fine-print{margin-top:16px}.reservation-note{padding:14px;background:var(--color-cream);border-left:3px solid var(--reservation-note-border);font-size:.88rem;line-height:1.45;color:var(--reservation-note-text)}.memory-panel,.memory-inline{border-top:1px solid var(--color-line);margin-top:30px;padding-top:26px}.memory-panel img{width:100%;max-height:360px;object-fit:cover;border-radius:var(--radius-5);margin-bottom:16px}.memory-inline img{max-height:240px;width:100%;object-fit:cover;border-radius:var(--radius-5)}.memory-panel h2,.memory-inline h2{margin:6px 0 10px}.memory-panel p,.memory-inline p{line-height:1.55;color:var(--color-text-muted)}.contribution-layout,.status-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:clamp(30px,6vw,85px);align-items:start}.contribution-page h1,.status-page h1{max-width:650px}.flow-art,.status-illustration{height:380px;background-size:cover;background-position:center;border-radius:var(--radius-7);margin-top:25px}.form-panel{border:1px solid var(--color-line);border-radius:var(--radius-7);background:var(--color-white);padding:27px;display:grid;gap:7px}.form-panel h2{font-size:2rem;margin:0 0 13px}.form-panel label,.memory-form label{font-size:.82rem;font-weight:750;color:var(--color-text);margin-top:11px}.form-panel input,.form-panel textarea,.memory-form input,.memory-form textarea,.memory-form select{width:100%;border:1px solid var(--form-panel-border);background:var(--color-white);color:var(--color-text);border-radius:var(--radius-4);padding:11px 12px;font-size:1rem;min-height:43px}.form-panel textarea,.memory-form textarea{resize:vertical}.input-prefix{position:relative}.input-prefix span{position:absolute;left:13px;top:10px;font-size:1.1rem;color:var(--color-text-muted)}.input-prefix input{padding-left:31px;font-size:1.14rem;font-weight:700}.form-panel .field-hint{margin:0 0 4px}.demo-note{background:var(--demo-note-bg);color:var(--demo-note-text);padding:12px 14px;font-size:.82rem;line-height:1.45;margin:13px 0 7px}.status-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.9fr)}.status-illustration{height:430px;margin-top:0;transition:filter .5s}.status-illustration:not(.confirmed-art){filter:saturate(.75)}.status-content .overline{color:var(--color-accent)}.status-content h1{margin:12px 0 13px}.status-content>p{line-height:1.55;color:var(--status-content-text)}.status-summary{display:grid;grid-template-columns:1fr auto;gap:10px;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:17px 0;margin:26px 0;font-size:.88rem}.status-summary span{color:var(--color-text-muted)}.status-summary strong{font-weight:750}.status-content blockquote,.queue-item blockquote{border-left:2px solid var(--color-accent);margin:22px 0;padding:4px 0 4px 14px;font:italic 1rem/1.5 var(--font-georgia)}.status-content .secondary-button{margin-top:16px}.couple-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.couple-heading h1{margin-bottom:8px}.couple-heading p{color:var(--color-text-muted)}.demo-label{background:var(--demo-label-bg);padding:8px 11px;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.couple-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:40px}.couple-section h2{font-size:1.9rem;padding-bottom:12px;border-bottom:1px solid var(--color-line)}.couple-section h2 span{font-family:inherit;font-size:.9rem;background:var(--couple-section-bg);border-radius:50%;display:inline-grid;place-items:center;width:28px;height:28px;vertical-align:middle}.queue{display:grid;gap:15px}.queue-item{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--color-line);padding:13px 0 18px}.queue-item h3{margin:8px 0 5px}.queue-item p{margin:0 0 5px;color:var(--color-text-muted);font-size:.87rem}.queue-item blockquote{margin:8px 0 0;font-size:.9rem}.queue-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.queue-actions .primary-button{padding:10px 12px;min-height:40px;font-size:.78rem;white-space:nowrap}.queue-actions .text-button{font-size:.78rem}.empty-state{color:var(--color-text-muted)}.couple-gifts{display:grid}.couple-gifts>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--color-line);gap:12px;padding:11px 0;font-size:.88rem}.couple-gifts strong{white-space:nowrap}.section-gap{margin-top:38px}.memory-form{display:grid;gap:8px}.memory-form label{margin-top:10px}.memory-thumb{width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius-4)}.memory-form p{margin:0}.memory-form button{margin-top:8px}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}@media(max-width:1100px){.hero-section{grid-template-columns:minmax(0,1fr) 285px}.hero-main{min-height:520px}.hero-copy{width:61%}.hero-copy h1{font-size:3.3rem}}@media(max-width:760px){.site-header{height:58px;padding:0 20px}.wordmark{font-size:1.55rem}.site-header nav{gap:18px}.site-header nav button{font-size:.82rem}.hero-section{display:block;padding:15px 0 0}.hero-main{min-height:660px}.hero-copy{padding:14px 20px 0;width:min(100%,570px)}.hero-copy h1{font-size:clamp(2.55rem,8vw,3.5rem);max-width:550px}.hero-copy p{font-size:.96rem;max-width:500px}.hero-actions{margin-top:15px}.aside-link{margin-top:8px;padding-top:9px}.home-note{padding:20px}.inner-page{padding:23px 20px 65px}.detail-layout,.contribution-layout,.status-layout,.couple-grid{display:block}.all-gifts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.all-gifts-grid .gift-card-image{height:160px}.detail-art{height:390px}.detail-info{padding-top:20px}.flow-art,.status-illustration{height:280px}.form-panel{margin-top:26px}.status-content{margin-top:25px}.couple-section{margin-top:32px}}@media(max-width:500px){.hero-main{min-height:610px}.hero-copy h1{font-size:2.65rem}.hero-copy p{max-width:370px}.hero-actions{gap:15px}.hero-actions .primary-button{padding:12px 14px;font-size:.83rem}.hero-actions .text-button{font-size:.82rem}.all-gifts-grid{grid-template-columns:1fr}.all-gifts-grid .gift-card-image{height:190px}.detail-art{height:300px}.detail-info h1{font-size:2.75rem}.queue-item{display:block}.queue-actions{flex-direction:row;align-items:center;justify-content:start;margin-top:12px}.site-footer{flex-wrap:wrap}.site-footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.gift-card-image{position:relative}.gift-card-image .card-plane{position:absolute;width:34%;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 2px var(--card-plane-filter))}.detail-art-flights,.status-flight-art{position:relative;height:auto;aspect-ratio:2/1;background-size:100% 100%;background-repeat:no-repeat;background-color:var(--color-page)}.detail-plane,.status-plane{position:absolute;width:14%;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 2px var(--detail-plane-filter));transition:left .7s ease,top .7s ease}@media(max-width:500px){.hero-main{min-height:520px}}@media(min-width:501px)and (max-width:600px){.hero-main{min-height:520px}}.status-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px}.status-actions .secondary-button{margin-top:0}.how-it-works-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.how-it-works-heading h2{margin:0}.how-it-works-heading .text-button{min-height:44px;padding:8px 0;font-size:.82rem}.gifter-intro-dialog{width:min(440px,calc(100% - 32px));max-width:440px;max-height:min(90vh,760px);padding:0;border:1px solid var(--color-line);border-radius:var(--radius-10);background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-gifter-intro-dialog);overflow:auto}.gifter-intro-dialog::backdrop{background:var(--gifter-intro-dialog-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gifter-intro-card{padding:30px;animation:gifter-intro-arrive .2s ease both}.gifter-intro-card h2{font-size:2.45rem;line-height:1.05;margin:8px 0 14px}.gifter-intro-card h2:focus{outline:none}.gifter-intro-card p{font-size:1rem;line-height:1.55;color:var(--color-text-muted);margin:0}.gifter-intro-art{width:100%;height:138px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-7);background:var(--color-surface);margin:0 0 20px}.gifter-intro-art>.couple-portrait,.gifter-intro-art>.scene-frame{width:100%;height:100%;max-height:138px}.gifter-intro-progress{display:flex;align-items:center;justify-content:space-between;margin-top:27px;color:var(--color-text-muted);font-size:.8rem;font-weight:650}.gifter-intro-dots{display:flex;align-items:center;gap:7px}.gifter-intro-dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--color-line)}.gifter-intro-dots i.active{width:20px;border-radius:var(--radius-10);background:var(--color-accent)}.gifter-intro-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:16px}.gifter-intro-actions .primary-button,.gifter-intro-actions .text-button{min-height:48px}.gifter-intro-actions .text-button{padding:10px 0}@keyframes gifter-intro-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:500px){.gifter-intro-dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 16px);margin:auto 8px 8px;border-radius:var(--radius-12) var(--radius-12) var(--radius-8) var(--radius-8)}.gifter-intro-card{padding:24px 22px calc(22px + env(safe-area-inset-bottom))}.gifter-intro-card h2{font-size:2.15rem}.gifter-intro-art{height:112px;margin-bottom:17px}.gifter-intro-art>.couple-portrait,.gifter-intro-art>.scene-frame{max-height:112px}.gifter-intro-actions{gap:14px}.gifter-intro-actions .primary-button{padding:13px 17px}}.site-header nav{gap:clamp(12px,2.3vw,32px)}.funding-ring-track{stroke:var(--funding-ring-track-stroke)}.funding-bar{height:9px;border-radius:var(--radius-20);background:var(--funding-bar-bg);overflow:hidden}.funding-bar>span{display:block;height:100%;border-radius:inherit;background:var(--color-link);transition:width .4s ease}.chapter-story{font:italic .88rem/1.4 var(--font-georgia);color:var(--color-text-muted);margin:0;padding:0 16px 16px}@media(prefers-reduced-motion:reduce){.funding-bar>span{transition:none}}.stop-gift-list{display:grid}.stop-gift-list button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:15px;border:0;border-top:1px solid var(--color-line);background:transparent;color:var(--color-text);padding:13px 0}.stop-gift-list button:hover{color:var(--color-accent)}.stop-gift-list button span{display:grid;gap:3px}.stop-gift-list strong{font-size:.85rem}.stop-gift-list small{font-size:.74rem;color:var(--color-text-muted)}.gift-stop-section{margin:34px 0 44px}.gift-stop-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.gift-stop-heading h2{margin:3px 0;font-size:2rem}.gift-stop-heading p{color:var(--color-text-muted);font-size:.87rem;margin:0}.gift-stop-sections{scroll-margin-top:20px}.gift-card-compact .gift-card-title{font-size:1.04rem}.gift-card-compact .gift-card-meta{font-size:.74rem}.gift-image-hotel,.detail-art-hotel,.gift-image-hotel-hakone,.detail-art-hotel-hakone,.gift-image-hotel-kyoto,.detail-art-hotel-kyoto{background-size:cover;background-position:center}.flight-progress{border:1px solid var(--flight-progress-border);background:var(--flight-progress-bg);border-radius:var(--radius-7);padding:18px 19px;margin:16px 0}.flight-progress-compact{border:0;padding:0;background:transparent;margin:10px 0 16px}.flight-progress-label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.flight-progress-label strong{font:500 1.75rem var(--font-georgia);color:var(--color-link)}.flight-progress-label span{font-size:.78rem;color:var(--color-text-muted)}.flight-progress-compact .flight-progress-label strong{font-size:1.25rem}.flight-route{position:relative;height:7px;background:var(--flight-route-bg);border-radius:var(--radius-10);margin:35px 12px 9px}.flight-route-fill{display:block;height:100%;background:var(--color-accent);border-radius:var(--radius-10)}.flight-plane-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;background:var(--color-white);border:2px solid var(--color-accent);border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-flight-plane-marker)}.flight-plane-marker img{width:32px;height:32px;object-fit:contain}.flight-before-marker{position:absolute;top:50%;transform:translate(-50%,-50%);height:17px;width:3px;background:var(--color-link);border-radius:var(--radius-3)}.flight-ends{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.flight-movement{font-size:.81rem;color:var(--color-link);margin:16px 0 0!important}.demo-choice{border:1px solid var(--color-line);border-radius:var(--radius-5);margin:17px 0 4px;padding:9px 13px 12px}.demo-choice legend{font-size:.78rem;font-weight:750;padding:0 5px}.demo-choice label{display:flex;align-items:flex-start;gap:10px;margin:8px 0!important;cursor:pointer}.demo-choice input{width:16px;min-height:16px;margin:2px 0 0;accent-color:var(--color-accent)}.demo-choice label span{display:grid;gap:2px}.demo-choice strong{font-size:.82rem}.demo-choice small{color:var(--color-text-muted);line-height:1.4;font-size:.75rem}@media(max-width:500px){.site-header nav{gap:9px}.site-header nav button{font-size:.72rem}}.flight-remaining{color:var(--color-text-muted);font-size:.88rem;margin:-4px 0 26px}.hero-copy{width:min(680px,100%);padding-bottom:18px}.stop-gift-list button span{min-width:0}.stop-gift-list em{font:italic .73rem/1.3 var(--font-georgia);color:var(--color-text-muted);white-space:normal}@media(max-width:1100px){.hero-copy{width:100%}}@media(max-width:760px){.hero-main{min-height:0}.hero-copy{padding:14px 20px 8px}}.transfer-instructions{background:var(--transfer-instructions-bg);border:1px solid var(--transfer-instructions-border);border-radius:var(--radius-7);padding:20px;margin:23px 0}.transfer-instructions h2{font-size:1.45rem;margin:0 0 7px}.transfer-instructions>p{font-size:.84rem;line-height:1.48;color:var(--color-text-muted);margin:0 0 16px}.transfer-field{display:grid;grid-template-columns:minmax(92px,.45fr) minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid var(--transfer-field-border);padding:11px 0}.transfer-field>span{font-size:.75rem;color:var(--color-text-muted);font-weight:700}.transfer-field strong{font-size:.88rem;overflow-wrap:anywhere}.transfer-field .text-button{font-size:.76rem;padding:4px}.iban-value{font-variant-numeric:tabular-nums;letter-spacing:.035em}.bank-settings{background:var(--bank-settings-bg);border:1px solid var(--bank-settings-border);border-radius:var(--radius-7);padding:17px 19px 20px}.bank-settings p{font-size:.82rem;line-height:1.45;color:var(--color-text-muted)}.bank-settings input{text-transform:none}@media(max-width:500px){.transfer-instructions{padding:16px}.transfer-field{grid-template-columns:1fr auto;gap:4px 8px}.transfer-field>span{grid-column:1/-1}.transfer-field strong{font-size:.83rem}}.dev-view-switcher{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:8px clamp(20px,4vw,60px);border-bottom:1px dashed var(--color-line);background:var(--dev-view-switcher-bg);color:var(--color-slate-ink)}.dev-view-label{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dev-view-options{display:flex;gap:4px;padding:3px;border:1px solid var(--dev-view-options-border);border-radius:var(--radius-7);background:var(--color-white)}.dev-view-options button{min-height:44px;padding:8px 14px;border:0;border-radius:var(--radius-4);background:transparent;color:var(--color-slate-ink);font:inherit;font-size:.8rem;font-weight:650}.dev-view-options button[aria-pressed=true]{background:var(--color-slate-ink);color:var(--color-white)}.dev-view-options button:hover:not(:disabled){box-shadow:var(--shadow-dev-view-options-hover)}.dev-view-hint{font-size:.8rem;line-height:1.4}.dev-hub-link{display:flex;align-items:center;gap:10px}.dev-hub-link button,.dev-preview-toggle{min-height:44px;padding:8px 12px;border:1px solid var(--dev-hub-link-border);border-radius:var(--radius-5);background:var(--color-white);color:var(--color-slate-ink);font:inherit;font-size:.8rem;font-weight:650}.dev-wedding-picker{display:grid;gap:3px;flex:1;min-width:200px;max-width:380px;font-size:.68rem;font-weight:700}.dev-wedding-picker select{width:100%;min-height:44px;padding:7px 10px;border:1px solid var(--dev-wedding-picker-border);border-radius:var(--radius-5);background:var(--color-white);color:var(--color-slate-ink);font:inherit;font-size:.8rem;font-weight:500}.dev-current-view{font-size:.75rem;line-height:1.4}.dev-view-hint{flex-basis:100%}.dev-view-switcher button:disabled,.dev-wedding-picker select:disabled{opacity:.55;cursor:not-allowed}.prototype-shell{min-height:100vh;background:var(--prototype-shell-bg);color:var(--prototype-shell-text)}.prototype-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:24px clamp(22px,6vw,80px);border-bottom:1px solid var(--prototype-header-border)}.prototype-wordmark{font:normal 1.5rem var(--font-georgia)}.prototype-wordmark span{display:inline-block;margin-left:12px;padding:6px 8px;border-radius:var(--radius-4);background:var(--prototype-wordmark-bg);font:700 .65rem var(--font-arial);letter-spacing:.08em;text-transform:uppercase}.prototype-stage{font-size:.75rem;color:var(--color-sage-grey)}.prototype-hub{width:min(1040px,100%);margin:0 auto;padding:52px 28px 40px}.prototype-intro{max-width:660px;margin-bottom:32px}.prototype-intro h1{font:normal clamp(2.5rem,5vw,4rem)/1.06 var(--font-georgia);letter-spacing:-.035em;margin:14px 0 18px}.prototype-intro p{font-size:1rem;line-height:1.65;color:var(--color-sage-grey);max-width:560px}.prototype-entry{display:flex;flex-direction:column;justify-content:space-between;gap:25px;min-width:0;background:var(--color-ivory);border:1px solid var(--prototype-entry-border);border-radius:var(--radius-12);padding:28px}.prototype-featured{flex-direction:row;align-items:center;padding:34px;background:var(--prototype-featured-bg);border-color:var(--prototype-featured-border);position:relative;overflow:hidden}.prototype-entry h2{font:normal 2rem/1.15 var(--font-georgia);margin:12px 0 9px}.prototype-featured h2{font-size:2.6rem}.prototype-entry p{margin:0 0 12px;color:var(--color-sage-grey);line-height:1.5}.prototype-entry .overline{color:var(--overline-text)}.prototype-publication{font-size:.75rem;color:var(--color-sage-grey)}.prototype-entry-actions{display:flex;align-items:flex-start;flex-direction:column;gap:13px}.prototype-entry-actions a{text-decoration:none;max-width:100%;white-space:normal}.prototype-featured .primary-button{background:var(--prototype-featured-button-bg);color:var(--color-white)}.prototype-entry .text-button{font-size:.8rem}.prototype-section-heading{margin:36px 0 20px}.prototype-section-heading h2{font:normal 1.55rem var(--font-georgia);margin:0 0 8px}.prototype-section-heading p{font-size:.86rem;line-height:1.5;color:var(--color-sage-grey);margin:0}.prototype-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.prototype-footnote{margin:32px 0 0;padding-top:22px;border-top:1px solid var(--prototype-footnote-border);font-size:.8rem;line-height:1.6;color:var(--color-sage-grey)}.route-not-found{min-height:65vh;padding-top:70px}.route-not-found p{margin:20px 0 28px}@media(max-width:760px){.dev-view-switcher{gap:10px;padding:12px 20px}.dev-wedding-picker{max-width:none}.dev-current-view{flex-basis:100%}.prototype-header{padding:20px 22px}.prototype-hub{padding:34px 22px}.prototype-featured{align-items:flex-start;flex-direction:column;padding:26px}.prototype-featured h2{font-size:2.2rem}.prototype-intro h1{font-size:2.7rem}.prototype-grid{grid-template-columns:1fr}.prototype-entry{padding:24px}.prototype-intro p{font-size:.9rem}}@media(max-width:440px){.dev-wedding-picker{order:2;flex-basis:100%;min-width:0}.dev-view-options{order:3}.dev-preview-toggle{order:4}.dev-current-view{order:5}.dev-view-hint{order:6}.dev-view-options button{padding:8px 11px}.prototype-header{gap:10px}.prototype-stage{flex-basis:100%}.prototype-intro h1{font-size:2.4rem}.prototype-entry-actions .primary-button,.prototype-entry-actions .secondary-button{padding:12px 15px;font-size:.85rem}}.wedding-picker{display:grid;gap:10px;min-width:210px}.wedding-picker .secondary-button{margin:0;justify-self:start;min-height:44px}.create-wedding>h3{font-size:1.5rem;margin:0 0 8px}.create-wedding>p{color:var(--color-text-muted);line-height:1.5;margin:0 0 16px}.creation-names{grid-template-columns:1fr 1fr}.setup-form .creation-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.creation-choices legend{font-size:.9rem;font-weight:700;padding:0 0 8px}.setup-form .creation-choices label{display:flex;align-items:start;gap:10px;margin:0;padding:16px;border:1px solid var(--color-line);border-radius:var(--radius-6);cursor:pointer;background:var(--color-white)}.setup-form .creation-choices label.selected{border:2px solid var(--color-link);padding:15px;background:var(--creation-choices-selected-bg)}.setup-form .creation-choices input{width:18px;min-height:18px;margin:2px 0 0;padding:0;flex:none;accent-color:var(--color-link)}.creation-choices strong{display:block;color:var(--color-text);font-size:.95rem}.creation-choices small{display:block;margin-top:8px;font-size:.82rem;line-height:1.5;color:var(--color-text-muted)}.empty-collection h1{max-width:750px;font-size:clamp(2.4rem,5vw,4rem);margin:14px 0}.empty-collection p{max-width:650px;line-height:1.6;color:var(--color-text-muted)}@media(max-width:500px){.creation-names,.setup-form .creation-choices{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{background:var(--color-page);overflow-wrap:anywhere}button:disabled{cursor:default;opacity:.55}.site-header{height:auto;min-height:72px;flex-wrap:wrap;gap:10px 20px;padding-top:12px;padding-bottom:12px}.wordmark{max-width:100%;overflow-wrap:anywhere;text-align:left}.site-footer>span:first-child{min-width:0;flex:1}.preview-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px clamp(20px,4vw,60px);background:var(--preview-banner-bg);border-block:1px solid var(--preview-banner-border);font-size:.85rem;color:var(--preview-banner-text)}.wedding-setup{margin:30px 0 42px;padding:28px;background:var(--color-ivory);border:1px solid var(--color-line);border-radius:var(--radius-9)}.setup-heading{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:25px}.setup-heading h2{font-size:2.2rem;margin:6px 0 10px}.setup-heading p{margin:0;color:var(--color-text-muted);line-height:1.5;max-width:580px}.wedding-switch{display:grid;gap:7px;min-width:210px;font-size:.8rem;font-weight:700;color:var(--color-text)}.wedding-switch select,.setup-form input,.setup-form textarea,.setup-form select{width:100%;min-width:0;min-height:44px;border:1px solid var(--wedding-switch-border);border-radius:var(--radius-4);background:var(--color-white);color:var(--color-text);font:inherit;padding:11px 12px}.wedding-switch small{font-size:.73rem;font-weight:400;line-height:1.4;color:var(--color-text-muted)}.setup-form fieldset{margin:0;padding:0;border:0;display:grid;gap:8px;min-width:0}.setup-form label{display:block;font-size:.84rem;font-weight:700;margin-top:12px;margin-bottom:7px}.setup-form label span{font-weight:400;color:var(--color-text-muted)}.setup-form textarea{resize:vertical;line-height:1.5;display:block}.setup-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.setup-fields>div{min-width:0}.collection-fields{grid-template-columns:1fr 1.5fr;margin-top:4px;align-items:start}.setup-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0}.setup-actions .secondary-button{margin:0}.setup-actions>span{font-size:.8rem;color:var(--color-text-muted)}.local-publication{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--color-line);padding:24px 0 18px}.local-publication h3{margin:0 0 8px;font-size:1.2rem}.local-publication p{font-size:.85rem;line-height:1.5;margin:0 0 10px;color:var(--color-text-muted)}.local-publication a{display:inline-flex;gap:8px;align-items:center;font-size:.84rem;font-weight:700;color:var(--color-link)}.local-publication>button{flex:none}.publication-state{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin-bottom:24px;background:var(--color-cream);border:1px solid var(--publication-state-border);border-radius:var(--radius-6)}.publication-state strong{font-size:.94rem}.publication-state p{font-size:.85rem;line-height:1.5;color:var(--color-text-muted);margin:5px 0 0}.publication-state>button{flex:none}.publication-copy{min-width:0;flex:1}.local-publication .overline{display:block;margin-bottom:8px}.publication-versions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;padding:14px 16px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-white)}.publication-versions dt{font-size:.76rem;color:var(--color-text-muted);margin-bottom:6px}.publication-versions dd{margin:0;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.publication-checklist{padding:16px;margin:18px 0;background:var(--color-cream);border:1px solid var(--publication-checklist-border);border-radius:var(--radius-6);font-size:.87rem}.publication-checklist ul{padding-left:19px;margin:8px 0 12px}.publication-checklist li+li{margin-top:5px}.publication-checklist .text-button{text-align:left;justify-content:flex-start;font-size:.86rem;line-height:1.5;padding:4px 0;overflow-wrap:anywhere}.publication-checklist p{margin:0}.publication-error{margin:16px 0}.publication-error p{color:inherit}.publication-state .text-button{font-size:.84rem}@media(max-width:760px){.publication-state{align-items:flex-start;flex-direction:column;gap:8px}.publication-versions{grid-template-columns:1fr}.publication-checklist{padding:14px}}.generic-art,.featured-generic{display:flex;align-items:center;justify-content:center;background-image:none;background-color:var(--generic-art-bg);color:var(--color-link)}.generic-art svg,.featured-generic svg{opacity:.8;flex:none}.featured-generic{background-size:cover;background-position:center}.hero-copy>.overline{display:block;margin-bottom:16px}@media(max-width:760px){.setup-heading{display:block}.wedding-switch{margin-top:22px;max-width:100%}.wedding-setup{padding:20px;margin-top:25px}.setup-fields,.collection-fields{grid-template-columns:1fr}.setup-form fieldset{gap:4px}.local-publication{display:block}.local-publication>button{margin-top:15px}.preview-banner,.couple-heading,.hero-actions{flex-wrap:wrap}.site-header{min-height:65px}.wordmark{font-size:1.55rem}.couple-gifts>div,.detail-status{flex-wrap:wrap;overflow-wrap:anywhere}}@media(max-width:500px){.setup-heading h2{font-size:1.85rem}.site-header{padding-inline:20px}.site-header nav{gap:15px}.site-header nav button{font-size:.8rem}.setup-actions>button{width:100%}.setup-actions>span{width:100%}.couple-heading h1{font-size:2.3rem}.local-publication>button{width:100%}}.collection-editor{border-top:1px solid var(--color-line);margin-top:24px;padding-top:24px;min-width:0}.gift-template-picker{margin-top:20px;border:1px solid var(--color-line);background:var(--color-page);color:var(--color-text);min-width:0}.gift-template-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;cursor:pointer;list-style:none;min-height:72px}.gift-template-picker>summary::-webkit-details-marker{display:none}.gift-template-picker>summary strong{font:500 1.2rem var(--font-display,Georgia,serif)}.gift-template-picker>summary small{display:block;font-size:.8rem;line-height:1.5;color:var(--color-text-muted);margin-top:5px}.gift-template-picker>summary>svg{flex:none}.gift-template-picker[open]>summary>svg{transform:rotate(180deg)}.gift-template-body{padding:0 18px 18px;border-top:1px solid var(--color-line)}.gift-template-body .template-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;padding:0;border:0}.template-categories legend{font-size:.84rem;font-weight:700;padding:0;margin-bottom:10px}.setup-form .template-categories label{display:flex;align-items:flex-start;gap:8px;margin:0;padding:14px;border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer}.setup-form .template-categories label.selected{border-color:var(--color-link);box-shadow:inset 0 0 0 1px var(--color-link)}.setup-form .template-categories input{width:18px;min-height:18px;height:18px;margin:1px 0 0;padding:0;flex:none;accent-color:var(--color-link)}.template-categories strong{display:block;color:var(--color-text)}.template-categories small{display:block;font-weight:400;color:var(--color-text-muted);font-size:.78rem;line-height:1.5;margin-top:6px}.template-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:start}.template-layout>div{min-width:0}.template-preview .gift-scene{margin-top:16px}.template-preview .scene-frame{aspect-ratio:1.5}.template-impact{font-size:.84rem;line-height:1.6;color:var(--color-text);border-top:1px solid var(--color-line);padding-top:12px}.template-add{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--color-line);padding-top:18px;margin-top:18px}.template-add p{margin:0;font-size:.83rem;line-height:1.6;color:var(--color-text-muted);max-width:380px}.template-add button{flex:none;min-height:48px}.theme-garden.gift-template-picker,.theme-garden .template-categories label{border-radius:var(--radius-16)}.gift-template-picker.theme-paper .template-categories label{border-radius:0}.gift-template-picker.theme-paper .primary-button{background:var(--color-accent);color:var(--paper-primary-button-text);border-radius:0;box-shadow:none}.gift-template-picker.theme-paper .primary-button:hover:not(:disabled){background:var(--color-accent-strong)}.gift-template-picker.theme-garden .primary-button{background:var(--color-highlight);color:var(--color-accent-strong);border-radius:var(--radius-40);box-shadow:none}.gift-template-picker.theme-garden .primary-button:hover:not(:disabled){background:var(--garden-primary-button-hover-bg)}@media(max-width:760px){.template-layout{grid-template-columns:1fr;gap:12px}.gift-template-body .template-categories{grid-template-columns:1fr}.template-categories small{margin-top:3px}.template-add{align-items:stretch;flex-direction:column}.template-add p{max-width:none}.gift-template-body{padding:0 12px 12px}.gift-template-picker>summary{padding:14px}}.editor-heading,.editor-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.editor-heading h3{font:500 1.8rem/1.2 var(--font-georgia);margin:7px 0 10px}.editor-heading p{color:var(--color-text-muted);line-height:1.5;max-width:560px;margin:0}.editor-heading .secondary-button{margin:0;flex:none;min-height:44px}.editor-empty,.editor-protection{font-size:.85rem;line-height:1.6;background:var(--editor-empty-bg);padding:16px;border-radius:var(--radius-5);margin:18px 0}.editor-protection p{margin:0 0 8px}.editor-protection .text-button{min-height:44px}.editor-lock{font-size:.83rem;line-height:1.5;color:var(--editor-lock-text);background:var(--editor-lock-bg);padding:12px 14px;border-left:3px solid var(--editor-lock-border)}.editor-chapter{border:1px solid var(--color-line);border-radius:var(--radius-6);margin-top:16px;min-width:0;background:var(--color-ivory)}.editor-chapter>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;list-style:none;cursor:pointer;min-height:88px}.editor-chapter>summary::-webkit-details-marker{display:none}.editor-chapter>summary strong{display:block;font:500 1.4rem/1.3 var(--font-georgia);margin-top:5px}.editor-chapter>summary small{display:block;color:var(--color-text-muted);font-size:.76rem;line-height:1.5}.editor-summary-copy{min-width:0;flex:1}.editor-chapter>summary>svg,.editor-gift>summary>svg{flex:none;color:var(--color-link)}.editor-chapter[open]>summary>svg,.editor-gift[open]>summary>svg{transform:rotate(180deg)}.editor-chapter-body{border-top:1px solid var(--color-line);padding:20px;min-width:0}.editor-completeness{display:block;margin-top:6px;font-size:.76rem;line-height:1.5;color:var(--color-text-muted)}.editor-completeness.needs-details{color:var(--color-ochre);font-weight:650}.setup-form .editor-field-issue{margin:6px 0 0;font-size:.8rem;line-height:1.5;color:var(--color-ochre)}.setup-form [aria-invalid=true]{border-color:var(--setup-form-border);background:var(--setup-form-bg)}.editor-row-heading>strong{font-size:.85rem;color:var(--color-link)}.editor-order{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-order>button:not(.text-button){width:44px;height:44px;border:1px solid var(--color-line);border-radius:var(--radius-4);background:var(--color-white);color:var(--color-link);font-size:1.1rem}.editor-order .text-button{min-height:44px;font-size:.78rem}.editor-gifts{margin:18px 0}.editor-gift{border:1px solid var(--color-line);border-radius:var(--radius-5);background:var(--color-white);margin:12px 0;min-width:0}.editor-gift>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:16px;min-height:60px;list-style:none}.editor-gift>summary::-webkit-details-marker{display:none}.editor-gift>summary strong{display:block;font:500 1.18rem/1.3 var(--font-georgia)}.editor-gift>summary small{display:block;color:var(--color-text-muted);margin-top:6px;font-size:.78rem;line-height:1.5}.editor-gift-body{border-top:1px solid var(--color-line);padding:16px;min-width:0}.editor-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-pair>div{min-width:0}.editor-gift-body fieldset{margin-top:20px}.editor-gift-body legend{font-size:.85rem;font-weight:700;color:var(--color-link);padding:0}.editor-card-preview{display:grid;gap:8px;padding:18px;background:var(--color-page);border:1px solid var(--color-line);margin-top:20px;border-radius:var(--radius-5)}.editor-card-preview>strong{font:500 1.5rem var(--font-georgia)}.editor-card-preview p{font-size:.85rem;line-height:1.5;margin:0}.editor-card-preview>span:not(.overline){font-size:.85rem;font-weight:700}.editor-card-preview small{font-size:.78rem;line-height:1.6;color:var(--color-text-muted);border-top:1px solid var(--color-line);padding-top:10px}@media(max-width:500px){.editor-chapter>summary{padding:14px}.editor-chapter-body{padding:14px}.editor-gift-body{padding:12px}.editor-pair{grid-template-columns:1fr;gap:0}.editor-gift>summary{padding:12px}.editor-heading .secondary-button{width:100%;margin-top:12px}.editor-row-heading{align-items:start}.editor-order{gap:5px}.editor-order .text-button{padding-inline:4px}.editor-protection{padding:12px}}html{scroll-padding-bottom:var(--editor-action-space,0px)}.wedding-setup input,.wedding-setup textarea,.wedding-setup select,.wedding-setup summary,#publication-review{scroll-margin-top:24px}.editor-actions{position:sticky;bottom:0;z-index:6;padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-top:24px;border-top:1px solid var(--color-line);background:var(--color-ivory);box-shadow:var(--shadow-editor-actions)}.editor-action-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.8rem;line-height:1.5;color:var(--color-text-muted)}.editor-action-status .text-button{flex:none;min-height:44px;padding:4px 0;font-size:.8rem}.editor-action-buttons{display:flex;gap:10px;align-items:stretch}.editor-action-buttons>button{min-height:48px;margin:0}.editor-action-buttons>.primary-button{margin-left:auto}.editor-save-error{margin-bottom:10px;font-size:.85rem}.editor-save-error p{margin:0}.editor-save-error .text-button{min-height:44px;font-size:.82rem}@media(max-width:500px){.editor-action-status{align-items:start;flex-direction:column;gap:2px}.editor-action-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.editor-action-buttons>button{padding:10px 6px;font-size:.78rem;line-height:1.4;min-height:48px}.editor-action-buttons>.primary-button{margin-left:0}.editor-actions{padding-top:10px}}.app-shell{color:var(--color-text);background:var(--color-page)}.personalisation-studio{border-top:1px solid var(--color-line);padding-top:24px;margin-top:24px;min-width:0}.personalisation-studio>h3{font-size:1.8rem;margin:0 0 10px}.studio-introduction{color:var(--color-text-muted);line-height:1.5;margin:0 0 18px;max-width:650px}.setup-form .theme-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 24px}.theme-choices legend{font-size:.85rem;font-weight:700;padding-bottom:10px}.setup-form .theme-option{display:flex;align-items:start;gap:12px;background:var(--color-page);border:1px solid var(--color-line);border-radius:var(--radius-7);padding:16px;margin:0;cursor:pointer;color:var(--color-text)}.setup-form .theme-option.selected{border:2px solid var(--color-link);padding:15px}.theme-option>span{display:block;min-width:0}.theme-option strong{display:block;font:500 1.6rem var(--font-georgia);color:var(--color-text)}.theme-option small{display:block;color:var(--color-text-muted);font-size:.8rem;line-height:1.5;font-weight:400}.setup-form .theme-option input,.setup-form .approval-check input{width:18px;min-height:18px;height:18px;padding:0;margin:4px 0 0;flex:none;accent-color:var(--color-link)}.character-studio-heading{display:flex;align-items:start;justify-content:space-between;gap:25px}.character-studio-heading h4{font:500 1.3rem var(--font-georgia);margin:0 0 10px}.character-studio-heading p{font-size:.87rem;line-height:1.6;color:var(--color-text-muted);max-width:650px;margin:0}.character-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.character-actions>button{min-height:44px}.character-studio-heading .character-actions{flex:none;max-width:210px}.character-studio-heading .secondary-button{font-size:.83rem;margin:0}.uploaded-picture-fields{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:16px}.uploaded-picture-fields>div{min-width:0}.style-preview{color:var(--color-text);background:var(--color-page);border:1px solid var(--color-line);padding:22px;margin-top:24px;border-radius:var(--radius-8)}.style-preview-welcome{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:22px}.style-preview-welcome h4{font:500 1.9rem/1.12 var(--font-georgia);letter-spacing:-.025em;margin:0 0 12px}.style-preview-welcome p{font-size:.85rem;line-height:1.6;color:var(--color-text-muted);margin:0 0 12px}.style-preview-welcome>div>span{font:italic 1rem var(--font-georgia)}.style-preview-gift{display:flex;align-items:center;gap:22px;border-top:1px solid var(--color-line);padding-top:20px;margin-top:22px}.style-preview-gift>div{min-width:0}.style-preview-gift h4{font:500 1.4rem var(--font-georgia);margin:0 0 9px}.style-preview-gift p{font-size:.83rem;line-height:1.6;color:var(--color-text-muted);margin:0 0 10px}.style-preview-gift strong{font-size:.85rem}.style-preview-gift .field-hint{margin-top:10px;font-size:.76rem}.character-approval{font-size:.85rem;line-height:1.6;margin-top:16px}.character-approval p{margin:0 0 12px}.setup-form .approval-check{display:flex;gap:10px;align-items:start;font-size:.83rem;font-weight:400;margin:0 0 16px;cursor:pointer}.couple-portrait{display:grid;place-items:center;gap:6px;max-width:230px;min-width:0;margin:0;text-align:center;flex:none}.couple-portrait img{width:100%;height:230px;object-fit:contain;display:block}.couple-portrait .portrait-caption{font-size:.68rem;line-height:1.4;color:var(--color-text-muted);max-width:200px}.portrait-photo img{border-radius:var(--radius-8)}.portrait-compact{max-width:120px}.portrait-compact img{height:130px}.portrait-fallback{font:italic .85rem/1.5 var(--font-georgia);color:var(--color-text-muted);margin:0}.welcome-introduction.has-portrait{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;align-items:center}.welcome-introduction.has-portrait .couple-portrait img{height:260px}.gift-card-image .couple-portrait{width:100%;max-width:180px;padding:10px}.gift-card-image .couple-portrait img{position:static;width:100%;height:155px;filter:none}.gift-card-image .couple-portrait .portrait-caption{display:none}.flow-art .couple-portrait,.detail-art .couple-portrait,.status-illustration .couple-portrait{max-width:300px;width:80%}.flow-art .couple-portrait img,.detail-art .couple-portrait img,.status-illustration .couple-portrait img{height:300px}.detail-art .couple-portrait .portrait-caption,.status-illustration .couple-portrait .portrait-caption{color:var(--color-text)}@media(max-width:760px){.character-studio-heading{display:block}.character-studio-heading .character-actions{max-width:none;margin:14px 0 18px}.uploaded-picture-fields,.welcome-introduction.has-portrait{grid-template-columns:1fr}.welcome-introduction.has-portrait .couple-portrait{justify-self:center}.welcome-introduction.has-portrait .couple-portrait img{height:210px}.hero-copy .welcome-introduction.has-portrait h1{font-size:2.65rem}.couple-portrait img{height:200px}}@media(max-width:500px){.setup-form .theme-choices{grid-template-columns:1fr}.style-preview{padding:16px}.style-preview-welcome{grid-template-columns:1fr;gap:14px}.style-preview-welcome .couple-portrait{justify-self:center}.style-preview-gift{display:block}.style-preview-gift .couple-portrait{margin:0 auto 16px}.style-preview-welcome h4{font-size:1.6rem}.flow-art .couple-portrait img,.detail-art .couple-portrait img,.status-illustration .couple-portrait img{height:225px}.personalisation-studio>h3{font-size:1.6rem}}.detail-page{max-width:1495px;padding-top:20px}.detail-page .back-link{padding-bottom:18px;border-bottom:1px solid var(--color-line);width:100%;justify-content:flex-start;margin-bottom:24px;font-weight:500;font-size:1rem}.detail-layout{grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:54px}.detail-info h1{font-size:clamp(2.5rem,4.3vw,4rem);line-height:1.04;margin:14px 0 20px}.detail-info .lead{line-height:1.65;margin-bottom:24px}.detail-info>.overline{display:block;margin-top:0}.gift-scene{display:block;width:100%;min-width:0}.scene-frame{position:relative;display:block;isolation:isolate;overflow:hidden;aspect-ratio:1.24;border-radius:var(--radius-14);background-color:var(--scene-frame-bg);background-size:cover;background-position:center}.scene-original{aspect-ratio:1.5}.scene-original:has(.scene-plane){aspect-ratio:2/1;background-size:100% 100%}.scene-source-probe{position:absolute;width:1px;height:1px;opacity:0}.scene-plane{position:absolute;width:34%;transform:translate(-50%,-50%)}.scene-prop{position:absolute;z-index:1;width:100%;height:100%;object-fit:contain;bottom:-10%;left:0;filter:grayscale(1);opacity:.55}.scene-prop.is-complete{filter:none;opacity:1}.scene-lights .scene-prop{filter:none;opacity:.9}.scene-growing.scene-keepsake .scene-prop{filter:grayscale(.6);opacity:.8}.scene-pair{position:absolute;display:grid;place-items:center;z-index:2;top:4%;right:12%;bottom:7%;left:12%}.scene-pair .couple-portrait{height:100%;width:100%;max-width:none;margin:0;display:flex;flex-direction:column;justify-content:center}.scene-pair .couple-portrait img{position:static;object-fit:contain;height:100%;max-height:100%;width:100%;filter:none}.scene-pair .portrait-caption{position:absolute;bottom:-5%;font-size:.6rem}.scene-text-pair{display:grid;justify-items:center;gap:16px;color:var(--color-text);font:1.5rem var(--font-georgia);text-align:center}.scene-text-pair svg{opacity:.6}.scene-pair .portrait-fallback{font:1.35rem var(--font-georgia);text-align:center}.gift-scene .scene-caption{margin-top:18px;line-height:1.55;font:1rem/1.55 var(--font-inter-short);text-align:center}.unit-lights{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 35px;margin:12px 0 8px}.unit-light{display:flex;align-items:center;flex-direction:column;min-width:150px;max-width:200px}.unit-light img{display:block;width:100px;height:100px;object-fit:contain;filter:grayscale(1);opacity:.55}.unit-light.is-lit img{filter:none;opacity:1}.unit-light-label{display:flex;align-items:center;flex-direction:column;gap:7px;font-size:.95rem;line-height:1.4}.unit-check{display:inline-flex;width:22px;height:22px;border:1px solid var(--unit-check-border);border-radius:50%;align-items:center;justify-content:center;color:var(--color-page);font-size:13px;flex:none}.is-lit .unit-check{background:var(--color-link);border-color:var(--color-link)}.more-lights{align-self:center;font-size:.8rem;color:var(--color-text-muted)}.confirmed-progress{margin:24px 0 20px}.confirmed-amount{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:9px 0 16px}.confirmed-amount strong{font:2.8rem var(--font-georgia);color:var(--color-text);letter-spacing:-.035em}.confirmed-amount>span{color:var(--color-text-muted);font-size:1rem}.confirmed-progress .funding-bar{height:14px;background:var(--confirmed-funding-bar-bg)}.confirmed-unit-total{font-size:.95rem;color:var(--color-text-muted);margin:14px 0 6px}.confirmed-progress .unit-lights{justify-content:flex-start;margin:5px 0 16px;gap:22px}.confirmed-progress .unit-light img{width:57px;height:57px}.confirmed-remaining{margin:16px 0 8px;font-size:.95rem;color:var(--color-text-muted)}.pending-funding{font-size:.85rem;line-height:1.6;color:var(--color-text-muted);border-left:2px solid var(--color-line);padding-left:10px}.confirmed-progress-small .confirmed-amount strong{font-size:2rem}.confirmed-progress-small .funding-bar{height:11px}.unit-status-details{font-size:.85rem;margin:14px 0}.unit-status-details summary{cursor:pointer}.unit-status-details ul{list-style:none;padding:0}.unit-status-details li{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--color-line)}.detail-status{margin-top:24px}.detail-info .fine-print{line-height:1.65}.theme-garden .confirmed-amount strong{font-family:var(--font-palatino)}.scene-compact{height:100%;position:relative}.scene-compact .scene-frame{height:100%;aspect-ratio:auto;border-radius:0}.scene-compact .scene-pair{top:5%;right:22%;bottom:12%;left:22%}.scene-compact .scene-pair .couple-portrait{padding:0;max-width:none;width:100%;height:100%}.scene-compact .scene-pair .couple-portrait img{height:100%;width:100%}.scene-compact .portrait-caption{display:none}.scene-compact .scene-prop{bottom:-20%}.scene-compact .unit-lights{position:absolute;right:9px;bottom:8px;left:9px;margin:0;gap:3px;z-index:3}.scene-compact .unit-light{min-width:0}.scene-compact .unit-light img{height:32px;width:32px}.scene-compact .unit-light-label{display:none}.scene-compact .more-lights{font-size:.65rem}.scene-compact .scene-text-pair{font-size:1rem;gap:7px}.gift-card-image{overflow:hidden}.gift-card-image .scene-plane{height:auto}.scene-picker{margin:22px 0 18px}.scene-picker>.gift-scene{max-width:480px;margin:16px auto 0}.scene-picker .scene-frame{aspect-ratio:1.5}.scene-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;font-size:.8rem;color:var(--color-text-muted)}.scene-preview-heading>div{display:flex;gap:4px;flex:none}.scene-preview-heading button{border:1px solid var(--color-line);border-radius:var(--radius-6);padding:8px 10px;font-size:.8rem;background:transparent;color:var(--color-text);cursor:pointer}.scene-preview-heading button[aria-pressed=true]{background:var(--color-link);border-color:var(--color-link);color:var(--color-white)}.scene-table .scene-prop{z-index:3;bottom:0}.scene-table .scene-pair{top:4%;right:15%;bottom:15%;left:15%}.scene-pair .portrait-caption{display:none}.scene-art-label{position:absolute;bottom:10px;left:10px;right:10px;z-index:4;text-align:center;font-size:.6rem;color:var(--color-text-muted)}.scene-table.scene-compact .scene-pair{top:3%;right:20%;bottom:10%;left:20%}.scene-table.scene-compact .scene-prop{bottom:0}.detail-info .primary-button{min-height:59px;font-size:1.06rem}.detail-info .fine-print{font-size:.95rem}.detail-info .confirmed-progress .unit-light img{width:72px}.detail-info .confirmed-unit-total{font-size:1rem}.detail-info .confirmed-progress{margin-top:18px}.detail-info .confirmed-amount{display:block;margin-bottom:16px}.detail-info .confirmed-amount strong{font-size:4rem;line-height:1.05;display:block;margin-bottom:5px}.detail-info .confirmed-amount>span{font-size:1.2rem}.detail-info .confirmed-progress .unit-light{flex-direction:row;gap:8px;min-width:175px}.detail-info .confirmed-progress .unit-light img{width:60px;height:78px}.detail-info .confirmed-progress .unit-light-label{align-items:flex-start;font-size:.95rem}.detail-status{border-top:1px solid var(--color-line);padding-top:16px;grid-template-columns:40% 1fr;gap:0}.detail-status>span,.detail-status>strong{border-bottom:1px solid var(--color-line);padding:10px 0;font-weight:400}.detail-status>span{font-family:var(--font-georgia);color:var(--color-text);font-size:1rem}.app-shell:has(.detail-page) .wordmark{font-size:2.5rem}@media(max-width:760px){.detail-layout{display:block}.detail-page .back-link{margin-bottom:24px;padding-bottom:18px}.detail-info h1{font-size:2.4rem}.detail-art-column{margin-bottom:28px}.scene-frame{aspect-ratio:1.18}.scene-pair{top:4%;right:10%;bottom:7%;left:10%}.scene-pair .couple-portrait img{height:100%}.scene-pair .portrait-caption{font-size:.6rem}.unit-lights{gap:12px 20px}.unit-light{min-width:100px}.unit-light img{width:70px;height:70px}.scene-preview-heading{align-items:flex-start;flex-direction:column}.confirmed-amount strong,.detail-info .confirmed-amount strong{font-size:2.5rem}.confirmed-progress .unit-lights{gap:17px}.detail-info .confirmed-progress .unit-light{min-width:140px;gap:0}.confirmed-progress .unit-light-label,.detail-info .confirmed-progress .unit-light-label{font-size:.75rem}.app-shell:has(.detail-page) .wordmark{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){.gift-scene *,.confirmed-progress *{animation:none!important;transition:none!important}}.gift-quantity-choice{margin:24px 0 18px}.gift-quantity-choice label{display:block;font-size:.95rem;font-weight:650;margin-bottom:9px}.gift-quantity-choice select{width:100%;min-height:48px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page);color:var(--color-text);padding:10px 12px}.gift-quantity-choice .field-hint{margin:9px 0 0}.selection-notice{border-left:3px solid var(--color-link);padding:10px 12px;background:var(--selection-notice-bg);color:var(--color-text);font-size:.9rem;line-height:1.6}.giving-panel{align-self:start}.giving-step{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);margin:0 0 12px}.giving-panel h2{margin-bottom:24px}.giving-panel form{display:block}.giving-panel .gift-quantity-choice{margin-top:0}.giving-panel input,.giving-panel textarea{width:100%}.giving-panel label{display:block;margin:18px 0 7px}.giving-panel .gift-quantity-choice label{margin-top:0}.giving-total{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);margin:18px 0 23px}.giving-total>span{color:var(--color-text-muted);font-size:.95rem}.giving-total strong{font:2.2rem/1.2 var(--font-georgia);color:var(--color-text)}.giving-review>strong{font:1.5rem/1.3 var(--font-georgia);color:var(--color-text);display:block}.giving-review>p{margin:10px 0;color:var(--color-text-muted)}.giving-review dl{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin:20px 0}.giving-review dt{color:var(--color-text-muted)}.giving-review dd{margin:0;text-align:right;overflow-wrap:anywhere}.giving-review blockquote{margin:18px 0;border-left:2px solid var(--color-line);padding:5px 0 5px 14px;font:italic 1rem/1.65 var(--font-georgia);overflow-wrap:anywhere}.giving-panel>.text-button{margin-top:12px}.giving-browse{border-top:1px solid var(--color-line);padding-top:18px;width:100%;justify-content:flex-start}.giving-panel>.demo-note{margin-bottom:20px}.giving-whole{font-size:1rem;color:var(--color-text-muted)}.status-unit-count{display:block;font-weight:400;color:var(--color-text-muted);margin-top:6px;line-height:1.5}.status-summary{grid-template-columns:minmax(90px,.4fr) minmax(0,1fr)}.status-summary strong{overflow-wrap:anywhere;text-align:right}.queue-item>div:first-child{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.giving-panel{padding:22px 20px}.giving-panel h2{font-size:1.9rem}.giving-total strong{font-size:2rem}.gift-quantity-choice label{font-size:.9rem}.status-summary{grid-template-columns:minmax(85px,.4fr) minmax(0,1fr)}}.couple-area-nav{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--color-line);padding:0 0 16px;margin:24px 0 30px}.couple-area-nav button{border:1px solid var(--color-line);background:var(--color-page);color:var(--color-text);border-radius:var(--radius-6);padding:12px 20px;min-height:48px;font-weight:650}.couple-area-nav button[aria-current=page]{background:var(--color-link);color:var(--color-white);border-color:var(--color-link)}.couple-navigation-hint{padding:0 0 12px}.management-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 26px}.management-heading>div{min-width:0;max-width:720px}.management-heading h2{margin-bottom:12px}.management-heading p{color:var(--color-text-muted);line-height:1.6;margin:0}.management-wedding-picker,.managed-gift-picker{display:grid;gap:8px;font-size:.85rem;font-weight:650;color:var(--color-text)}.management-wedding-picker{flex:0 1 230px;min-width:180px}.management-wedding-picker select,.managed-gift-picker select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page);color:var(--color-text)}.managed-gift-picker{max-width:520px;margin:0 0 24px}.gift-management-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);align-items:start;gap:28px}.gift-management-grid .couple-section{min-width:0;margin-top:0}.booking-panel>h2,.memory-editor>h2{font-size:2rem;margin:10px 0 18px}.booking-panel>p,.memory-editor>p{color:var(--color-text-muted);line-height:1.65}.booking-panel>h3{margin-top:32px}.booking-panel .confirmed-progress{margin:25px 0}.memory-editor .memory-form textarea,.memory-editor .memory-form input{width:100%;min-width:0}.memory-editor input[type=file]{font-size:.84rem}.memory-form input[type=file]::file-selector-button{padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-4);margin-right:10px;background:var(--color-page);color:var(--color-text)}.memory-preview,.published-memory-preview{margin:22px 0;padding:16px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.memory-preview summary,.published-memory-preview summary{cursor:pointer;color:var(--color-link);font-weight:650;line-height:1.5;padding:4px 0}.memory-preview[open]>p{margin:18px 0}.memory-preview .memory-card,.published-memory-preview .memory-card{margin-top:18px}.memory-card>img{display:block;width:100%;max-height:320px;object-fit:contain;background:var(--color-page);border-radius:var(--radius-6);margin:0 0 18px}.memory-card>h3{font-size:1.65rem;margin:8px 0 12px}.memory-card>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.memory-publication{margin-top:24px}.memory-publication>h3{margin-bottom:10px}.memory-consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.6;margin:18px 0;color:var(--color-text)}.memory-consent input,.receipt-review input{flex:none;width:18px;height:18px;margin:4px 0 0;accent-color:var(--color-link)}.memory-publication>.primary-button{display:flex;width:100%;margin-bottom:12px}.gift-reload{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:16px;margin-top:22px}.gift-reload p{margin:0}.receipt-review{background:var(--color-page);border:1px solid var(--color-line);padding:16px;border-radius:var(--radius-6);margin-top:16px}.receipt-review label{display:flex;gap:10px;font-size:.9rem;line-height:1.6}.receipt-review p{margin:12px 0}.receipt-review-actions{display:flex;flex-wrap:wrap;gap:18px}.receipt-review-actions .primary-button{font-size:.85rem;padding:12px 14px}.memory-inline .memory-card h3{font-size:1.6rem}@media(max-width:760px){.couple-area-nav{gap:6px;margin-bottom:24px}.couple-area-nav button{padding:11px 12px;font-size:.82rem}.management-heading{display:block}.management-heading h2{font-size:2rem}.management-wedding-picker{margin-top:20px;min-width:0;max-width:100%}.gift-management-grid{grid-template-columns:1fr;gap:24px}.gift-management-grid .couple-section{padding:22px 18px}.booking-panel>h2,.memory-editor>h2{font-size:1.8rem}.gift-reload{justify-content:flex-start}}.transfer-queues{min-width:0;display:grid;gap:2rem;align-content:start}.transfer-resolution{margin:0 0 2rem;padding:1.5rem;border:1px solid var(--color-line);border-left:3px solid var(--color-accent);border-radius:var(--radius-8);background:var(--color-page);max-width:850px}.transfer-resolution h3{margin:0 0 1rem}.transfer-resolution .memory-form{margin:1.5rem 0}.transfer-resolution p,.reference-history p{overflow-wrap:anywhere;white-space:pre-wrap}.reference-history,.past-references{border-top:1px solid var(--color-line);padding:1rem 0;margin-top:1rem}.reference-history summary,.past-references summary{font-weight:600;cursor:pointer}.reference-history ol{padding-left:1.25rem}.reference-history li{margin:1rem 0;font-size:.85rem}.reference-history li>span{color:var(--color-text-muted)}.reference-history li>p{margin:.35rem 0}.attention-reference>.queue-actions{align-self:start}.guest-transfer-review{padding:1rem 1.25rem;border-left:3px solid var(--color-accent);background:var(--color-page);margin:1.5rem 0}.guest-transfer-review h2{font-size:1.35rem}@media(max-width:600px){.transfer-resolution{padding:1rem}.queue-actions{flex-wrap:wrap}.past-references .queue-item{padding:1rem 0}}.gift-list-results{display:flex;gap:8px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:.87rem;line-height:1.5}.gift-list-results span{color:var(--color-text-muted)}.gift-card-price{font-size:.98rem;line-height:1.4;font-weight:700;color:var(--color-text);margin:3px 0}.gift-card-suggestion{display:grid;gap:7px;font-size:.86rem;line-height:1.5;color:var(--color-link);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:10px 0;margin:4px 0}.gift-card-suggestion>span{display:flex;align-items:center;gap:8px;font-weight:700}.gift-list-empty{padding:26px 0}.gift-list-empty h2{font-size:1.6rem}.gift-list-empty p{color:var(--color-text-muted);max-width:550px;line-height:1.5}.gift-list-empty .secondary-button{min-height:44px}@media(max-width:700px){.gift-list-results{display:grid;gap:4px}}.gift-presentation{border-top:1px solid var(--color-line);padding-top:20px;margin:20px 0}.gift-area{margin-top:30px}.gift-area h3{margin-bottom:14px}.places-map-compact{position:relative;height:200px;width:100%;overflow:hidden;border:1px solid var(--color-line);background:var(--color-surface)}.places-map-compact .places-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.place-pin.place-pin-static{width:22px;height:22px;cursor:default;pointer-events:none}.gift-area-place{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:14px 0 0}.gift-area-place strong{font:500 1.15rem/1.3 var(--font-display,Georgia,serif)}.gift-area-place span{font-size:.78rem;color:var(--color-text-muted)}.gift-area-note{margin:6px 0 0;line-height:1.5;overflow-wrap:anywhere}.gift-area .text-button{margin-top:10px;justify-content:start}.gift-locations{max-width:1000px;margin:0 auto 36px}.gift-locations h2{margin-bottom:10px}.places-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;border:1px solid var(--color-line);background:var(--color-page);color:var(--color-text);min-width:0}.places-map-frame{position:relative;height:480px;min-width:0;overflow:hidden;background:var(--color-surface)}.places-map-frame .places-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.places-map-canvas .maplibregl-canvas:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-3px}.places-map-message{position:absolute;inset:16px auto auto 16px;max-width:calc(100% - 32px);padding:14px 18px;background:var(--color-page);color:var(--color-text);border:1px solid var(--color-line);line-height:1.5;z-index:2}.places-map-failed .places-map-canvas{visibility:hidden}.places-map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--color-page);color:var(--color-text-muted);pointer-events:none;opacity:1;transition:opacity .4s ease,visibility 0s}.places-map-placeholder path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:7 8}.places-map-placeholder circle{fill:var(--color-page);stroke:var(--color-text);stroke-width:2}.places-map-reveal{opacity:0;transition:opacity .4s ease}.places-map-ready .places-map-reveal{opacity:1}.places-map-ready .places-map-placeholder{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s .4s}@media(min-width:768px){.places-map-full .places-map-layout:has(>.places-map-panel) .places-map-placeholder{box-sizing:border-box;padding-right:432px}}@media(prefers-reduced-motion:reduce){.places-map-reveal,.places-map-placeholder,.places-map-ready .places-map-placeholder{transition:none}}.places-area-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.places-area-overlay polygon{fill:var(--color-accent);fill-opacity:.12;stroke:var(--color-accent);stroke-opacity:.4;stroke-width:1}.place-pin{width:38px;height:38px;border:2px solid var(--color-page);border-radius:50%;background:var(--color-accent);color:var(--color-page);font-weight:700;font-size:.9rem;line-height:1;box-shadow:var(--shadow-place-pin);display:flex;align-items:center;justify-content:center;cursor:pointer}.place-pin[hidden]{display:none}.place-pin[aria-current]{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-text);z-index:1}.place-pin:focus-visible{--focus-ring-color:var(--color-text);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}.place-pin.place-cluster{width:auto;min-width:78px;padding:0 12px;border-radius:var(--radius-24);font-size:.78rem}.places-list{position:relative;list-style:none;margin:0;padding:12px;overflow:auto;max-height:480px;min-width:0;scroll-padding:12px;border-left:1px solid var(--color-line)}.places-list li+li{margin-top:8px}.places-list button{display:flex;align-items:start;gap:10px;width:100%;padding:14px 10px;min-height:72px;border:1px solid transparent;background:transparent;color:var(--color-text);text-align:left}.places-list button[aria-current]{border-color:var(--color-accent);background:var(--color-page);box-shadow:inset 3px 0 var(--color-accent)}.places-list button:focus-visible,.place-preview button:focus-visible,.place-preview a:focus-visible,.place-preview h3:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.place-list-number{flex:none;display:flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid var(--color-accent);border-radius:50%;color:var(--color-accent);font-size:.8rem;font-weight:700}.places-list strong{display:block;font:500 1.15rem/1.3 var(--font-display,Georgia,serif);overflow-wrap:anywhere}.places-list small{display:block;margin-top:5px;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.place-preview{padding:16px;max-height:480px;overflow:auto;min-width:0;border-left:1px solid var(--color-line)}.place-preview-back{margin-bottom:20px}.place-preview .overline{display:block}.place-preview h3{font-size:1.6rem;margin:10px 0 12px;overflow-wrap:anywhere}.place-preview p{font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}.place-preview-gifts{list-style:none;padding:0;margin:16px 0 0}.place-preview-gifts li{border-top:1px solid var(--color-line)}.place-preview-gifts a{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:14px 0;color:var(--color-text);text-decoration:none}.place-preview-gifts a:hover strong{text-decoration:underline}.place-preview .place-preview-icon{width:40px;height:40px;border-radius:var(--radius-8)}.place-preview .gift-visual.place-preview-icon>svg{width:22px;height:22px}.place-preview-copy{min-width:0;overflow-wrap:anywhere}.place-preview-copy strong{display:block;font-size:.91rem;line-height:1.5}.place-preview-story{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.78rem;line-height:1.5;color:var(--color-text-muted);margin-top:5px}.place-preview-price{display:block;font-size:.78rem;line-height:1.5;color:var(--color-text-muted);margin-top:5px}.places-editor{border-top:1px solid var(--color-line);margin-top:32px;padding-top:24px;min-width:0}.places-editor .editor-heading h3:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.places-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start;margin-top:20px}.places-editor-list{min-width:0}.places-editor-map-column{position:sticky;top:16px;min-width:0}.places-editor-map{position:relative;height:480px;min-width:0;overflow:hidden;border:1px solid var(--color-line);background:var(--color-surface)}.places-editor-map .places-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.places-editor-map.places-map-failed .places-map-canvas{visibility:hidden}.places-map-placing .maplibregl-canvas{cursor:crosshair}.place-pin-editable[aria-current]{box-shadow:0 0 0 3px var(--color-page),0 0 0 6px var(--color-text);z-index:2;cursor:grab}.places-editor-rows{list-style:none;margin:0;padding:0}.places-editor-rows .editor-gift{margin:0 0 12px}.place-search{border:1px solid var(--color-line);background:var(--color-page);padding:4px 16px 16px;margin-bottom:16px}.place-search-field{position:relative}.place-search-results{list-style:none;margin:4px 0 0;padding:4px;border:1px solid var(--color-line);background:var(--color-white);box-shadow:var(--shadow-place-search-results)}.place-search-results li{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 10px;cursor:pointer;color:var(--color-text)}.place-search-results li.active,.place-search-results li:hover{background:var(--color-surface);box-shadow:inset 3px 0 var(--color-accent)}.place-search-results strong{display:block;font-size:.92rem}.place-search-results small{display:block;font-size:.76rem;line-height:1.4;color:var(--color-text-muted);margin-top:2px}.place-kind-icon{flex:none;color:var(--color-accent)}.place-search-status{min-height:1.4em;margin:8px 0 4px;font-size:.82rem;line-height:1.5;color:var(--color-text-muted)}.place-search-status.place-search-error{color:var(--color-ochre)}.place-search .text-button{min-height:44px}.place-remove-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0;padding:12px 14px;border-left:3px solid var(--place-remove-confirm-border);background:var(--place-remove-confirm-bg)}.place-remove-confirm p{flex-basis:100%;margin:0;font-size:.88rem;line-height:1.5}.place-remove-confirm .secondary-button{margin:0;min-height:44px}.place-remove-confirm .text-button{min-height:44px}.place-note-count{margin:6px 0 0;font-size:.76rem}.setup-form .place-precision,.setup-form .place-gifts{margin-top:18px}.place-precision legend,.place-gifts legend{font-size:.84rem;font-weight:700;padding:0;margin-bottom:8px}.setup-form .place-precision label{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer}.setup-form .place-precision label.selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.setup-form .place-precision input{width:18px;min-height:18px;height:18px;margin:2px 0 0;padding:0;flex:none;accent-color:var(--color-accent)}.place-precision strong{display:block;color:var(--color-text)}.place-precision small{display:block;font-weight:400;color:var(--color-text-muted);font-size:.78rem;line-height:1.5;margin-top:4px}.place-advanced{margin-top:12px}.place-advanced>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.84rem;font-weight:700;color:var(--color-link)}.place-gift-group{margin-top:10px}.place-gift-group>strong{display:block;font-size:.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.place-gifts small{color:var(--color-text-muted);font-size:.78rem}.place-gift-elsewhere{display:block;margin-top:3px}.setup-form .gift-place-manage{margin-top:6px;min-height:44px}@media(max-width:767px){.places-editor-layout{display:flex;flex-direction:column;gap:16px}.places-editor-map-column{order:-1;position:relative;top:auto;width:100%}.places-editor-map{height:auto;display:flex;flex-direction:column;overflow:visible;border:0;background:none}.places-editor-map .places-map-canvas{position:relative;inset:auto;height:300px;order:2;border:1px solid var(--color-line);background:var(--color-surface)}.places-editor-map .places-map-search{position:static;order:1;width:auto;max-width:none;margin-bottom:8px;box-shadow:none}.places-editor-map .places-map-fit{position:static;order:3;align-self:flex-start;margin-top:8px}}@media(max-width:767px){.places-map-layout{display:block}.places-map-frame{height:320px}.places-list{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;max-height:none;border-left:0;border-top:1px solid var(--color-line);padding:12px}.places-list li{flex:0 0 230px;scroll-snap-align:start}.places-list li+li{margin-top:0}.places-list button{height:100%;min-height:94px;border:1px solid var(--color-line)}.place-preview{max-height:none;border-left:0;border-top:1px solid var(--color-line)}}.scene-stay .scene-prop{bottom:0;left:18%;width:82%;opacity:.65}.scene-stay.scene-growing .scene-prop{filter:grayscale(.5);opacity:.85}.scene-stay.scene-complete .scene-prop{filter:none;opacity:1}.scene-stay .scene-pair{top:12%;right:48%;bottom:5%;left:0}.scene-stay.scene-compact .scene-pair{top:7%;right:48%;bottom:5%;left:0}.scene-stay.scene-compact .scene-prop{bottom:0}.scene-flight .scene-pair{top:3%;right:24%;bottom:48%;left:24%}.scene-flight .flight-progress{position:absolute;bottom:2%;left:5%;right:5%;margin:0;border:0;background:transparent;padding:12px;z-index:3}.scene-flight .scene-art-label{top:8px;bottom:auto}.scene-flight.scene-compact .scene-pair{top:3%;right:27%;bottom:28%;left:27%}.scene-flight-line{position:absolute;left:20%;right:20%;top:72%;border-top:3px dotted var(--color-accent)}.scene-flight-plane{position:absolute!important;top:72%!important;transform:translate(-50%,-50%);width:45px!important;height:45px!important;object-fit:contain;filter:none!important;z-index:3}.flight-ends{gap:18px}.flight-ends span{max-width:46%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-ends span:last-child{text-align:right}.scene-flight .flight-progress-label strong{font-size:1.4rem}@media(max-width:500px){.scene-flight .scene-frame{aspect-ratio:1.05}.scene-flight .flight-progress{left:2%;right:2%;padding:10px}.scene-flight .flight-progress-label span{font-size:.7rem}}.scene-stay .scene-pair:has(.scene-text-pair){top:10%;right:73%;bottom:4%;left:2%}.scene-stay .scene-text-pair{font-size:1.1rem;overflow-wrap:anywhere}.scene-stay.scene-compact .scene-text-pair{font-size:.85rem;gap:8px}.scene-stay .scene-text-pair svg{max-width:80%}.scene-flight .flight-plane-marker{width:64px;height:64px}.scene-flight .flight-plane-marker img{width:60px;height:44px}.scene-flight .flight-route{margin:42px 28px 36px}.scene-flight .scene-frame{aspect-ratio:1.5}.scene-flight.scene-compact .scene-frame{aspect-ratio:auto}@media(max-width:500px){.scene-flight .scene-frame{aspect-ratio:1.05}.scene-flight.scene-compact .scene-frame{aspect-ratio:auto}}.scene-stay .scene-frame:has(.scene-text-pair) .scene-prop{left:25%;width:75%}.site-header nav button{min-height:44px;display:flex;align-items:center;gap:8px}.hero-section{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:48px;padding-top:36px;align-items:center}.hero-main{min-height:0;overflow:visible}.hero-copy{width:100%;padding:0}.hero-copy h1{max-width:760px;font-size:clamp(2.5rem,4.3vw,4.2rem)}.hero-copy p{max-width:640px}.gift-list-label{display:inline-flex;align-items:center;gap:9px;max-width:100%;margin:0 0 18px;padding:8px 14px;border:1px solid var(--color-line);border-radius:var(--radius-999);background:var(--color-surface);color:var(--color-text);font-size:.85rem;font-weight:700;line-height:1.25}.gift-list-label svg{flex:none;color:var(--color-accent)}.how-it-works{width:100%;max-width:1280px;margin:0 auto 28px;padding:24px 60px;border-block:1px solid var(--color-line)}.how-it-works h2{margin:0 0 13px;color:var(--color-text-muted)}.how-it-works ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:14px 0;margin:0}.how-it-works li{display:flex;align-items:flex-start;gap:10px;min-width:0}.how-it-works-number{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:var(--color-white);font-size:2.25rem;font-weight:750}.how-it-works li>div{min-width:0}.how-it-works li strong{display:block;color:var(--color-text);font-size:.86rem;line-height:1.35}.how-it-works li p{margin:4px 0 0;color:var(--color-text-muted);font-size:.78rem;line-height:1.45}.how-it-works-note{margin:10px 0 0;color:var(--color-text-muted);font-size:.74rem;line-height:1.45}.hero-actions{flex-wrap:wrap;gap:12px 24px}.giving-steps{display:flex;list-style:none;padding:0;margin:24px 0 32px;border-block:1px solid var(--color-line);gap:16px}.giving-steps li{flex:1;display:flex;gap:10px;align-items:center;min-width:0;padding:16px 0;color:var(--color-text-muted)}.giving-steps li>span{border:1px solid var(--color-line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex:none;font-size:.8rem}.giving-steps strong{font-size:.85rem;line-height:1.3;font-weight:500}.giving-steps .current{color:var(--color-link)}.giving-steps .current>span{background:var(--color-link);color:var(--color-white);border-color:var(--color-link)}.giving-steps .current strong{font-weight:750}.giving-steps .visited>span{border-color:var(--color-link);color:var(--color-link)}.detail-next{border-top:1px solid var(--color-line);padding-top:20px;margin-top:20px}.detail-next>strong{font-size:.95rem}.detail-next>p{color:var(--color-text-muted);font-size:.88rem;line-height:1.6;margin:9px 0}.detail-next>.text-button{margin-right:24px}.couple-area-nav button{display:grid;gap:5px;align-content:center;min-height:68px;text-align:left}.couple-area-nav strong{font-weight:700;font-size:.94rem}.couple-area-nav small{font-size:.77rem;line-height:1.4;font-weight:400}.setup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:26px 0;border-block:1px solid var(--color-line)}.setup-steps li{display:grid;grid-template-columns:28px 1fr;gap:4px 10px;padding:18px 10px 18px 0;align-items:center}.setup-steps li>span{grid-row:span 2;display:grid;place-items:center;border:1px solid var(--color-line);border-radius:50%;width:28px;height:28px;font-size:.8rem;color:var(--color-link)}.setup-steps strong{font-size:.88rem}.setup-steps small{font-size:.76rem;line-height:1.4;color:var(--color-text-muted)}.setup-next{margin:18px 0 24px;border-left:3px solid var(--color-link);padding:8px 0 8px 18px}.setup-next>strong{font-size:1rem;color:var(--color-text)}.setup-next p{margin:8px 0 0;font-size:.9rem;line-height:1.6;color:var(--color-text-muted);max-width:740px}@media(max-width:900px){.hero-section{gap:28px;grid-template-columns:minmax(0,1fr) 300px}.hero-copy .welcome-introduction.has-portrait{grid-template-columns:1fr}.hero-copy .couple-portrait img{height:190px}}@media(max-width:760px){.site-header{height:auto;min-height:90px;flex-wrap:wrap;padding-top:14px;gap:8px 20px}.site-header nav{height:44px;gap:22px}.site-header nav button{font-size:.86rem}.hero-section{display:block;padding:28px 20px 0}.hero-copy{padding:0}.hero-copy h1,.hero-copy .welcome-introduction.has-portrait h1{font-size:clamp(2.5rem,8vw,3.3rem)}.hero-actions{gap:10px 18px}.hero-actions .primary-button{font-size:.94rem;min-height:48px}.hero-actions .text-button{font-size:.9rem}.gift-list-label{margin-bottom:14px;padding:7px 12px;font-size:.82rem}.how-it-works{margin-top:22px}.how-it-works ol{grid-template-columns:1fr;gap:14px;padding:16px 0}.how-it-works li{gap:12px}.how-it-works li strong{font-size:.9rem}.how-it-works li p{font-size:.84rem}.giving-steps{gap:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 0;margin:18px 0 24px}.giving-steps li{padding:8px 0}.giving-steps strong{font-size:.82rem}.couple-area-nav{display:grid;grid-template-columns:1fr;gap:6px}.couple-area-nav button{min-height:64px;padding:12px 14px}.setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-steps li{padding-block:14px}.setup-next{padding-left:14px}}@media(prefers-reduced-motion:reduce){.giving-steps *{transition:none;animation:none}}@media(max-width:760px){.dev-view-switcher{display:grid;grid-template-columns:minmax(174px,1.1fr) minmax(0,1fr);gap:8px;padding:10px 20px;align-items:center}.dev-hub-link{grid-column:1;grid-row:1;gap:8px}.dev-hub-link button{font-size:.76rem;padding:8px}.dev-current-view{grid-column:2;grid-row:1;order:0;font-size:.72rem;overflow-wrap:anywhere}.dev-wedding-picker{grid-column:1 / -1;grid-row:2;min-width:0}.dev-view-options{grid-column:1;grid-row:3;order:0;min-width:0;padding:3px;gap:2px}.dev-view-options button{flex:1;min-width:0;padding:8px 6px;font-size:.74rem}.dev-preview-toggle{grid-column:2;grid-row:3;order:0;font-size:.74rem;padding:8px 6px;min-height:52px}.dev-view-hint{grid-column:1 / -1;grid-row:4;order:0}}@media(max-width:760px){.dev-view-switcher{grid-template-columns:minmax(190px,1.15fr) minmax(0,1fr)}}.detail-page>.back-link{border:0;padding-bottom:8px;margin-bottom:0}.app-shell:has(.detail-page) .wordmark{font-size:2rem}@media(max-width:760px){.app-shell:has(.detail-page) .wordmark{font-size:1.55rem}}.editor-add-actions{display:flex;gap:10px;flex-wrap:wrap}.editor-add-actions .primary-button{min-height:44px;margin:0}.gift-giving-editor .field-hint{margin:9px 0 18px}.giving-configuration-summary{display:grid;gap:7px;border-left:3px solid var(--color-link);padding:10px 14px;margin:18px 0;font-size:.9rem;line-height:1.6}.giving-configuration-summary>span{color:var(--color-text-muted)}@media(max-width:500px){.editor-add-actions{width:100%}.editor-add-actions>button{flex:1;min-width:0}.editor-add-actions .secondary-button{width:auto;margin:0}.gift-giving-editor select{font-size:.9rem}}.gift-icon-status{display:flex;align-items:center;gap:12px;margin-top:10px}.gift-icon-status .gift-icon-current{width:52px;height:52px;border-radius:var(--radius-8);flex-shrink:0}.gift-icon-picker .gift-icon-status .gift-icon-current>svg{width:32px;height:32px}.gift-icon-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}.gift-icon-category{margin-top:18px}.gift-icon-category h4{margin:0 0 10px;font-size:.9rem}.gift-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:10px}.setup-form .gift-icon-option{position:relative;display:block;margin:0;cursor:pointer}.gift-icon-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:10px 4px;background:var(--gift-tint);color:var(--gift-ink);border:1px solid transparent;border-radius:var(--radius-8);text-align:center}.gift-icon-choice>span{font-size:.75rem;line-height:1.3}.gift-icon-option input:checked+.gift-icon-choice{outline:2px solid var(--gift-ink);outline-offset:-3px}.gift-icon-option input:focus-visible+.gift-icon-choice{--focus-ring-color: var(--color-text);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}.editor-card-preview>.gift-visual{height:180px}.setup-form .gift-icon-option input{width:1px;height:1px;min-height:0;padding:0;border:0}[hidden]{display:none!important}.wedding-setup,.setup-form,.setup-form fieldset,[role=tabpanel]{min-width:0}.design-tabs{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:4px 0 10px;scrollbar-width:thin}.design-tab-item{flex:1;min-width:0;position:relative}.design-tabs [role=tab]{display:flex;flex-direction:column;gap:7px;width:100%;min-height:88px;padding:14px 10px;border:1px solid var(--color-line);border-radius:var(--radius-8);background:var(--color-page);color:var(--color-text);text-align:left;font-weight:700}.design-tabs [role=tab][aria-selected=true]{border-color:var(--color-accent);box-shadow:inset 0 -3px var(--color-accent)}.design-tab-status{font-size:.73rem;color:var(--color-text-muted);font-weight:500}.design-next-step{padding:10px 0 20px;font-size:.9rem;color:var(--color-link)}.design-next{margin-top:28px}[role=tabpanel]>h3{font-size:1.8rem;margin:12px 0 22px}@media(max-width:767px){.design-tab-item{flex:none;width:155px}.design-tabs{scroll-snap-type:x proximity}.design-tabs [role=tab]{scroll-snap-align:start}.setup-form fieldset{padding:0}.wedding-setup{max-width:100%}}.structure-explanation{padding:20px;background:var(--color-page);border:1px solid var(--color-line);border-radius:var(--radius-8);margin-bottom:24px}.structure-explanation p{font-size:.9rem;line-height:1.5}.chapter-editor-row{border:1px solid var(--color-line);border-radius:var(--radius-8);padding:22px;margin:16px 0}.chapter-editor-row input,.chapter-editor-row textarea{width:100%;min-width:0}.chapters-editor{margin-bottom:32px}@media(max-width:767px){.chapter-editor-row{padding:16px}.chapter-editor-row .editor-row-heading{align-items:start;flex-direction:column;gap:12px}.chapter-editor-row .editor-order{flex-wrap:wrap}}.gift-editor-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.gift-editor-list{position:sticky;top:20px;max-height:calc(100dvh - 180px);overflow:auto;min-width:0;padding:2px}.gift-editor-group ul{list-style:none;padding:0;margin:0 0 14px}.gift-editor-group-heading{padding:12px 4px}.gift-editor-group-heading h4{margin:6px 0}.gift-editor-group-heading p{font-size:.8rem;color:var(--color-text-muted)}.gift-editor-list-row{border:1px solid var(--color-line);border-radius:var(--radius-7);background:var(--color-page);margin:8px 0;overflow:hidden}.gift-editor-select{display:flex;gap:10px;width:100%;padding:12px;border:0;text-align:left;background:none;color:var(--color-text)}.gift-editor-select[aria-current=true]{box-shadow:inset 4px 0 var(--color-accent);background:color-mix(in srgb,var(--color-calm) 10%,var(--color-page))}.gift-editor-select>span:last-child{min-width:0;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.gift-editor-select small{font-size:.75rem;color:var(--color-text-muted);line-height:1.45}.gift-editor-small-icon{width:38px;height:38px;flex:none;display:grid;place-items:center}.gift-editor-small-icon svg{width:32px;height:32px}.gift-editor-list-row>.editor-order{padding:0 12px 10px}.gift-editor-panel{min-width:0;padding:24px;border:1px solid var(--color-line);border-radius:var(--radius-8);background:var(--color-page)}.gift-editor-panel h3{font-size:1.7rem;overflow-wrap:anywhere}.gift-editor-panel .editor-gift-body{padding:0}.gift-panel-back{display:none}@media(max-width:899px){.gift-editor-layout{display:block}.gift-editor-list{position:static;max-height:none}.gift-editor-panels{display:none}.showing-panel>.gift-editor-list{display:none}.showing-panel>.gift-editor-panels{display:block}.gift-panel-back{display:inline-flex}.gift-editor-panel{padding:16px}}.gift-editor-panel .design-tab-item{flex:none;width:auto;min-width:120px}.gift-editor-panel .design-tabs [role=tab]{min-height:72px;font-size:.83rem;padding:10px}.gift-editor-panel .design-tabs{margin:16px 0 22px}.required-label{font-size:.7rem;color:var(--color-text-muted);margin-left:5px;font-weight:500}.gift-done-mobile{display:none}@media(max-width:899px){.gift-done-mobile{display:inline-flex}.gift-next-desktop{display:none}.gift-editor-panel .design-tab-item{min-width:105px}.gift-editor-panel .design-tabs [role=tab]{font-size:.75rem;padding:8px}}.publication-checklist h4,.publication-overview h4{font:500 1.5rem var(--font-georgia);margin:20px 0 16px}.publication-checklist h5,.publication-overview h5{font-size:.95rem;margin:20px 0 10px}.publication-overview{margin:26px 0;padding:22px;border:1px solid var(--color-line);border-radius:var(--radius-8);overflow-wrap:anywhere}.overview-chapters,.overview-chapters ul,.overview-places{list-style:none;padding:0;margin:12px 0}.overview-chapters>li{margin:16px 0}.overview-chapters ul{border-left:2px solid var(--color-line);padding-left:16px}.overview-gift{display:flex;flex-direction:column;gap:5px;border:0;background:none;color:var(--color-text);text-align:left;padding:12px 0;max-width:100%;overflow-wrap:anywhere}.overview-gift:hover strong{text-decoration:underline}.overview-gift small{font-size:.8rem;color:var(--color-text-muted)}.overview-totals{font-size:.85rem;padding-top:18px;border-top:1px solid var(--color-line);margin-bottom:0}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}@media(max-width:767px){.publication-overview{padding:16px}.review-actions>button{flex:1}.overview-chapters ul{padding-left:12px}}.gift-sections{max-width:1600px;width:100%;margin:0 auto;padding:40px clamp(20px,3.8vw,58px) 48px}.gift-sections-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.6fr);gap:20px 36px;align-items:end}.gift-sections-heading h2{font-size:clamp(2rem,3vw,2.4rem);margin:0 0 10px}.gift-sections-heading h2:focus{outline:none}.gift-sections-heading p{color:var(--color-text-muted);line-height:1.6;margin:0;max-width:620px}.gift-sections-meaning{margin:14px 0 0;font-size:.76rem;line-height:1.5;color:var(--color-text-muted)}.gift-sections-list{margin-top:8px}.gift-chapter{margin-top:44px;padding-top:28px;border-top:1px solid var(--color-line)}.gift-chapter-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.5fr);gap:14px 36px;align-items:center;margin-bottom:24px}.gift-chapter-heading h3{font-size:clamp(1.55rem,2.4vw,1.95rem);margin:6px 0 8px}.gift-chapter-heading h3:focus-visible,.gift-sections-heading h2:focus-visible{--focus-ring-color:var(--color-accent);--focus-ring-width:2px;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.gift-chapter-heading p{color:var(--color-text-muted);line-height:1.6;margin:0 0 8px;max-width:620px}.gift-chapter-heading .chapter-story{font:italic .98rem/1.5 var(--font-georgia);color:var(--color-link);padding:0}@media(max-width:760px){.gift-sections{padding:32px 20px 36px}.gift-sections-heading,.gift-chapter-heading{grid-template-columns:1fr}.gift-chapter{margin-top:34px;padding-top:22px}}.gift-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px 24px;margin:24px calc(-1*clamp(20px,3.8vw,58px)) 0;padding:10px clamp(20px,3.8vw,58px);background:var(--color-page);border-bottom:1px solid var(--color-line)}.gift-bar-chapters{display:flex;gap:6px;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:thin;padding:2px}.gift-bar-chapters button{flex:none;border:1px solid transparent;background:transparent;color:var(--color-text);font-size:.86rem;font-weight:650;padding:8px 12px;min-height:40px;border-radius:var(--radius-999);white-space:nowrap}.gift-bar-chapters button span{color:var(--color-text-muted);font-weight:500}.gift-bar-chapters button:hover{border-color:var(--color-line)}.gift-bar-chapters button[aria-current=true]{background:var(--color-link);border-color:var(--color-link);color:var(--color-white)}.gift-bar-chapters button[aria-current=true] span{color:inherit;opacity:.85}.gift-chapter{scroll-margin-top:12px}@media(max-width:760px){.gift-bar{margin-inline:-20px;padding:8px 20px}}.gift-filters-area{display:flex;align-items:center;margin-left:auto;flex:0 1 auto;min-width:0}.gift-filters-toggle{display:none}.gift-filters{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;font-size:.84rem}.gift-filter-budget{display:flex;align-items:center;gap:8px;margin:0}.gift-filter-budget label,.gift-filter-price{font-weight:650;color:var(--color-text);font-size:.82rem}.gift-filter-budget-entry{display:flex;gap:6px}.gift-filter-budget input{width:96px;min-height:40px;padding:6px 10px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-white);color:var(--color-text)}.gift-filter-budget input[aria-invalid=true]{border-color:var(--color-accent)}.gift-filter-budget .secondary-button{min-height:40px;padding:6px 12px;font-size:.82rem;white-space:nowrap}.gift-filter-price{display:flex;align-items:center;gap:8px}.gift-filter-price select{min-height:40px;padding:6px 8px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-white);color:var(--color-text);font-size:.84rem}.gift-filter-available{display:flex;align-items:center;gap:8px;min-height:40px;font-weight:650;font-size:.82rem;cursor:pointer;white-space:nowrap}.gift-filter-available input{width:18px;height:18px;margin:0;accent-color:var(--color-link)}.gift-filter-clear{font-size:.82rem;white-space:nowrap}.gift-filter-error{flex-basis:100%;text-align:right;margin:0;font-size:.8rem}.gift-sections-results{margin:14px 0 0}.gift-sections .gift-list-empty{padding:28px 0 8px}.gift-chapter-filtered{font-size:.82rem;font-weight:650;color:var(--color-text)!important}.gift-chapter-loose{padding-top:28px}@media(max-width:1100px){.gift-bar{flex-wrap:wrap}.gift-filters-area{margin-left:0;flex-basis:100%}.gift-filters{justify-content:flex-start}.gift-filter-error{text-align:left}}@media(max-width:767px){.gift-bar{flex-wrap:nowrap}.gift-filters-area{flex:none;margin-left:auto;flex-basis:auto;position:static}.gift-filters-toggle{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--color-text);border-radius:var(--radius-999);background:var(--color-page);color:var(--color-text);font-size:.84rem;font-weight:700;white-space:nowrap}.gift-filters-toggle[aria-expanded=true]{background:var(--color-text);color:var(--color-page)}.gift-filters{display:none}.gift-filters.is-open{display:grid;position:absolute;left:0;right:0;top:100%;gap:14px;padding:16px 20px 18px;background:var(--color-page);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-gift-filters)}.gift-filter-budget{display:grid;gap:6px}.gift-filter-budget input{flex:1;width:auto}.gift-filter-price{justify-content:space-between}.gift-filter-price select{flex:1;max-width:220px}.gift-filter-error{text-align:left}.gift-filter-clear{justify-self:start}}.places-section{max-width:1600px;width:100%;margin:0 auto;padding:40px clamp(20px,3.8vw,58px) 8px;min-width:0}.places-section>h2{font-size:clamp(1.8rem,2.6vw,2.2rem);margin:0 0 10px}.places-section>h2:focus{outline:none}.places-section>h2:focus-visible{--focus-ring-color:var(--color-accent);--focus-ring-width:2px;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.places-section>p{color:var(--color-text-muted);line-height:1.6;margin:0 0 20px;max-width:640px}.places-section .places-map-frame{height:420px}.places-section-next{margin-top:16px}@media(max-width:760px){.places-section{padding:32px 20px 4px}.places-section .places-map-frame{height:320px}}.featured-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:22px 0 0;padding:12px 0 0;border-top:1px solid var(--color-line);max-width:560px}.featured-line .overline{flex-basis:100%}.featured-line p{margin:0;font-size:.98rem;line-height:1.5}.featured-line .text-button{font-size:.86rem}.places-connect-setting{margin:16px 0 24px}.places-editor .editor-check{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.9rem;font-weight:700}.places-editor .editor-check input{width:18px;height:18px;min-height:0;flex:none;margin:0}.places-route-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.places-route-overlay path{fill:none;stroke:var(--color-text-muted);stroke-width:2.5;stroke-dasharray:7 7;stroke-linecap:round;stroke-opacity:.85}.setup-form .picture-source-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;border:0;padding:0;min-width:0}.picture-source-choices legend{font-weight:700;font-size:.87rem;padding-bottom:12px}.setup-form .picture-source-option{display:flex;flex-direction:column;gap:10px;border:1px solid var(--color-line);border-radius:var(--radius-12);padding:16px;cursor:pointer;margin:0;min-width:0;background:var(--color-page)}.picture-source-option>span:first-child{display:flex;align-items:center;gap:8px}.setup-form .picture-source-option input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--color-link)}.picture-source-option small{color:var(--color-text-muted);line-height:1.5}.picture-source-option.selected{border:2px solid var(--color-link);padding:15px}.picture-source-state{font-size:.75rem;font-weight:700}.picture-source-option:focus-within{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}.portrait-setup-message{padding:18px;border:1px solid var(--color-line);border-radius:var(--radius-12);margin-bottom:18px}@media(max-width:600px){.setup-form .picture-source-choices{grid-template-columns:1fr}}.portrait-creator{min-width:0;border:1px solid var(--color-line);padding:20px;border-radius:var(--radius-12);margin-bottom:24px}.portrait-creator h4{margin:24px 0 12px;font-size:1.1rem}.portrait-photos{display:flex;flex-wrap:wrap;gap:14px}.portrait-photos>div{width:100px}.portrait-photos img{width:100px;height:100px;object-fit:cover;border-radius:var(--radius-8)}.portrait-photos button{font-size:.8rem;min-height:44px}.portrait-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.portrait-consent{line-height:1.5}.portrait-creator>.primary-button{margin:0 0 14px}.portrait-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portrait-version{border:1px solid var(--color-line);padding:10px;border-radius:var(--radius-10);min-width:0}.portrait-version.chosen{border:2px solid var(--color-link);padding:9px}.portrait-version .secondary-button{width:100%;min-height:44px;margin-top:10px}.portrait-checkerboard{background:repeating-conic-gradient(var(--portrait-checkerboard-bg-1) 0% 25%,var(--portrait-checkerboard-bg-2) 0% 50%) 0 0/20px 20px;border-radius:var(--radius-6);display:flex;align-items:center;justify-content:center;height:280px}.portrait-checkerboard img{height:100%;width:100%;object-fit:contain}.portrait-placeholder{height:200px;display:grid;place-items:center;border:1px dashed var(--color-line);border-radius:var(--radius-10);background:var(--color-page);color:var(--color-text-muted)}.portrait-retry{margin-top:24px}.portrait-retry button{margin:10px 0}.portrait-history{display:flex;gap:12px;overflow-x:auto;max-width:100%;padding:4px 4px 12px}.portrait-history .portrait-version{flex:0 0 170px}.portrait-history .portrait-checkerboard{height:150px}@media(max-width:600px){.portrait-creator{padding:14px}.portrait-choices,.portrait-results{grid-template-columns:1fr}.portrait-checkerboard{height:240px}}.setup-form .portrait-test-settings{display:block;border:2px dashed var(--portrait-test-settings-border);border-radius:var(--radius-12);margin:24px 0 0;padding:16px;min-width:0}.portrait-test-settings legend{font-size:.8rem;font-weight:700;padding:0 8px}.portrait-test-settings h4{margin:0 0 16px}.portrait-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portrait-test-grid>div{min-width:0}.portrait-prompt{margin-top:18px;min-width:0}.portrait-prompt summary{cursor:pointer;padding:8px 0;min-height:44px}.portrait-prompt textarea{font-size:.8rem;line-height:1.6;resize:vertical;max-width:100%}.portrait-spend{font-size:.85rem;margin:16px 0 8px;line-height:1.6}.portrait-version-settings{font-size:.73rem;color:var(--color-text-muted);line-height:1.5;overflow-wrap:anywhere;margin:10px 0 0}@media(max-width:600px){.portrait-test-grid{grid-template-columns:1fr}.setup-form .portrait-test-settings{padding:12px}}.story-suggestion{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.story-suggestion .field-hint{margin:0}.chapter-voice-line{max-width:34rem;font-style:italic;overflow-wrap:anywhere}.couple-voice{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;max-width:38rem;min-width:0}.couple-token{--token-size: 40px;width:var(--token-size);height:var(--token-size);flex:0 0 var(--token-size);box-sizing:border-box;display:grid;place-items:center;border-radius:50%;border:2px solid var(--color-ivory);box-shadow:var(--shadow-couple-token);background:var(--voice-accent, var(--color-olive-ink));color:var(--color-white);font:700 .75rem var(--font-system);overflow:hidden}.couple-token img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(2);transform-origin:50% 8%;background:var(--color-ivory)}.couple-token-small{--token-size: 32px;font-size:.62rem}.couple-token-large{--token-size: 56px;font-size:.95rem}.couple-voice-bubble{position:relative;max-width:34rem;min-width:0;margin:0!important;padding:.7rem .9rem;border:1px solid var(--voice-border, var(--color-sand-line));border-radius:var(--radius-0-2rem) var(--radius-1rem) var(--radius-1rem) var(--radius-1rem);background:var(--voice-background, var(--couple-voice-bubble-bg));color:var(--voice-ink, var(--color-olive-dark));font-size:.9rem;line-height:1.55;overflow-wrap:anywhere}.couple-voice-bubble:before{content:"";position:absolute;left:-6px;top:10px;width:10px;height:10px;transform:rotate(45deg);background:inherit;border-left:inherit;border-bottom:inherit}@media(max-width:767px){.couple-voice-token{--token-size: 32px;font-size:.65rem}.couple-voice{gap:.65rem}}.boarding-pass{display:grid;grid-template-columns:minmax(0,1fr) 15rem;margin:.8rem 0 2rem;border:1px solid var(--voice-border);border-radius:var(--welcome-progress-radius, var(--radius-0-5rem));background:var(--voice-background);color:var(--voice-ink);box-shadow:0 4px 0 var(--welcome-progress-shadow);overflow:hidden}.boarding-pass-main{min-width:0;padding:1.6rem 2rem}.boarding-pass-label{display:block;font:600 .65rem var(--font-mono);text-transform:uppercase;letter-spacing:.14em;margin-bottom:.5rem}.boarding-pass-flight{display:grid;grid-template-columns:minmax(0,1fr) minmax(3rem,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:center}.boarding-pass-code{display:block;font:500 clamp(2.5rem,5vw,4rem)/1 var(--font-mono);letter-spacing:-.06em;margin-bottom:.5rem}.boarding-pass-name{display:block;font-size:.85rem;line-height:1.4;overflow-wrap:anywhere}.boarding-pass-end small{display:block;margin-top:.25rem;font-size:.7rem}.boarding-pass-destination{text-align:right}.boarding-pass-progress{padding-inline:.8rem}.boarding-pass-route{position:relative;height:0;border-bottom:2px dashed var(--voice-border)}.boarding-pass-lit-route{position:absolute;top:0;left:0;border-bottom:2px solid var(--voice-accent);transition:width .6s ease}.boarding-pass-plane{position:absolute;top:1px;display:grid;place-items:center;width:36px;height:36px;background:var(--voice-background);color:var(--voice-accent);transform:translate(-50%,-50%);transition:left .6s ease}.boarding-pass-details{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(4rem,.5fr) minmax(0,1.3fr);gap:1rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--voice-border)}.boarding-pass-details strong{font-size:.85rem;font-weight:600;overflow-wrap:anywhere}.boarding-pass-passengers{display:flex;align-items:center;gap:.55rem}.boarding-pass-stub{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;border-left:2px dashed var(--voice-border);background:var(--welcome-stub-background)}.boarding-pass-status{font:500 1.7rem/1.15 var(--welcome-progress-font, Georgia, serif)}.boarding-pass-stub p{margin:.6rem 0 1.2rem;font-size:.8rem}.boarding-pass-barcode{height:30px;max-width:10rem;opacity:.65;background:repeating-linear-gradient(90deg,currentColor 0 2px,transparent 2px 4px,currentColor 4px 5px,transparent 5px 8px,currentColor 8px 12px,transparent 12px 14px)}@media(max-width:767px){.boarding-pass{grid-template-columns:minmax(0,1fr)}.boarding-pass-main{padding:1.25rem}.boarding-pass-flight{gap:.7rem;grid-template-columns:minmax(0,1fr) minmax(2.5rem,.8fr) minmax(0,1fr)}.boarding-pass-details{grid-template-columns:minmax(0,1fr) auto;gap:1rem}.boarding-pass-details>div:last-child{grid-column:1 / -1}.boarding-pass-stub{border-left:0;border-top:2px dashed var(--voice-border);padding:1.25rem}.boarding-pass-barcode{max-width:100%;height:24px}}@media(prefers-reduced-motion:reduce){.boarding-pass-plane,.boarding-pass-lit-route{transition:none}}.place-icon-picker .gift-icon-grid{margin-top:1rem}.place-icon-picker .gift-icon-choice{color:var(--voice-ink);background:var(--voice-background)}.place-preview h3{display:flex;align-items:center;gap:.6rem}.places-list>li>button>svg,.place-preview h3>svg{flex-shrink:0}.place-stamp{--stamp-size: 44px;--stamp-color: var(--voice-accent, var(--color-olive-ink));position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 var(--stamp-size);width:var(--stamp-size);height:var(--stamp-size);box-sizing:border-box;border:2px dashed var(--color-taupe);border-radius:50%;color:var(--color-taupe);background:var(--color-ivory)}.place-stamp-badge{position:absolute;right:-4px;bottom:-3px;min-width:17px;height:17px;padding:0 2px;display:grid;place-items:center;border-radius:50%;background:var(--color-ivory);color:var(--stamp-color);border:1px solid currentColor;font:700 .65rem var(--font-system)}.place-stamp-growing{border:0;color:var(--stamp-color);background:conic-gradient(var(--stamp-color) var(--stamp-percent),var(--place-stamp-growing-bg) 0)}.place-stamp-growing:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:var(--color-ivory);border-radius:50%}.place-stamp-growing svg{position:relative}.place-stamp-complete{border:2px solid var(--stamp-color);background:var(--stamp-color);color:var(--color-white)}.place-stamp-story{border:1px solid var(--color-taupe)}.place-pin.place-pin-stamp{width:46px;height:46px;padding:0;background:transparent;border:0}.place-pin-stamp[aria-current]{box-shadow:0 0 0 3px var(--color-text)}.places-list .place-stamp{margin:2px 4px 2px 0}.place-stamp-large{--stamp-size: 76px}.place-stamp-large .place-stamp-badge{right:-3px;bottom:0;width:24px;height:24px;font-size:1rem}.private-piece{display:flex;gap:1.1rem;align-items:center;padding:1rem 0;margin-bottom:.75rem;border-bottom:1px solid var(--voice-border)}.private-piece>div{min-width:0}.private-piece h2{font-size:1.25rem;margin:0 0 .4rem}.private-piece p{margin:0;font-size:.9rem;overflow-wrap:anywhere}@keyframes piece-lights-up{0%{transform:scale(.85) rotate(-8deg);box-shadow:var(--shadow-piece-lights-up)}35%{transform:scale(1.08) rotate(2deg);box-shadow:var(--shadow-piece-lights-up-2)}to{transform:scale(1);box-shadow:var(--shadow-piece-lights-up-3)}}@media(prefers-reduced-motion:no-preference){.private-piece-celebrating .place-stamp{animation:piece-lights-up 1.2s ease-out}}@media(max-width:767px){.private-piece{gap:.9rem}.place-stamp-large{--stamp-size: 64px}}.places-route-overlay .places-route-mask{stroke:var(--color-white);stroke-width:9;stroke-opacity:1;stroke-dasharray:none}@media(prefers-reduced-motion:reduce){.place-stamp,.places-route-mask{animation:none!important;transition:none!important}}.places-section.places-section-full{display:flex;flex-direction:column;max-width:none;padding:0}.places-section-heading{padding:20px clamp(20px,3.8vw,58px) 16px}.places-section-heading h2{font-size:clamp(1.6rem,2.4vw,2rem);margin:0 0 6px}.places-section-heading h2:focus{outline:none}.places-section-heading h2:focus-visible{--focus-ring-color:var(--color-accent);--focus-ring-width:2px;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.places-section-heading p{color:var(--color-text-muted);line-height:1.5;margin:0;max-width:720px;font-size:.92rem}.places-section-full>.my-gift-message{margin:16px clamp(20px,3.8vw,58px) 0}.places-map-full:not(.places-map-touring){--map-bar:0px;position:relative;flex:none;height:100svh;min-height:560px}.places-map-full:not(.places-map-touring) .places-map-layout{position:relative;display:block;height:100%;border-width:1px 0 0}.places-section-full .places-map-full:not(.places-map-touring) .places-map-frame{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;z-index:0}.places-map-full:not(.places-map-touring) .places-map-top{position:absolute;z-index:2;top:16px;left:16px;display:flex;flex-direction:column;gap:10px;width:min(780px,calc(100% - min(400px,100% - 32px) - 48px));max-height:calc(100% - 131px);overflow:auto;overscroll-behavior:contain}.places-map-top .place-moment{margin:0}.places-map-panel{position:absolute;z-index:2;top:16px;right:16px;width:min(400px,calc(100% - 32px));max-height:calc(100% - 128px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-line);border-radius:var(--radius-7);background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-gift-card-hover)}.places-map-panel-close{position:absolute;z-index:1;top:8px;right:8px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--color-line);border-radius:50%;background:var(--color-page);color:var(--color-text);font-size:.95rem;line-height:1}.places-map-panel-close:hover{border-color:var(--color-text)}.places-map-panel-close:focus-visible,.places-map-actions button:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.places-map-panel-title{margin:0;padding:18px 56px 4px 22px;font-size:.71rem;line-height:1.4;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);font-weight:750}.places-map-panel .places-list{max-height:none;overflow:visible;border-left:0;display:block}.places-map-panel .places-list li{flex:none}.places-map-panel .places-list li+li{margin-top:8px}.places-map-panel .place-preview{max-height:none;overflow:visible;border:0;padding:12px 18px 18px}.places-map-panel .place-preview-back{margin:0 48px 12px 0}.places-map-actions{position:absolute;z-index:2;right:16px;bottom:32px;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:calc(100% - 32px)}.places-map-actions .places-play-story{margin:0}.places-map-actions .secondary-button{min-height:51px;box-shadow:var(--shadow-gift-card-hover)}@media(max-width:767px){.places-section-heading{padding:14px 20px 12px}.places-section-heading h2{font-size:1.45rem;margin-bottom:4px}.places-section-heading p{font-size:.84rem}.places-section-full>.my-gift-message{margin:12px 20px 0}.places-map-full:not(.places-map-touring){--map-bar:66px}.places-map-full:not(.places-map-touring) .maplibregl-ctrl-bottom-left,.places-map-full:not(.places-map-touring) .maplibregl-ctrl-bottom-right{bottom:var(--map-bar)}.places-map-full:not(.places-map-touring) .places-map-top{top:8px;left:8px;right:8px;width:auto;max-height:calc(100% - var(--map-bar) - 16px)}.places-map-panel{top:auto;left:0;right:0;bottom:var(--map-bar);width:auto;max-height:min(75%,calc(100% - var(--map-bar) - 16px));border-width:1px 0 0;border-radius:var(--radius-7) var(--radius-7) 0 0}.places-map-actions{left:0;right:0;bottom:0;max-width:none;flex-wrap:nowrap;justify-content:stretch;gap:8px;min-height:var(--map-bar);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line);background:var(--color-page)}.places-map-actions>button{flex:1 1 auto;min-height:48px;padding:10px 12px;font-size:.86rem;gap:6px;box-shadow:none}.places-map-actions .secondary-button{min-height:48px;box-shadow:none}}.trip-banner{display:flex;align-items:center;gap:8px}.trip-banner-card{flex:1;min-width:0}.trip-banner-arrow{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--color-line);border-radius:50%;background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-gift-card-hover)}.trip-banner-arrow:hover:not(:disabled){border-color:var(--color-text)}.trip-banner-arrow:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.trip-banner-arrow:disabled{opacity:.35;box-shadow:none}.trip-card-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:0 0 .55rem;font:600 .66rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.14em;opacity:.85}.trip-card-here{padding:2px 8px;border-radius:var(--radius-999);background:var(--color-accent);color:var(--color-page);letter-spacing:.1em}.trip-banner-action{min-height:40px;padding:9px 14px;font-size:.84rem;gap:8px}.trip-banner .boarding-pass{margin:0;grid-template-columns:minmax(0,1fr) 11.5rem;box-shadow:var(--shadow-gift-card-hover)}.trip-banner .boarding-pass-main{padding:.8rem 1.1rem .9rem}.trip-banner .boarding-pass-flight{gap:.8rem}.trip-banner .boarding-pass-label{margin-bottom:.3rem}.trip-banner .boarding-pass-code{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:.2rem}.trip-banner .boarding-pass-stub{padding:.75rem 1rem;gap:2px}.trip-banner .boarding-pass-status{font-size:1.1rem}.trip-banner .boarding-pass-stub p{margin:0 0 .45rem;font-size:.76rem}.trip-banner .boarding-pass-stub .trip-banner-action{align-self:flex-start;margin-bottom:.5rem}.trip-banner .boarding-pass-barcode{height:16px}.passport-page{position:relative;overflow:hidden;padding:.8rem 1.1rem .55rem;border:1px solid var(--voice-border);border-left:6px double var(--voice-accent);border-radius:var(--welcome-progress-radius,var(--radius-0-5rem));background:var(--voice-background);color:var(--voice-ink);box-shadow:var(--shadow-gift-card-hover)}.passport-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-radial-gradient(circle at 100% 0,transparent 0 9px,currentColor 9px 10px);opacity:.06;pointer-events:none}.passport-page>*{position:relative}.passport-page-place{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.passport-page-place .place-stamp{transform:rotate(-6deg)}.passport-page-copy{flex:1 1 12rem;min-width:0}.passport-page-name{margin:0 0 .2rem;font-size:1.45rem;line-height:1.15;color:inherit}.passport-page .passport-status{margin:0}.passport-page-next{margin:.2rem 0 0;font-size:.84rem;overflow-wrap:anywhere}.passport-mrz{margin:.6rem 0 0;padding-top:.45rem;border-top:1px solid var(--voice-border);font:500 .72rem/1.2 var(--font-mono);letter-spacing:.22em;white-space:nowrap;overflow:hidden;opacity:.6}@keyframes trip-banner-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.trip-banner-enter{animation:trip-banner-in .35s ease-out}}@media(max-width:767px){.trip-banner{gap:4px}.trip-banner-arrow{width:32px;height:32px}.trip-banner .boarding-pass{grid-template-columns:minmax(0,1fr) 9rem}.trip-banner .boarding-pass-stub .trip-banner-action{white-space:nowrap;font-size:.74rem;margin-bottom:0}.trip-banner .boarding-pass-stub .trip-banner-action svg{display:none}.trip-banner .boarding-pass-main{padding:.6rem .7rem}.trip-banner .boarding-pass-flight{gap:.25rem;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr)}.trip-banner .boarding-pass-progress{padding-inline:.75rem}.trip-banner .boarding-pass-code{font-size:1.2rem}.trip-banner .boarding-pass-name{font-size:.66rem;overflow-wrap:normal}.trip-banner .boarding-pass-stub{border-top:0;border-left:2px dashed var(--voice-border);padding:.6rem}.trip-banner .boarding-pass-status{font-size:.95rem}.trip-banner .boarding-pass-barcode,.passport-mrz{display:none}.trip-card-heading{margin-bottom:.35rem;font-size:.6rem}.trip-banner-action{min-height:36px;padding:7px 10px;font-size:.78rem}.passport-page{padding:.6rem .7rem}.passport-page-place{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px}.passport-page-place .place-stamp-large{--stamp-size:46px;grid-row:span 2}.passport-page-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px}.passport-page-name{font-size:1.15rem;margin:0}.passport-page .passport-status{font-size:.7rem}.passport-page-next{display:none}.passport-page .trip-banner-action{justify-self:start;min-height:34px;padding:6px 10px}}.places-play-story{margin:0 0 18px}html.story-tour-open{overflow:hidden}.places-map-section.places-map-touring{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;background:var(--color-page);color:var(--color-text)}.places-map-touring .places-map-layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) min(440px,42vw);grid-template-rows:minmax(0,1fr);border:0;height:100%;min-height:0}.places-section .places-map-touring .places-map-frame{height:100%}.story-tour-card{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--color-line);background:var(--color-page);color:var(--color-text)}.story-tour-exit{position:absolute;top:12px;right:12px;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--color-line);border-radius:50%;background:var(--color-page);color:var(--color-text);font-size:1.05rem;line-height:1}.story-tour-exit:hover{border-color:var(--color-text)}.story-tour-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px 28px 16px}.story-tour-body .overline{display:block;margin-right:56px}.story-tour-body h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin:8px 0 14px;overflow-wrap:anywhere}.story-tour-body h2:focus{outline:none}.story-tour-body h2:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.story-tour-body p{line-height:1.55;overflow-wrap:anywhere}.story-tour-token{--token-size:72px;margin-bottom:18px;font-size:1.1rem}.story-tour-route{font:italic 1.2rem/1.45 var(--font-display,Georgia,serif)}.story-tour-hint{color:var(--color-text-muted);font-size:.88rem}.story-tour-stamp{display:flex;align-items:center;gap:14px;margin:16px 0 4px;color:var(--color-text-muted);font-size:.86rem;font-weight:700}.story-tour-gifts{list-style:none;padding:0;margin:18px 0 0}.story-tour-gifts li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 0 6px;border-top:1px solid var(--color-line)}.story-tour-gifts .place-preview-icon{width:40px;height:40px;border-radius:var(--radius-8)}.story-tour-gifts .gift-visual.place-preview-icon>svg{width:22px;height:22px}.story-tour-gifts strong{display:block;font-size:.95rem;line-height:1.45}.story-tour-gifts .text-button{min-height:44px;padding:4px 0;font-size:.88rem;justify-content:flex-start}.story-tour-step-name{margin:-6px 0 12px;font:500 1.25rem/1.3 var(--font-display,Georgia,serif)}.story-tour-recap-line{margin:0 0 12px;color:var(--color-link);font-weight:700}.story-tour-percent strong{display:block;font:500 2.6rem/1.1 var(--font-display,Georgia,serif);color:var(--color-link)}.story-tour-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px}.story-tour-controls{display:flex;justify-content:space-between;gap:12px;padding:14px 28px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--color-line)}.story-tour-controls .primary-button{margin-left:auto;min-height:48px;padding:12px 20px}.story-tour-controls .secondary-button{min-height:48px}@media(max-width:767px){.places-map-touring .places-map-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,55fr) minmax(0,45fr)}.story-tour-card{border-left:0;border-top:1px solid var(--color-line)}.story-tour-exit{top:8px;right:12px}.story-tour-body{padding:16px 20px 10px}.story-tour-body h2{font-size:1.6rem;margin:4px 48px 10px 0}.story-tour-token{--token-size:52px;margin-bottom:10px}.story-tour-controls{padding:10px 20px calc(10px + env(safe-area-inset-bottom))}}.story-tour-map-token{z-index:3;pointer-events:none;display:grid;justify-items:center}.story-tour-map-token .couple-token{--token-size:44px;flex:none;border:3px solid var(--color-page);box-shadow:var(--shadow-couple-token-2);font-size:.78rem}.story-tour-map-token:after{content:"";width:0;height:0;margin-top:-2px;border:7px solid transparent;border-top-color:var(--color-page);border-bottom:0}.places-map-touring .flight-plane{pointer-events:none}.places-map-tour-focus .place-pin:not(.place-pin-tour-focus),.places-map-tour-focus .places-route-overlay path:not(.places-route-focus),.places-map-tour-focus .places-area-overlay,.places-map-tour-focus .flight-plane:not(.flight-plane-focus){filter:opacity(.4)}.flight-plane.flight-plane-focus{width:56px;height:56px;z-index:4}.flight-plane-focus .flight-plane-icon{scale:1.4}.place-pin.place-pin-tour-focus{outline:3px solid var(--color-accent);outline-offset:4px;z-index:2}.place-progress{display:block;margin-top:6px;min-width:0}.place-progress-track{position:relative;display:block;height:5px;border-radius:var(--radius-5);background:var(--place-progress-track-bg);overflow:hidden}.place-progress-fill{position:absolute;inset:0 auto 0 0;display:block;border-radius:inherit;background:var(--voice-accent,var(--color-olive-ink));transition:width .5s ease}.place-progress-text{display:block;margin-top:4px!important;font-size:.75rem;line-height:1.4;color:var(--color-text-muted)}.place-progress-complete .place-progress-text{color:var(--voice-ink,var(--color-text));font-weight:700}.place-progress-large{margin:0 0 14px}.place-progress-large .place-progress-track{height:8px}.place-progress-large .place-progress-text{font-size:.84rem;font-weight:700;color:var(--voice-ink,var(--color-text))}.places-list .place-progress{max-width:180px}.place-pin.place-pin-stamp{overflow:visible}.place-pin .place-stamp-growing{border:2px solid var(--stamp-color);background:var(--color-ivory)}.place-pin .place-stamp-growing:before{content:none}.place-pin-bar{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:2px 5px;border-radius:var(--radius-9);background:var(--color-ivory);box-shadow:var(--shadow-place-pin-bar);color:var(--color-olive-dark);font:700 .62rem/1 var(--font-system);white-space:nowrap;pointer-events:none}.place-pin-bar .place-progress-track{width:30px;height:4px}.place-pin-bar-complete .place-progress-fill{background:var(--voice-accent,var(--color-olive-ink))}.place-pin-bar[hidden],.place-pin[hidden] .place-pin-bar{display:none}.place-preview .place-preview-icon{position:relative}.place-preview-gifted-mark{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--voice-accent,var(--color-olive-ink));color:var(--color-white);border:2px solid var(--color-page);font:700 .62rem/1 var(--font-system)}.place-preview-gifted{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:var(--radius-10);background:var(--voice-accent,var(--color-olive-ink));color:var(--color-white);font-size:.72rem;font-weight:700;line-height:1.6}.place-preview-gift-gifted .place-preview-copy strong{color:var(--color-text-muted)}.place-preview-partial{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:.75rem;font-weight:700;color:var(--voice-ink,var(--color-text))}.place-preview-partial .place-progress-track{flex:0 0 64px;height:4px}@media(prefers-reduced-motion:reduce){.place-progress-fill{transition:none}}.journey-marker{z-index:3;width:0;height:0;pointer-events:none}.journey-marker[hidden]{display:none}.journey-marker-body{position:absolute;top:-20px;display:flex;align-items:center;gap:6px;width:max-content}.journey-marker-right .journey-marker-body{left:28px}.journey-marker-left .journey-marker-body{right:28px;flex-direction:row-reverse}.journey-marker-stacked .journey-marker-body{top:auto;bottom:-20px;flex-direction:column-reverse;align-items:flex-start;gap:4px}.journey-marker-stacked.journey-marker-left .journey-marker-body{align-items:flex-end}.journey-marker .couple-token{flex:none;border-width:3px;box-shadow:var(--shadow-couple-token-2)}.journey-next-stop{max-width:var(--journey-room,200px);padding:5px 10px;border:1px solid var(--voice-border,var(--color-sand-line));border-radius:var(--radius-14);background:var(--color-ivory);color:var(--voice-ink,var(--color-olive-dark));box-shadow:var(--shadow-journey-next-stop);font:700 .74rem/1.3 var(--font-body,system-ui),sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere;pointer-events:auto;transition:opacity .2s ease}button.journey-next-stop{cursor:pointer}button.journey-next-stop:hover{border-color:var(--voice-accent,var(--color-olive-ink))}button.journey-next-stop:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.journey-next-stop[hidden]{display:none}.journey-hopping .journey-next-stop{opacity:0}.places-route-overlay path.places-route-travelled{stroke:var(--color-accent);stroke-dasharray:none;stroke-opacity:1;stroke-width:3.5}.places-route-overlay path.places-route-given{stroke:var(--color-text-muted);stroke-dasharray:none;stroke-width:3;stroke-opacity:.9}.places-route-overlay path.places-route-focus{stroke-width:5;stroke-opacity:1}.journey-next-stop.journey-voice{max-width:min(260px,var(--journey-room,260px));font-weight:600;line-height:1.4}@media(prefers-reduced-motion:reduce){.journey-next-stop{transition:none}}.journey-strip{margin:0 0 28px;padding:16px 0 4px;border-top:1px solid var(--color-line)}.journey-strip h3{margin:0 0 6px}.journey-strip-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:6px}.journey-strip-stops{list-style:none;display:flex;margin:0;padding:0;min-width:min-content}.journey-strip-stop{position:relative;flex:1 1 0;min-width:92px}.journey-strip-visual{position:relative;display:grid;justify-items:center;gap:4px;padding:0 4px;text-align:center}.journey-strip-marker{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-height:58px}.journey-strip-tag{padding:1px 8px;border-radius:var(--radius-10);background:var(--voice-accent,var(--color-olive-ink));color:var(--color-white);font:700 .66rem/1.6 var(--font-body,system-ui),sans-serif;white-space:nowrap}.journey-strip-token{position:relative;display:block}.journey-strip-token .couple-token{display:grid}.journey-strip-token-check{position:absolute;right:-6px;bottom:-4px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--voice-accent,var(--color-olive-ink));color:var(--color-white);border:2px solid var(--color-page);font:700 .55rem/1 var(--font-system)}.journey-strip-leg{position:absolute;top:84px;right:50%;width:100%;border-top:2px dashed var(--color-accent);opacity:.75;z-index:0}.journey-strip-leg-travelled{border-top-style:solid;opacity:1}.journey-strip .place-stamp{z-index:1}.journey-strip-mine .place-stamp{box-shadow:0 0 0 3px var(--color-page),0 0 0 5px var(--voice-accent,var(--color-olive-ink));transform:translateY(-2px)}.journey-strip-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;color:var(--color-text)}.journey-strip-mine .journey-strip-name{color:var(--voice-ink,var(--color-text));text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.journey-strip-count{font-size:.72rem;color:var(--color-text-muted)}.journey-strip-text{margin:8px 0 0;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}.journey-strip-scroll:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.journey-strip-pending .place-stamp{box-shadow:0 0 0 3px var(--color-page),0 0 0 5px transparent;outline:2px dashed var(--voice-accent,var(--color-olive-ink));outline-offset:4px}.journey-strip-pending .journey-strip-tag{background:var(--color-page);color:var(--voice-ink,var(--color-text));border:1px dashed var(--voice-accent,var(--color-olive-ink))}.journey-strip-confirmed .place-stamp{box-shadow:0 0 0 3px var(--color-page),0 0 0 6px var(--voice-accent,var(--color-olive-ink)),0 0 14px 6px var(--place-stamp-shadow-2)}.status-content .journey-strip{margin:0 0 18px;padding-top:4px;border-top:0}.place-moment{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;margin:0 0 10px;padding:10px 12px 10px 14px;border:1px solid var(--voice-border,var(--color-sand-line));border-left:4px solid var(--voice-accent,var(--color-olive-ink));background:var(--voice-background,var(--place-moment-bg));color:var(--voice-ink,var(--color-text))}.place-moment p{grid-column:2;margin:0;font-weight:700;font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.place-moment-stamp{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--voice-accent,var(--color-olive-ink));color:var(--color-white);font:700 .9rem/1 var(--font-system);box-shadow:0 0 0 3px var(--color-page),0 0 0 4px var(--voice-accent,var(--color-olive-ink))}.place-moment-next{grid-column:3;min-height:40px;padding:4px 0;font-size:.88rem}.place-moment-close{grid-column:4;grid-row:1;display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--voice-ink,var(--color-text));font-size:1.3rem;line-height:1;cursor:pointer}.place-moment-close:hover{border-color:var(--voice-border,var(--color-sand-line))}.place-moment :is(button):focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.place-moment-stamp{animation:place-moment-in .5s ease-out}}@media(max-width:767px){.place-moment{grid-template-columns:auto minmax(0,1fr) auto}.place-moment-next{grid-column:2;grid-row:2;justify-self:start}.place-moment-close{grid-column:3;align-self:start}}@keyframes place-moment-in{0%{transform:scale(.6) rotate(-10deg);opacity:0}60%{transform:scale(1.15) rotate(3deg);opacity:1}to{transform:scale(1)}}.studio-delete-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--color-line);border-radius:var(--radius-4);background:var(--color-page);color:var(--color-accent-strong);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.studio-delete-button:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 7%,var(--color-page))}.studio-delete-button:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.studio-delete-button[aria-expanded=true]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-page))}.studio-delete-confirm{margin:8px 0 12px;padding:12px 14px;border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 5%,var(--color-page));color:var(--color-text)}.studio-delete-confirm>p{margin:0 0 8px;font-size:.9rem;line-height:1.5;font-weight:700}.studio-delete-choice{border:0;margin:0 0 8px;padding:0}.setup-form .studio-delete-choice label{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-weight:400;font-size:.9rem;cursor:pointer}.setup-form .studio-delete-choice input{width:18px;height:18px;min-height:18px;margin:0;padding:0;flex:none;accent-color:var(--color-accent)}.studio-delete-choice .field-hint{margin:4px 0 0 28px}.studio-delete-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.studio-delete-actions .secondary-button{margin:0;min-height:44px}.studio-delete-actions .text-button{min-height:44px}.studio-undo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:12px 0;padding:8px 14px;border:1px solid var(--color-line);border-left:3px solid var(--color-link);background:var(--color-surface);color:var(--color-text)}.studio-undo p{margin:0;font-size:.9rem;line-height:1.5}.studio-undo .text-button{min-height:44px;font-weight:700}.editor-order>button.studio-delete-button{width:auto;height:44px;padding:0 12px;font-size:.84rem;color:var(--color-accent-strong)}.gift-editor-list-row>.editor-order .studio-delete-button{margin-left:auto}.gift-editor-list-row>.studio-delete-confirm{margin:0 12px 12px}.places-list-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px}.places-list-actions .secondary-button,.places-list-actions .field-hint{margin:0}.places-editor-row{margin:0 0 8px;border:1px solid var(--color-line);border-radius:var(--radius-7);background:var(--color-page)}.place-row{display:flex;align-items:center;gap:6px;min-height:56px;padding:4px 8px 4px 2px}.place-row-handle{display:flex;align-items:center;justify-content:center;flex:none;width:28px;align-self:stretch;color:var(--color-text-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.place-row-handle:hover{color:var(--color-text)}.places-dragging,.places-dragging *{cursor:grabbing}.place-row-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:48px;padding:4px 6px;border:0;border-radius:var(--radius-4);background:none;color:var(--color-text);text-align:left;font:inherit;cursor:pointer}.place-row-select:hover{background:var(--color-surface)}.place-row-select:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.place-row-select .place-list-number{flex:none}.place-row-icon{display:flex;flex:none;color:var(--color-link)}.place-row-copy{display:flex;flex-direction:column;min-width:0}.place-row-copy strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-row-copy small{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:.78rem;color:var(--color-text-muted)}.place-row-copy .editor-completeness{display:inline;margin:0}.place-row .studio-delete-button{flex:none;padding:0 10px}.place-row .editor-order{flex:none;flex-wrap:nowrap;gap:4px}.place-row-selected{border-color:var(--color-accent);box-shadow:inset 4px 0 var(--color-accent)}.place-row-dragged{opacity:.85;box-shadow:var(--shadow-place-row-dragged);border-style:dashed}.places-editor-row>.studio-delete-confirm{margin:0 10px 10px}.place-panel{border:1px solid var(--color-line);border-radius:var(--radius-7);background:var(--color-page);padding:14px 18px 18px;min-width:0}.place-panel h4{margin:2px 0 10px;font-family:var(--font-display);font-size:1.45rem;font-weight:400;overflow-wrap:anywhere}.place-panel h4:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.place-panel-back{display:block;min-height:44px;margin-bottom:4px}.place-panel>.overline{display:block}.place-panel .story-suggestion{display:flex;justify-content:space-between;align-items:center;gap:12px}.place-panel-delete{margin-top:18px;padding-top:12px;border-top:1px solid var(--color-line)}.place-panel-delete>.text-button{min-height:44px;color:var(--color-accent-strong)}.places-editor-list{container-type:inline-size;align-self:stretch}@container (max-width:400px){.place-row{flex-wrap:wrap;padding-bottom:8px}.place-row-select{flex-basis:calc(100% - 40px)}.place-row .studio-delete-button{margin-left:34px}.place-row .editor-order{margin-left:auto}}@media(min-width:1024px){.places-editor-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.places-editor-map{height:clamp(560px,calc(100dvh - var(--editor-action-space,140px) - 80px),820px)}}.places-map-hint{margin:0 0 8px;font-size:.84rem;font-weight:700;color:var(--color-text)}.places-map-search{position:absolute;top:10px;left:10px;z-index:3;width:min(340px,calc(100% - 70px));padding:6px 12px 8px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page);box-shadow:var(--shadow-places-map-search)}.places-map-search .place-search{border:0;background:none;padding:0;margin:0}.places-map-search .place-search label{margin-top:2px;font-size:.8rem}.places-map-search .place-search-results{position:absolute;left:0;right:0;z-index:4;max-height:300px;overflow:auto}.places-map-search .place-search-status{margin:4px 0 0;min-height:0}.places-map-search .place-search-status:empty{display:none}.places-map-search .place-search .text-button{min-height:36px;font-size:.82rem}.places-map-fit{position:absolute;left:10px;bottom:30px;z-index:2;margin:0;min-height:40px;padding:0 14px;font-size:.84rem;box-shadow:var(--shadow-places-map-fit)}.places-map-adding .maplibregl-canvas{cursor:copy}.place-add-popover{position:absolute;z-index:5;width:260px;padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-place-add-popover)}.place-add-popover:after{content:"";position:absolute;bottom:-7px;left:var(--popover-arrow,50%);width:12px;height:12px;margin-left:-6px;background:var(--color-page);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);transform:rotate(45deg)}.place-add-popover strong{display:block;font-size:.95rem}.place-add-popover label{margin-top:8px}.place-add-popover .field-hint{margin:6px 0 8px}.place-pin-editable{transition:width .15s,height .15s}.place-pin.place-pin-story{background:var(--color-page);color:var(--color-accent);border:2px solid var(--color-accent)}.place-pin.place-pin-needs{background:var(--place-pin-bg);color:var(--place-pin-text);border:2px dashed var(--color-ochre)}.place-pin-editable[aria-current]{width:46px;height:46px;font-size:1.05rem}.places-map-legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:10px 0 0;padding:0;font-size:.8rem;color:var(--color-text-muted)}.places-map-legend li{display:flex;align-items:center;gap:6px}.places-legend-pin{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--color-page);background:var(--color-accent);color:var(--color-page);font-size:.7rem;font-weight:700;box-shadow:var(--shadow-places-legend-pin)}.places-legend-pin.place-pin-story{background:var(--color-page);color:var(--color-accent);border-color:var(--color-accent)}.places-legend-pin.place-pin-needs{background:var(--places-legend-pin-bg);color:var(--places-legend-pin-text);border:2px dashed var(--color-ochre)}.places-legend-line{display:inline-block;width:26px;border-top:2px dashed var(--color-accent)}@media(prefers-reduced-motion:reduce){.place-pin-editable{transition:none}}.places-editor-map .places-map-message{inset:auto auto 16px 16px}.place-gifts{margin-top:22px}.place-gifts h5{margin:0 0 8px;font-size:.84rem;font-weight:700}.place-gift-cards{list-style:none;margin:0;padding:0;display:grid;gap:8px}.place-gift-card{display:flex;align-items:center;gap:10px;padding:8px 6px 8px 10px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-surface)}.place-gift-card-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.place-gift-card-copy strong{font-size:.9rem;overflow-wrap:anywhere}.place-gift-card-copy small{font-size:.75rem;color:var(--color-text-muted)}.place-gift-card .text-button{min-height:44px;padding:0 8px}.place-gift-unlink{flex:none;width:44px;height:44px;border:1px solid var(--color-line);border-radius:var(--radius-4);background:var(--color-page);color:var(--color-accent-strong);font-size:1.3rem;line-height:1;cursor:pointer}.place-gift-unlink:hover{border-color:var(--color-accent)}.place-gift-unlink:focus-visible,.place-gift-choice:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.place-gift-tag{align-self:flex-start;padding:1px 6px;border-radius:var(--radius-9);background:var(--color-line);color:var(--color-text);font-size:.7rem;font-weight:700}.place-gifts-status{min-height:0;margin:6px 0;font-size:.84rem;color:var(--color-text)}.place-gifts-status:empty{margin:0}.place-gift-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.place-gift-actions .secondary-button{margin:0;min-height:44px}.place-gift-picker{margin-top:10px;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page)}.place-gift-picker ul{list-style:none;margin:0;padding:0}.place-gift-choice{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 8px;border:0;border-radius:var(--radius-4);background:none;color:var(--color-text);text-align:left;font:inherit;cursor:pointer}.place-gift-choice:hover{background:var(--color-surface)}.place-gift-choice>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}.place-gift-choice small{font-size:.75rem;color:var(--color-text-muted)}.gift-list-filter{display:inline-flex;margin:0 0 10px;border:1px solid var(--color-line);border-radius:var(--radius-6);overflow:hidden}.gift-list-filter button{min-height:40px;padding:0 12px;border:0;background:var(--color-page);color:var(--color-text);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.gift-list-filter button+button{border-left:1px solid var(--color-line)}.gift-list-filter button[aria-pressed=true]{background:var(--color-link);color:var(--color-page)}.gift-list-filter button:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-3px}.gift-row-no-place{font-style:italic}.places-view-toggle{display:flex;margin:0 0 14px;border:1px solid var(--color-line);border-radius:var(--radius-6);overflow:hidden}.places-view-toggle button{flex:1;min-height:44px;border:0;background:var(--color-page);color:var(--color-text);font:inherit;font-weight:700;cursor:pointer}.places-view-toggle button+button{border-left:1px solid var(--color-line)}.places-view-toggle button[aria-pressed=true]{background:var(--color-link);color:var(--color-page)}.places-view-toggle button:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:-3px}.places-added-notice{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 10px;padding:6px 12px;border-left:3px solid var(--color-link);background:var(--color-surface);font-size:.9rem}.places-added-notice .text-button{min-height:44px;font-weight:700}.place-panel-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px}.place-panel-top .place-panel-back{margin:0}.place-panel-map{min-height:44px}@media(max-width:767px){.places-view-list .places-editor-map-column,.places-view-map .places-editor-list{display:none}.places-view-map .places-editor-map .places-map-canvas{height:max(360px,calc(100dvh - 180px))}}@media(max-width:1000px){.story-home .how-it-works{padding-inline:32px}}@media(max-width:767px){.story-home .how-it-works{padding:20px;margin-top:0}.story-home .how-it-works ol{grid-template-columns:1fr}.story-home .hero-actions{flex-wrap:wrap}}.my-gift-message{padding:18px 22px;margin:0 0 24px;border:2px solid var(--color-link);border-radius:var(--radius-8);background:var(--color-surface);color:var(--color-text)}.my-gift-message.my-gift-pending{border-style:dashed}.my-gift-message h2{margin:0;font:700 1.15rem/1.5 var(--font-body);letter-spacing:0}.my-gift-message>div{display:flex;flex-wrap:wrap;gap:12px 24px}.gift-sections>.my-gift-message{position:sticky;top:64px;z-index:5}.my-gift-badge{display:inline-block;width:fit-content;border:1px solid var(--color-link);border-radius:var(--radius-6);padding:4px 8px;font:700 .78rem/1.4 var(--font-body);color:var(--color-link);background:var(--color-surface)}.my-gift-badge.my-gift-pending{border-style:dashed}.my-gift-card{outline:2px solid var(--color-link);outline-offset:3px}.my-gift-card.my-gift-pending{outline-style:dashed}.place-pin.my-gift-confirmed .place-stamp,.place-pin.my-gift-pending .place-stamp{outline:3px solid var(--color-link);outline-offset:5px}.place-pin.my-gift-pending .place-stamp{outline-style:dashed}.my-gift-pin-label{position:absolute;top:calc(100% + 27px);left:50%;transform:translate(-50%);width:max-content;max-width:180px;border:1px solid var(--color-link);border-radius:var(--radius-5);background:var(--color-page);color:var(--color-link);padding:4px 6px;font:700 .7rem/1.4 var(--font-body)}.my-gift-pending .my-gift-pin-label{border-style:dashed}.status-story-button{margin:8px 0 20px}@media(max-width:767px){.my-gift-message{padding:14px}.my-gift-message h2{font-size:1rem}}.departure-card{border:1px solid var(--color-line);background:var(--color-page);padding:14px 16px;margin-bottom:16px}.departure-card-moving{border-color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-text)}.departure-card-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.departure-card-heading h4{margin:0;font-size:1rem}.departure-card-heading h4 span{font-weight:400;color:var(--color-text-muted);font-size:.84rem}.departure-card-heading .field-hint{margin:2px 0 0}.departure-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:var(--radius-9);background:var(--color-text);color:var(--color-page)}.departure-card .secondary-button{margin:0}.departure-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px}.departure-search{margin-top:6px}.departure-search .place-search{margin-bottom:6px}.place-pin.place-pin-start{border-radius:var(--radius-10);background:var(--color-text);color:var(--color-page);border:2px solid var(--color-page)}.place-pin.place-pin-start svg{pointer-events:none}.place-pin-editable.place-pin-start[aria-current]{width:44px;height:44px}.places-legend-pin.place-pin-start{border-radius:var(--radius-6);background:var(--color-text);color:var(--color-page)}.places-legend-pin.place-pin-start svg{width:14px;height:14px}.gift-flight-leg{margin-top:16px}.gift-flight-leg select{width:100%}.gift-presentation input[readonly]{background:var(--color-surface);color:var(--color-text-muted)}.gift-route-names{grid-column:1/-1;margin-top:0}.flight-plane{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:2px solid var(--color-page);border-radius:50%;background:var(--color-page);color:var(--color-accent);box-shadow:var(--shadow-flight-plane);cursor:pointer;z-index:3}.flight-plane-icon{display:flex;transform-origin:50% 50%}.place-flag{z-index:2;padding:3px 8px;border:1px solid var(--color-page);border-radius:var(--radius-9);background:var(--color-accent);color:var(--color-page);font:700 .68rem/1.2 var(--font-system);white-space:nowrap;box-shadow:var(--shadow-place-pin-bar);cursor:pointer}.place-flag.place-flag-ready{background:var(--voice-accent,var(--color-olive-ink))}.place-flag[hidden]{display:none}.place-flag:focus-visible{--focus-ring-color:var(--color-text);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.place-flag:not([hidden]){animation:place-flag-in .35s ease-out}}@keyframes place-flag-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}.flight-plane-check{position:absolute;top:-6px;right:-6px;display:none;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-accent);color:var(--color-page);font-size:.7rem;font-weight:700;line-height:1}.flight-plane-complete .flight-plane-check{display:flex}.flight-plane-label{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:var(--radius-6);background:var(--color-text);color:var(--color-page);font:700 .74rem/1.2 var(--font-system);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}.flight-plane:hover .flight-plane-label,.flight-plane:focus-visible .flight-plane-label{opacity:1}.flight-plane:focus-visible{--focus-ring-color:var(--color-text);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}.place-pin.place-pin-guest-start{position:relative;width:34px;height:34px;cursor:default;pointer-events:none;z-index:1}.place-start-label{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);padding:2px 6px;border-radius:var(--radius-9);background:var(--color-ivory);box-shadow:var(--shadow-place-start-label);color:var(--color-olive-dark);font:700 .66rem/1.2 var(--font-system);white-space:nowrap}.place-pin-guest-start[hidden]{display:none}.places-list-start-item{display:flex;align-items:start;gap:10px;padding:14px 10px;min-height:64px;color:var(--color-text)}.places-list-start-item strong{font-size:1.05rem}.places-list-start-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:var(--radius-9);background:var(--color-text);color:var(--color-page)}.places-list-flight a{display:flex;align-items:start;gap:10px;padding:10px 10px 10px 14px;border:1px dashed var(--color-line);color:var(--color-text);text-decoration:none}.places-list-flight a:hover{border-color:var(--color-accent)}.places-list-flight a:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.places-list-flight strong{display:block;font:500 1rem/1.3 var(--font-display,Georgia,serif)}.places-list-flight .place-progress-track{margin-top:6px}.places-list-flight-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--color-page);color:var(--color-accent);border:1px solid var(--color-line);font-size:1rem}.places-list-flight-complete .places-list-flight-icon{background:var(--color-accent);color:var(--color-page)}@media(max-width:767px){.places-list li.places-list-start,.places-list li.places-list-flight{flex-basis:200px}.places-list-flight a,.places-list-start-item{height:100%;border:1px solid var(--color-line)}}@media(prefers-reduced-motion:reduce){.flight-plane-label{transition:none}}.flight-plane-label-start .flight-plane-label{left:0;transform:none}.flight-plane-label-end .flight-plane-label{left:auto;right:0;transform:none}.place-start-label-start .place-start-label{left:0;transform:none}.place-start-label-end .place-start-label{left:auto;right:0;transform:none}.flight-plane.flight-plane-static{width:30px;height:30px;cursor:default;pointer-events:none}.flight-plane-static svg{width:20px;height:20px}.flight-plane-static .flight-plane-label{display:none}.place-pin.place-pin-start.place-pin-static{width:24px;height:24px;border-radius:var(--radius-7)}.welcome-picture{position:relative;min-width:0;width:100%;color:var(--color-text)}.welcome-picture-photo{padding:0 0 95px;display:grid;place-items:center}.welcome-picture-photo>.couple-portrait{max-width:440px;width:100%}.welcome-picture-photo>.couple-portrait img{height:340px;max-height:440px;object-fit:contain}.welcome-postcard{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;width:200px;padding:12px;border:1px dashed var(--welcome-postcard-border);outline:5px solid var(--color-ivory-warm);background:var(--color-ivory-warm);color:var(--color-warm-ink);text-align:left;box-shadow:var(--shadow-welcome-postcard);cursor:pointer;border-radius:var(--radius-2)}.welcome-postcard .gift-visual{min-height:70px;height:70px;border-radius:var(--radius-1);display:grid;place-items:center}.welcome-postcard .gift-visual>svg{width:48px;height:48px}.welcome-postcard-title{font:600 1.06rem/1.25 var(--font-georgia);overflow-wrap:anywhere}.welcome-postcard-price{font-size:.73rem;line-height:1.45}.welcome-postcard:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:7px;z-index:8}.welcome-pinned{position:absolute;right:8px;bottom:16px;transform:rotate(3deg);z-index:5}.welcome-pinned .gift-visual{height:42px;min-height:42px}.welcome-pinned .gift-visual>svg{width:34px;height:34px}.welcome-gift-fan{display:flex;align-items:center;justify-content:center;min-height:350px;padding:32px 12px;isolation:isolate}.welcome-gift-fan .welcome-postcard{width:44%;max-width:210px;flex-shrink:0;position:relative}.welcome-gift-count-3 .welcome-fan-0{transform:translateY(18px) rotate(-6deg);margin-right:-15%}.welcome-gift-count-3 .welcome-fan-1{z-index:2;transform:translateY(-12px)}.welcome-gift-count-3 .welcome-fan-2{transform:translateY(18px) rotate(6deg);margin-left:-15%}.welcome-gift-count-2{gap:14px}.welcome-gift-count-2 .welcome-fan-0{transform:rotate(-4deg)}.welcome-gift-count-2 .welcome-fan-1{transform:rotate(4deg)}.welcome-gift-count-1 .welcome-postcard{width:70%;max-width:260px}@media(max-width:768px){.welcome-picture-photo>.couple-portrait img{height:240px;max-height:270px}.welcome-picture-photo{padding-bottom:120px}.welcome-pinned{width:150px;right:8px;bottom:12px}.welcome-gift-fan{min-height:300px;padding:24px 6px}.welcome-gift-fan .welcome-postcard{padding:8px;gap:7px}.welcome-postcard-title{font-size:.95rem}.welcome-postcard-price{font-size:.7rem}.welcome-gift-count-3 .welcome-fan-0{transform:translateY(15px) rotate(-4deg)}.welcome-gift-count-3 .welcome-fan-2{transform:translateY(15px) rotate(4deg)}}.welcome-gift-count-3 .welcome-postcard{width:32%}.welcome-gift-count-3 .welcome-fan-0{margin-right:-1%}.welcome-gift-count-3 .welcome-fan-2{margin-left:-1%}.welcome-gift-fan .welcome-postcard:hover,.welcome-gift-fan .welcome-postcard:focus-visible{z-index:8}@media(max-width:768px){.welcome-gift-count-3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px;padding:20px 8px}.welcome-gift-count-3 .welcome-postcard{width:100%}.welcome-gift-count-3 .welcome-fan-0{grid-column:1;grid-row:1;margin:0}.welcome-gift-count-3 .welcome-fan-2{grid-column:2;grid-row:1;margin:0}.welcome-gift-count-3 .welcome-fan-1{grid-column:1 / -1;grid-row:2;justify-self:center;width:65%;transform:translateY(-5px)}}.journey-postcard{container-type:inline-size;position:relative;border:1px solid var(--journey-postcard-border);background:var(--journey-postcard-bg);color:var(--color-warm-ink);padding:24px 18px 155px;box-shadow:var(--shadow-journey-postcard);border-radius:var(--radius-3)}.journey-postcard h3{font:400 1.65rem/1.2 var(--font-georgia);margin:0 0 30px}.journey-postcard-start{font-size:.75rem;margin:-20px 0 28px}.journey-postcard-route{position:relative;height:calc(var(--desktop-rows) * 150px)}.journey-postcard-route ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;list-style:none;position:relative}.journey-postcard-route li{height:150px;min-width:0;padding:18px 5px 0;text-align:center;position:relative}.journey-postcard-stop{display:flex;align-items:center;flex-direction:column;gap:8px}.journey-postcard-stop>strong{font-size:.83rem;line-height:1.2;overflow-wrap:anywhere;max-width:100%}.journey-postcard-stop .place-progress{width:100%;max-width:120px}.journey-postcard-stop .place-progress-text{font-size:.65rem;white-space:normal}.journey-postcard-line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--journey-postcard-line-stroke);stroke-width:1.4;stroke-dasharray:4 4}.journey-postcard-line .travelled{stroke:var(--travelled-stroke);stroke-dasharray:none;stroke-width:2}.journey-line-phone{display:none}.journey-postcard-token{position:absolute;top:-21px;display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:.65rem;z-index:2}.journey-postcard-token small{font-size:.6rem;background:var(--journey-postcard-token-bg);padding:2px;border-radius:var(--radius-3)}.journey-postcard-token.journey-postcard-token-start{position:static;display:inline-flex;margin-left:8px;vertical-align:middle}.journey-postcard-play{position:absolute;left:20px;bottom:28px;max-width:calc(100% - 230px);font-size:.78rem}@container (max-width:400px){.journey-postcard-route{height:calc(var(--phone-rows) * 150px)}.journey-postcard-route ol{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-line-desktop{display:none}.journey-line-phone{display:block}.journey-postcard-play{max-width:calc(100% - 165px);left:12px;bottom:25px}}.photo-crossfade{width:100%;position:relative;height:360px;min-width:0;isolation:isolate}.photo-slide{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;display:grid;grid-template-rows:minmax(0,1fr) 22px;justify-items:center;opacity:0;transition:opacity 1.2s ease;pointer-events:none}.photo-slide-active{opacity:1;z-index:1}.photo-slide img{height:100%;max-height:338px;width:100%;object-fit:contain}.photo-slide figcaption{font-size:.68rem;color:var(--color-text-muted);text-align:center}.photo-controls{position:absolute;left:6px;bottom:-48px;display:flex;flex-wrap:wrap;align-items:center;gap:5px;z-index:3;max-width:calc(100% - 220px);padding:4px;border-radius:var(--radius-8);background:var(--color-ivory-warm);color:var(--color-warm-ink)}.photo-controls button{font-family:inherit;font-size:.72rem;font-weight:600;line-height:1.3;background:transparent;border:1px solid var(--photo-controls-border);border-radius:var(--radius-5);padding:6px;min-height:32px;cursor:pointer;color:inherit}.photo-controls button:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.photo-dots{display:flex;gap:2px}.photo-dots button{border:0;min-width:30px}.photo-crossfade-still .photo-slide{transition:none}@media(prefers-reduced-motion:reduce){.photo-slide{transition:none}}@media(max-width:768px){.photo-crossfade{height:260px}.photo-slide img{max-height:238px}.photo-controls{bottom:-94px;max-width:calc(100% - 160px)}.photo-dots{flex-wrap:wrap}.photo-dots button{min-width:28px;padding:4px}.photo-controls button{font-size:.67rem}}@media(max-width:768px){.photo-controls{max-width:calc(100% - 178px)}}.welcome-picture-editor{padding:28px 0;margin-top:28px;border-top:1px solid var(--color-line)}.welcome-picture-editor h3{margin-top:0}.welcome-picture-editor h4{margin:24px 0 10px}.welcome-mode-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0;border:0;padding:0;margin:16px 0}.welcome-mode-choices legend{margin-bottom:12px;font-weight:700}.welcome-mode-choices label{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--color-line);padding:12px;border-radius:var(--radius-8);font-size:.9rem}.welcome-mode-choices small{display:block;font-weight:400;font-size:.7rem;margin-top:4px}.welcome-photo-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.welcome-photo-options label{padding:10px;border:1px solid var(--color-line);border-radius:var(--radius-8);min-width:0}.welcome-photo-options img{display:block;width:100%;height:100px;object-fit:contain;margin-bottom:10px}.welcome-photo-options label>span{display:flex;gap:6px;align-items:flex-start;font-size:.78rem;overflow-wrap:anywhere}.welcome-photo-order{padding-left:22px}.welcome-photo-order li{padding:8px 0;display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:.8rem}.welcome-photo-order li>span{min-width:0;overflow-wrap:anywhere}.welcome-photo-order li>div{display:flex;gap:10px;flex-shrink:0}.welcome-photo-candidate{margin-top:18px;padding:16px;border:1px solid var(--color-line);border-radius:var(--radius-8)}.welcome-photo-candidate>img{display:block;max-width:180px;height:160px;object-fit:contain;margin-bottom:16px}.welcome-gift-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.welcome-gift-choices>h4,.welcome-gift-choices>p{grid-column:1 / -1}.welcome-gift-choices select{width:100%;min-width:0}.welcome-editor-preview{max-width:380px;padding:14px;background:var(--welcome-editor-preview-bg);border:1px solid var(--color-line);color:var(--color-warm-ink);--color-text:var(--color-warm-ink);--color-text-muted:var(--welcome-editor-preview-color-text-muted);--color-link:var(--welcome-editor-preview-color-link)}.welcome-editor-preview.theme-garden{background:var(--garden-welcome-editor-preview-bg);--color-text:var(--garden-welcome-editor-preview-color-text);--color-text-muted:var(--garden-welcome-editor-preview-color-text-muted);--color-link:var(--color-accent)}.welcome-editor-preview .welcome-postcard{cursor:default}.welcome-editor-preview .welcome-gift-fan{min-height:290px}.welcome-editor-preview .welcome-picture-photo>.couple-portrait img{height:240px}.welcome-editor-preview .welcome-picture-photo{padding-bottom:130px}.welcome-editor-preview .welcome-pinned{width:150px}.welcome-editor-preview .portrait-caption{color:var(--portrait-caption-text)}.welcome-editor-preview.theme-garden .portrait-caption{color:var(--garden-portrait-caption-text)}@media(max-width:768px){.welcome-mode-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-gift-choices{grid-template-columns:minmax(0,1fr)}.welcome-photo-order li{display:block}.welcome-photo-order li>div{margin-top:6px}.welcome-picture-editor{padding-top:20px}.welcome-photo-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.welcome-picture-editor input,.welcome-picture-editor select,.welcome-picture-editor button{scroll-margin-block:120px}.welcome-picture-editor input[type=radio],.welcome-picture-editor input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;padding:0}.welcome-mode-choices label>span{min-width:0;overflow-wrap:normal}.photo-slide figcaption{justify-self:start;margin-left:6px;max-width:calc(100% - 180px);text-align:left}.welcome-picture-photo>.couple-portrait .portrait-caption{justify-self:start;max-width:calc(100% - 170px);text-align:left}.welcome-postcard-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.passport-status{margin:-.6rem 0 1rem;font:600 .85rem/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.chapter-route{margin:.8rem 0 2rem;padding:2rem;border-block:1px solid var(--voice-border);color:var(--voice-ink);background:var(--voice-background);border-radius:var(--welcome-progress-radius)}.chapter-route-list{display:grid;grid-template-columns:repeat(var(--chapter-count),minmax(0,1fr));list-style:none;padding:0;margin:1rem 0 0}.chapter-route-list li{position:relative;min-width:0;text-align:center}.chapter-route-list li:not(:last-child):after{content:"";position:absolute;width:100%;left:50%;top:calc(3.25rem + 26px);border-top:2px dashed var(--voice-border)}.chapter-route-list li.chapter-route-start:after,.chapter-route-list li.chapter-route-linked:after{border-top:2px solid var(--voice-accent)}.chapter-route-position{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;height:3.25rem;font-size:.7rem;font-weight:600}.chapter-route-list button{display:flex;align-items:center;flex-direction:column;gap:0;border:0;border-radius:var(--radius-0-5rem);background:transparent;color:inherit;padding:0 .5rem .75rem;width:100%;font:inherit;cursor:pointer}.chapter-route-list button:hover strong{text-decoration:underline;text-underline-offset:.2rem}.chapter-route-list button:focus-visible{--focus-ring-color: var(--voice-accent);--focus-ring-width: 2px;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.chapter-route-circle{position:relative;z-index:1;display:inline-grid;place-items:center;width:54px;height:54px;flex-shrink:0;border:2px dashed var(--voice-border);border-radius:50%;background:var(--voice-background);color:var(--voice-accent);font-size:1.2rem}.chapter-route-circle>span{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--voice-background)}.chapter-route-growing .chapter-route-circle{border-style:solid;background:conic-gradient(var(--voice-accent) var(--chapter-percent),var(--voice-border) 0)}.chapter-route-complete .chapter-route-circle,.chapter-route-start .chapter-route-circle{border:2px solid var(--voice-accent);background:var(--voice-accent);color:var(--voice-background)}.chapter-route-complete .chapter-route-circle>span{background:transparent}.chapter-route-list strong{display:block;margin-top:.7rem;font-size:.95rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.chapter-route-start strong{padding-inline:.5rem}.chapter-route-count{display:block;font-size:.75rem;line-height:1.6;margin-top:.3rem}.chapter-route-count>span{display:block}.chapter-route-many{display:block}.chapter-route-many li{text-align:left;padding-left:4.5rem;padding-bottom:1.5rem}.chapter-route-many .chapter-route-position{height:2.8rem;justify-content:flex-start}.chapter-route-many button{align-items:flex-start;padding:0}.chapter-route-many .chapter-route-circle{position:absolute;left:0;top:2.8rem}.chapter-route-many .chapter-route-start{padding-top:2.8rem}.chapter-route-many .chapter-route-start .chapter-route-position{display:none}.chapter-route-many li:not(:last-child):after{width:0;height:100%;left:26px;top:calc(2.8rem + 26px);border-top:0;border-left:2px dashed var(--voice-border)}.chapter-route-many li.chapter-route-start:after,.chapter-route-many li.chapter-route-linked:after{border-left-style:solid;border-left-color:var(--voice-accent)}@media(max-width:767px){.chapter-route{padding:1.25rem}.chapter-route-list{display:block}.chapter-route-list li{text-align:left;padding-left:4.5rem;padding-bottom:1.5rem}.chapter-route-list .chapter-route-position{height:2.8rem;justify-content:flex-start}.chapter-route-list button{align-items:flex-start;padding:0}.chapter-route-list .chapter-route-circle{position:absolute;left:0;top:2.8rem}.chapter-route-list .chapter-route-start{padding-top:2.8rem}.chapter-route-list .chapter-route-start .chapter-route-position{display:none}.chapter-route-list li:not(:last-child):after{width:0;height:100%;left:26px;top:calc(2.8rem + 26px);border-top:0;border-left:2px dashed var(--voice-border)}.chapter-route-list li.chapter-route-start:after,.chapter-route-list li.chapter-route-linked:after{border-left-style:solid;border-left-color:var(--voice-accent)}}@media(prefers-reduced-motion:reduce){.chapter-route *,.chapter-route *:after{transition:none;animation:none}}.vehicle-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:-.15em;line-height:0}.scene-flight-plane{display:grid;place-items:center;color:var(--color-accent)}.scene-flight-plane img{width:100%;height:100%;object-fit:contain}.flight-plane-marker .vehicle-icon{color:var(--color-accent)}.gift-amount-choice{margin:24px 0 18px;padding:0;border:0;min-width:0}.gift-amount-choice legend{font-size:.95rem;font-weight:650;margin-bottom:9px;padding:0}.gift-amount-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:6px}.gift-amount-option,.form-panel .gift-amount-option{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;margin:0!important;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page);color:var(--color-text);font-size:.92rem!important;font-weight:650;cursor:pointer}.gift-amount-option input{accent-color:var(--color-accent);flex:none;margin:0;padding:0!important;border:0!important;width:18px!important;height:18px;min-height:0!important}.gift-amount-option.is-selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.gift-amount-option:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.over-given{margin:8px 0 0;font-size:.88rem;font-weight:650;color:var(--color-link)}.trip-legs{margin-top:22px;padding-top:16px;border-top:1px solid var(--color-line)}.trip-legs h4{margin:0 0 4px;font:500 1.1rem/1.3 var(--font-georgia)}.trip-legs-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.trip-messages{margin-top:22px;padding-top:16px;border-top:1px solid var(--color-line)}.trip-messages h4{margin:0 0 4px;font:500 1.1rem/1.3 var(--font-georgia)}.trip-messages-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:14px}.trip-message{display:grid;gap:4px}.trip-message .field-hint{margin:0}.trip-message textarea{width:100%;resize:vertical}.trip-message-off strong{color:var(--color-text-muted)}.trip-messages code{font-family:var(--font-mono);font-size:.85em}.trip-leg{padding:10px 12px;border:1px dashed var(--color-line);border-radius:var(--radius-6);background:var(--color-page)}.trip-leg-route{display:flex;align-items:center;gap:8px}.trip-leg-route strong{font-size:.92rem;font-weight:650}.trip-leg-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--color-line);color:var(--color-accent)}.trip-leg-gifts{list-style:none;margin:4px 0 0 36px;padding:0;display:grid;gap:2px}.trip-leg-gifts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.trip-leg-gifts .text-button{padding:4px 0;text-align:left}.trip-leg-gifts small,.trip-leg-empty small{color:var(--color-text-muted);font-size:.8rem}.trip-leg-empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 0 36px}.trip-leg-empty .text-button{padding:4px 0}.trip-leg-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0 36px}.trip-leg-add label{font-size:.82rem;font-weight:700}.trip-leg-add select{min-height:40px;border:1px solid var(--color-line);border-radius:var(--radius-4);background:var(--color-white);color:var(--color-text);padding:6px 10px}.trip-leg-add .secondary-button{padding:9px 14px}.transfer-report-form{display:grid;gap:.65rem;margin:1.25rem 0}.transfer-report-form label{font-weight:600}.transfer-report-form input{box-sizing:border-box;width:100%;min-width:0}.transfer-report-form .field-hint{margin:0}.transfer-report-form button{justify-self:start}.agency-shell{--agency-accent:var(--agency-brand, var(--color-navy-ink));--agency-accent-ink:var(--agency-brand-ink, var(--color-white));min-height:100vh;background:var(--root-bg);color:var(--color-navy-ink);font-family:var(--font-inter);display:flex;flex-direction:column}.agency-header{display:flex;align-items:center;gap:20px 32px;flex-wrap:wrap;padding:16px clamp(16px,4vw,48px);border-bottom:1px solid var(--color-sand-line);background:var(--color-white);position:sticky;top:0;z-index:20}.agency-identity{display:flex;align-items:center;gap:12px;min-width:0}.agency-identity strong,.agency-identity h2{display:block;font:normal 1.2rem/1.2 var(--font-georgia);margin:0}.agency-identity div>span{display:block;font-size:.78rem;color:var(--color-sage-grey)}.agency-logo{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-10);background:var(--agency-accent);color:var(--agency-accent-ink);font:normal 1.3rem var(--font-georgia)}.agency-logo-image{display:block;width:auto;height:36px;max-width:120px;object-fit:contain;background:transparent;border-radius:0}.agency-panel .agency-logo-image{height:20px;max-width:100px}.agency-header nav{display:flex;gap:4px;flex-wrap:wrap}.agency-header nav a{padding:9px 14px;border-radius:var(--radius-999);color:var(--color-navy-ink);text-decoration:none;font-weight:600;font-size:.92rem}.agency-header nav a:hover{background:var(--color-cream)}.agency-header nav a.agency-nav-active{background:var(--agency-accent);color:var(--agency-accent-ink)}.agency-prototype{margin-left:auto;font-size:.75rem;color:var(--color-sage-grey)}.agency-main{width:min(1180px,100%);margin:0 auto;padding:32px clamp(16px,4vw,40px) 48px;box-sizing:border-box;flex:1}.agency-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px clamp(16px,4vw,48px);border-top:1px solid var(--color-sand-line);font-size:.8rem;color:var(--color-sage-grey)}.agency-footer a{color:inherit}.agency-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:8px 0 24px}.agency-page-head h1{font:normal clamp(2rem,4vw,2.8rem)/1.1 var(--font-georgia);letter-spacing:-.02em;margin:8px 0 10px}.agency-lead{max-width:640px;margin:0;color:var(--color-sage-grey);line-height:1.55}.agency-actions{display:flex;gap:10px;flex-wrap:wrap}.agency-actions a{text-decoration:none}.agency-shell .primary-button{background:var(--agency-accent);border-color:var(--agency-accent);color:var(--agency-accent-ink)}.agency-shell .primary-button:hover:not(:disabled){color:var(--color-white)}.agency-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.agency-kpis-tight{margin:14px 0 18px}.agency-kpi{background:var(--color-white);border:1px solid var(--color-sand-line);border-radius:var(--radius-12);padding:16px 18px;min-width:0}.agency-kpi span{display:block;font-size:.78rem;color:var(--color-sage-grey);font-weight:600}.agency-kpi strong{display:block;font:normal 1.7rem/1.2 var(--font-georgia);margin:6px 0 2px;overflow-wrap:anywhere}.agency-kpi small{font-size:.75rem;color:var(--color-sage-grey)}.agency-panel{background:var(--color-white);border:1px solid var(--color-sand-line);border-radius:var(--radius-12);padding:20px 22px;margin-bottom:20px;min-width:0}.agency-panel h2{font:normal 1.3rem var(--font-georgia);margin:0 0 12px}.agency-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.agency-panel-head h2{margin:0}.agency-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.agency-columns>.agency-panel{margin-bottom:20px}.agency-section-title{font:normal 1.35rem var(--font-georgia);margin:8px 0 14px}.agency-empty{color:var(--color-sage-grey);margin:4px 0}.agency-muted{font-size:.85rem;color:var(--color-sage-grey)}.agency-list{list-style:none;margin:0;padding:0}.agency-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--color-sand-line)}.agency-list li:first-child{border-top:0}.agency-list-main{min-width:0;color:inherit;text-decoration:none}.agency-list-main strong{display:block}.agency-list-main span{display:block;font-size:.84rem;color:var(--color-sage-grey);overflow-wrap:anywhere}a.agency-list-main:hover strong{text-decoration:underline}.agency-list-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;font-size:.84rem;flex:none}.agency-list-side span{color:var(--color-sage-grey)}.agency-list-wide{min-width:min(260px,45%)}.agency-badge,.agency-stage{display:inline-block;padding:3px 9px;border-radius:var(--radius-999);font-size:.74rem;font-weight:700;white-space:nowrap;background:var(--progress-track-bg);color:var(--color-navy-ink)}.agency-badge-paid,.agency-badge-completed{background:var(--success-bg);color:var(--success-text)}.agency-badge-overdue{background:var(--error-bg);color:var(--error-text)}.agency-badge-due_soon,.agency-badge-no_date{background:var(--color-ivory-warm);color:var(--color-ochre)}.agency-badge-cancelled{color:var(--color-sage-grey)}.agency-stage{background:var(--color-cream)}.agency-stage-ticketed,.agency-stage-travelling{background:var(--agency-accent);color:var(--agency-accent-ink)}.agency-stage-completed{background:var(--success-bg);color:var(--success-text)}.agency-stage-cancelled{color:var(--color-sage-grey);text-decoration:line-through}.agency-paid{display:grid;gap:5px;min-width:140px}.agency-paid-track{display:flex;height:9px;border-radius:var(--radius-999);background:var(--progress-track-bg);overflow:hidden}.agency-paid-gifts{background:var(--agency-accent)}.agency-paid-couple{background:var(--color-ochre)}.agency-paid-label{font-size:.78rem;color:var(--color-sage-grey)}.agency-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--color-sage-grey);margin-top:12px}.agency-key{display:inline-block;width:12px;height:12px;border-radius:var(--radius-3)}.agency-key-gifts{background:var(--agency-accent)}.agency-key-couple{background:var(--color-ochre);margin-left:10px}.agency-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.agency-chips{display:flex;gap:6px;flex-wrap:wrap}.agency-chips button{border:1px solid var(--color-sand-line);background:var(--color-white);color:var(--color-navy-ink);border-radius:var(--radius-999);padding:7px 12px;font:inherit;font-size:.85rem;cursor:pointer}.agency-chips button span{color:var(--color-sage-grey);margin-left:4px}.agency-chips button[aria-pressed=true]{background:var(--agency-accent);border-color:var(--agency-accent);color:var(--agency-accent-ink)}.agency-chips button[aria-pressed=true] span{color:inherit}.agency-search{flex:1 1 220px}.agency-search input,.agency-select select{width:100%;box-sizing:border-box;min-height:40px;border:1px solid var(--color-sand-line);border-radius:var(--radius-8);padding:8px 12px;font:inherit;background:var(--color-white);color:var(--color-navy-ink)}.agency-select{display:flex;align-items:center;gap:8px;font-size:.85rem}.agency-select select{width:auto;max-width:260px}.agency-total{margin-left:auto;font-size:.9rem}.agency-table-wrap{overflow-x:auto}.agency-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--color-white)}.agency-table th,.agency-table td{text-align:left;padding:12px 10px;border-top:1px solid var(--color-sand-line);vertical-align:middle}.agency-table thead th{border-top:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-sage-grey);font-weight:700}.agency-table th[scope=row]{font-weight:700}.agency-table th[scope=row] a{color:inherit}.agency-table small{display:block;font-weight:400;font-size:.78rem;color:var(--color-sage-grey);margin-top:2px}.agency-table td strong{display:block;margin-bottom:4px}.agency-number,.agency-table .agency-number{text-align:right}.agency-ok{color:var(--success-text)}.agency-table select,.agency-file-stage select{min-height:36px;border:1px solid var(--color-sand-line);border-radius:var(--radius-8);padding:5px 8px;font:inherit;background:var(--color-white);color:var(--color-navy-ink)}.agency-part-booked{border-color:var(--color-ochre)}.agency-table select.agency-part-issued{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.agency-file-stage{display:grid;gap:6px;font-size:.8rem;font-weight:700}.agency-file-stage select{min-width:180px;font-size:1rem;font-weight:600}.agency-link-bar{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding:12px 16px;margin-bottom:18px;border-radius:var(--radius-10);background:var(--color-cream);font-size:.9rem}.agency-link-bar>span{flex:1 1 240px}.agency-link-bar a{text-decoration:none}.agency-shell .success,.agency-shell .error{margin:0 0 16px}.agency-form{display:grid;gap:8px}.agency-form label{font-weight:600;font-size:.88rem;margin-top:6px}.agency-form input,.agency-form textarea,.agency-form select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border:1px solid var(--color-sand-line);border-radius:var(--radius-8);padding:9px 12px;font:inherit;background:var(--color-white);color:var(--color-navy-ink)}.agency-form input[type=color]{width:64px;padding:4px}.agency-form input[type=checkbox],.agency-form input[type=radio]{width:auto;min-height:0}.agency-form button{justify-self:start;margin-top:10px}.agency-form fieldset{border:1px solid var(--color-sand-line);border-radius:var(--radius-12);padding:18px 20px 20px;margin:0 0 16px;background:var(--color-white);display:grid;gap:8px;min-width:0}.agency-form legend{font:normal 1.2rem var(--font-georgia);padding:0 6px}.agency-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agency-form-row>div{display:grid;gap:6px;min-width:0}.agency-form-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.agency-settings-submit{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.agency-settings-submit .error,.agency-settings-submit [role=status]{margin:0}.agency-settings-success{color:var(--success-text);font-weight:700}.agency-settings-example{margin:2px 0 8px;color:var(--color-sage-grey);font-size:.92rem}.agency-logo-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.agency-logo-preview img{display:block;width:112px;height:72px;object-fit:contain;border:1px solid var(--color-sand-line);border-radius:var(--radius-8);padding:6px;background:var(--color-white)}.agency-settings-brand-row input[type=file]{padding:7px}.agency-terminal-panel h2{margin-bottom:8px}.agency-terminal-note{margin:0 0 20px;padding:12px 14px;border-left:3px solid var(--color-link);background:var(--selection-notice-bg);line-height:1.55}.agency-terminal-choices{display:grid;gap:10px;border:1px solid var(--color-sand-line);border-radius:var(--radius-8);padding:14px;margin:0 0 18px}.agency-terminal-choices legend{font-weight:700;padding:0 5px}.agency-terminal-choices label,.agency-terminal-bizum{display:flex;align-items:flex-start;gap:9px;line-height:1.45}.agency-terminal-choices input,.agency-terminal-bizum input{flex:0 0 auto;margin:4px 0 0;accent-color:var(--color-link)}.agency-terminal-choices .field-hint{margin:0 0 0 25px}.agency-terminal-disabled{color:var(--color-text-muted)}.agency-terminal-secret{display:grid;justify-items:start;gap:8px;margin-top:15px}.agency-terminal-secret p{margin:0}.agency-terminal-secret input{width:100%;max-width:480px}.agency-terminal-bizum{margin:18px 0}.agency-terminal-warning{padding:12px 14px;border-left:3px solid var(--color-ochre);background:var(--color-ivory-warm);line-height:1.5}.agency-terminal-state{border-top:1px solid var(--color-line);margin-top:22px;padding-top:18px}.agency-terminal-state h3{font:normal 1.1rem var(--font-georgia);margin:0 0 10px}.agency-terminal-state p{line-height:1.5;overflow-wrap:anywhere}.agency-terminal-state .agency-badge{white-space:normal}.agency-terminal-tested{background:var(--success-bg);color:var(--success-text)}.agency-terminal-error{background:var(--error-bg);color:var(--error-text)}.agency-terminal-untested{background:var(--color-ivory-warm);color:var(--color-ochre)}.agency-terminal-unconfigured{background:var(--progress-track-bg);color:var(--color-navy-ink)}.agency-terminal-stripe_ready{background:var(--success-bg);color:var(--success-text)}.agency-terminal-stripe_pending{background:var(--color-ivory-warm);color:var(--color-ochre)}.agency-terminal-stripe_unconnected{background:var(--progress-track-bg);color:var(--color-navy-ink)}.agency-terminal-stripe{display:grid;justify-items:start;gap:10px;margin:0 0 18px;padding:14px;border:1px solid var(--color-sand-line);border-radius:var(--radius-8)}.agency-terminal-stripe p{margin:0;line-height:1.5;overflow-wrap:anywhere}.agency-terminal-stripe-account{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.agency-terminal-stripe-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.agency-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:600}.agency-check input{margin-top:4px}.agency-inline-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-sand-line)}.agency-inline-form>div{display:grid;gap:4px;min-width:0}.agency-inline-form label{font-size:.78rem;font-weight:700}.agency-inline-form input,.agency-inline-form select{box-sizing:border-box;width:100%;min-height:40px;border:1px solid var(--color-sand-line);border-radius:var(--radius-8);padding:7px 10px;font:inherit;background:var(--color-white);color:var(--color-navy-ink)}.agency-timeline{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}.agency-timeline li{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--color-sand-line);font-size:.86rem}.agency-timeline li:first-child{border-top:0}.agency-timeline time{color:var(--color-sage-grey)}.agency-trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-bottom:28px}.agency-trip-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:var(--color-white);border:1px solid var(--color-sand-line);border-top:4px solid var(--agency-accent);border-radius:var(--radius-12);padding:20px}.agency-trip-card h3{font:normal 1.35rem/1.2 var(--font-georgia);margin:8px 0}.agency-trip-card p{margin:0 0 8px;color:var(--color-sage-grey);line-height:1.5;font-size:.9rem}.agency-trip-card dl,.agency-checkout dl,.agency-receipt dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:.88rem}.agency-trip-card dt,.agency-checkout dt,.agency-receipt dt{color:var(--color-sage-grey)}.agency-trip-card dd,.agency-checkout dd,.agency-receipt dd{margin:0;font-weight:600}.agency-route{font-size:.84rem;color:var(--color-navy-ink)!important;font-weight:600}.agency-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.agency-card-actions a{text-decoration:none}.agency-trip-chapter h3{font:normal 1.1rem var(--font-georgia);margin:18px 0 4px}.agency-trip-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.agency-trip-choice{display:grid!important;gap:4px;margin:0!important;padding:14px;border:1px solid var(--color-sand-line);border-radius:var(--radius-10);cursor:pointer;font-weight:400!important;position:relative}.agency-trip-choice input{position:absolute;top:14px;right:14px}.agency-trip-choice strong{padding-right:24px}.agency-trip-choice span{font-size:.82rem;color:var(--color-sage-grey)}.agency-trip-choice .agency-trip-price{color:var(--color-navy-ink);font-weight:700}.agency-trip-chosen{border-color:var(--agency-accent);box-shadow:inset 0 0 0 1px var(--agency-accent)}.agency-trip-choice:focus-within{--focus-ring-color:var(--agency-accent);--focus-ring-width:2px;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.agency-chosen{margin:0}.agency-stop{border:1px solid var(--color-sand-line);border-radius:var(--radius-10);padding:14px;display:grid;gap:10px}.agency-stop-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.agency-stop-head span{display:flex;gap:6px}.agency-activities{display:grid;gap:8px}.agency-activity{grid-template-columns:2fr 1fr auto;align-items:end}.agency-leg{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,1fr) minmax(110px,1fr);gap:10px;align-items:center}.agency-leg-route{font-weight:600;font-size:.9rem}.agency-builder-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--radius-10);background:var(--color-cream)}.agency-builder-total strong{font:normal 1.4rem var(--font-georgia)}.agency-receipt{border:1px solid var(--color-sand-line);border-radius:var(--radius-12);padding:24px 28px;width:min(460px,calc(100vw - 32px));box-sizing:border-box;color:var(--color-navy-ink);font-family:var(--font-inter)}.agency-receipt-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:3px solid var(--agency-accent);font-size:.85rem}.agency-receipt h2{font:normal 1.4rem var(--font-georgia);margin:16px 0}.agency-receipt dl{margin-bottom:14px}.owner-agency{border-left:4px solid var(--agency-accent)}.owner-agency .agency-logo{background:var(--agency-brand, var(--color-navy-ink));color:var(--agency-brand-ink, var(--color-white))}.owner-agency-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:18px;margin:18px 0;padding:16px;border:1px solid var(--color-sand-line);border-radius:var(--radius-10);background:var(--color-cream)}.owner-terminal-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.owner-terminal-summary strong{display:block;margin-bottom:8px}.owner-terminal-summary p{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}.owner-terminal-summary small{color:var(--color-sage-grey)}.owner-setup-checklist h3{display:flex;justify-content:space-between;gap:12px;margin:0 0 8px;font:700 .95rem var(--font-inter)}.owner-setup-checklist h3 span{color:var(--color-sage-grey);white-space:nowrap}.owner-setup-checklist ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.owner-setup-checklist li{display:flex;align-items:flex-start;gap:9px;line-height:1.4}.owner-setup-checklist li>span:first-child{width:1em;flex:none;text-align:center;color:var(--color-sage-grey)}.owner-setup-checklist li.is-complete>span:first-child{color:var(--success-text);font-weight:700}.agency-change-log ol{list-style:none;margin:0;padding:0}.agency-change-log li{display:grid;grid-template-columns:minmax(180px,auto) 80px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--color-sand-line);align-items:start}.agency-change-log li:first-child{border-top:0}.agency-change-log time{color:var(--color-sage-grey);font-size:.88rem}.agency-change-log li>span{overflow-wrap:anywhere}.prototype-agency{margin-top:8px}.prototype-exploring{display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 8px;border-radius:var(--radius-4);background:var(--prototype-wordmark-bg);font:700 .62rem var(--font-arial);letter-spacing:.08em;text-transform:uppercase}.agency-strip{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px 16px;font-size:.82rem;background:var(--color-cream);color:var(--color-navy-ink);border-bottom:1px solid var(--color-sand-line);text-align:center;min-width:0;box-sizing:border-box}.agency-strip-mark{width:10px;height:10px;border-radius:50%;background:var(--agency-brand, var(--color-navy-ink));flex:none}.agency-strip-logo{display:block;width:auto;height:20px;max-width:100px;object-fit:contain;flex:none}.agency-conditions-link{color:var(--color-navy-ink)}.agency-strip-note{color:var(--color-sage-grey)}.agency-checkout{display:grid;gap:14px;border:1px solid var(--color-sand-line);border-top:5px solid var(--agency-brand, var(--color-navy-ink));border-radius:var(--radius-10);padding:16px 18px;background:var(--color-white)}.agency-checkout-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.agency-checkout-head span{font-size:.78rem;color:var(--color-sage-grey);text-transform:uppercase;letter-spacing:.08em;font-weight:700}@media(max-width:900px){.agency-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-columns{grid-template-columns:1fr}.agency-inline-form{grid-template-columns:1fr 1fr}.agency-inline-form>div:first-child{grid-column:1/-1}}@media(max-width:640px){.agency-header{position:static;gap:12px}.agency-prototype{margin-left:0;flex-basis:100%}.agency-header nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap}.agency-header nav a{white-space:nowrap}.agency-kpi strong{font-size:1.35rem}.agency-form-row,.agency-form-row-3,.agency-activity,.agency-leg{grid-template-columns:1fr}.agency-list li{flex-direction:column;align-items:flex-start}.agency-list-side{align-items:flex-start;text-align:left}.agency-list-wide{min-width:0;width:100%}.agency-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.agency-table tr{display:block;border-top:1px solid var(--color-sand-line);padding:10px 0}.agency-table th,.agency-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 0;text-align:right}.agency-table th[scope=row]{display:block;text-align:left;font-size:1rem}.agency-table td:before{content:attr(data-label);color:var(--color-sage-grey);font-size:.78rem;text-align:left;flex:none}.agency-table td .agency-paid{min-width:150px}.agency-number{text-align:right}.agency-total{margin-left:0}.agency-timeline li{grid-template-columns:1fr}}@media(max-width:640px){.owner-agency-setup{grid-template-columns:minmax(0,1fr)}.agency-change-log li{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.agency-change-log li>span{grid-column:1/-1}}@media print{body *{visibility:hidden}.agency-receipt,.agency-receipt *{visibility:visible}.agency-receipt{position:absolute;inset:0 auto auto 0;border:0}.agency-receipt .agency-card-actions{display:none}}.auth-page{width:min(100% - 40px,480px);margin:64px auto;color:var(--color-text)}.auth-page h1{font-size:2.8rem}.auth-page .setup-form{display:grid;gap:18px}.auth-page label,.auth-dev label{display:grid;gap:8px;min-width:0}.auth-page input,.auth-dev input,.auth-dev select{width:100%;min-width:0;padding:12px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-white);color:var(--color-text)}.auth-outbox article p{white-space:pre-line}.auth-google{min-height:44px;display:flex;justify-content:center;margin-bottom:20px}.auth-divider{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--color-text-muted);font-size:.88rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--color-line)}.auth-code input{font-size:1.25rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}.auth-code .text-button{justify-self:start}.auth-page p{line-height:1.6}.auth-page form{margin-bottom:24px}.auth-places{display:grid;gap:14px;margin-bottom:28px}.auth-menu{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.8rem;min-width:0}.auth-menu span{overflow-wrap:anywhere}.auth-menu button{min-height:44px}.auth-outbox{width:min(100% - 40px,720px)}.auth-outbox ol{list-style:none;padding:0}.auth-outbox li{padding:24px 0;border-top:1px solid var(--color-line);overflow-wrap:anywhere}.auth-outbox h2{font-size:1.6rem}.auth-dev{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:12px 0}.auth-dev label{flex:1 1 150px;font-size:.8rem}.auth-dev .secondary-button{min-height:44px}@media(max-width:760px){.studio-shell .site-header{height:auto;min-height:66px;flex-wrap:wrap;gap:8px;padding:12px 20px}.studio-shell .site-header nav{height:auto}.studio-shell .auth-menu{width:100%}.auth-page{margin:36px auto}}.access-table th span{display:block}.access-table th,.access-table td{overflow-wrap:anywhere}.access-actions{display:flex;flex-wrap:wrap;gap:10px}.access-actions button{min-height:44px}.access-invite{margin-top:24px}.access-invite .primary-button{margin-top:14px}.owner-admins{margin:20px 0;overflow-wrap:anywhere}.owner-admins li{margin:8px 0}.access-confirm{width:min(480px,calc(100% - 32px));max-height:90vh;padding:24px;border:1px solid var(--color-line);border-radius:var(--radius-6);background:var(--color-page);color:var(--color-text)}.access-confirm::backdrop{background:var(--gifter-intro-dialog-bg)}.access-confirm h2{font-size:1.8rem}.access-confirm p{line-height:1.5;overflow-wrap:anywhere}@media(max-width:760px){.access-table td,.access-table th{min-width:0}.access-actions{justify-content:flex-start}.access-invite .agency-form-row{grid-template-columns:minmax(0,1fr)}}.payment-confirming{display:grid;gap:8px;margin:18px 0;padding:14px 16px;border:1px solid var(--color-line);border-radius:var(--radius-8)}.payment-confirming p{margin:0;line-height:1.5}.payment-confirming p[role=status]{display:flex;align-items:center;gap:10px;font-weight:700}.payment-confirming .secondary-button{justify-self:start}.payment-confirming-dot{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:2px solid var(--color-link);border-right-color:transparent;animation:payment-confirming-spin .9s linear infinite}@keyframes payment-confirming-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.payment-confirming-dot{animation:none;border-color:var(--color-link);background:var(--color-link)}}.agency-late-payments{border-left:4px solid var(--error-text)}.agency-late-payments h2{margin-bottom:6px}.agency-late-payments>p{margin:0 0 12px;line-height:1.5}.stop-piece,.stop-token{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:80px;min-height:64px;color:var(--color-link);--tile-fill: var(--color-surface);--tile-ink: var(--color-link)}.stop-art-drawing{display:block;width:80px;height:80px;overflow:visible}.tile-top{fill:var(--tile-fill);stroke:var(--tile-ink);stroke-width:1.5}.tile-left{fill:var(--tile-side-left);stroke:var(--tile-ink)}.tile-right{fill:var(--tile-side-right);stroke:var(--tile-ink)}.tile-icon{color:var(--tile-ink)}.stop-piece-missing{--tile-ink: var(--color-text-muted)}.stop-piece-missing .tile-top,.stop-piece-missing .tile-left,.stop-piece-missing .tile-right{fill:none;stroke-dasharray:4 3}.stop-piece-building{--tile-fill: var(--color-page)}.tile-scaffold,.tile-lid{fill:none;stroke:var(--color-text-muted);stroke-width:2}.tile-ring-track{fill:none;stroke:var(--color-line);stroke-width:2}.tile-ring{fill:none;stroke:var(--tile-ink);stroke-width:3;transform:rotate(-90deg);transform-origin:40px 36px}.tile-star{fill:var(--color-page);stroke:var(--tile-ink);stroke-width:2}.stop-art-gold{--tile-fill: var(--gold-fill);--tile-ink: var(--gold-text)}.stop-art-gold .tile-top,.stop-art-gold .tile-left,.stop-art-gold .tile-right{stroke:var(--gold-edge);stroke-width:3}.stop-art-gold .tile-star{fill:var(--gold-fill);stroke:var(--gold-edge)}.stop-token{width:72px;min-height:64px}.stop-token .stop-art-drawing{width:64px;height:64px}.stop-token-0 .stop-art-drawing{width:48px;height:48px;opacity:.8}.stop-token-1 .stop-art-drawing{width:56px;height:56px}.stop-token-3 .stop-art-drawing{width:72px;height:72px}.stop-token-0{--tile-fill: var(--color-page);--tile-ink: var(--color-text-muted)}.stop-token .place-pin-count{padding:2px 7px;border-radius:var(--radius-12);background:var(--color-page);color:var(--color-text);font-size:11px;white-space:nowrap}.stop-token-level-up{animation:stop-level-pop .3s ease-out}.stop-piece-building-in{animation:stop-piece-build .6s ease-out}@keyframes stop-level-pop{50%{transform:scale(1.2) translateY(-5px)}}@keyframes stop-piece-build{0%{opacity:.25;transform:translateY(-14px) scale(.8)}to{opacity:1;transform:none}}.pieces-gallery{padding:24px;min-height:100vh;background:var(--color-surface);color:var(--color-text)}.pieces-gallery-row{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.pieces-gallery figure{margin:0;text-align:center;font-size:12px}.pieces-gallery button{min-width:44px;min-height:44px}@media(prefers-reduced-motion:reduce){.stop-token-level-up,.stop-piece-building-in{animation:none}}.stop-art-travel.stop-piece-built{--tile-fill: var(--gift-tint-travel);--tile-ink: var(--gift-ink-travel)}.stop-art-stay.stop-piece-built{--tile-fill: var(--gift-tint-stay);--tile-ink: var(--gift-ink-stay)}.stop-art-food.stop-piece-built{--tile-fill: var(--gift-tint-food);--tile-ink: var(--gift-ink-food)}.stop-art-experiences.stop-piece-built{--tile-fill: var(--gift-tint-experiences);--tile-ink: var(--gift-ink-experiences)}.stop-art-home.stop-piece-built{--tile-fill: var(--gift-tint-home);--tile-ink: var(--gift-ink-home)}.stop-art-general.stop-piece-built{--tile-fill: var(--gift-tint-general);--tile-ink: var(--gift-ink-general)}.stop-piece-built.stop-art-gold{--tile-fill: var(--gold-fill);--tile-ink: var(--gold-text)}.trip-banner-pill{display:none}.places-list .stop-token{width:64px}@media(max-width:599px){.trip-banner{flex-wrap:wrap}.trip-banner-pill{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;min-height:44px;border:1px solid var(--color-line);border-radius:var(--radius-24);background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-gift-card-hover)}.trip-banner-pill>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.trip-banner-pill button{min-height:32px;padding:4px 8px;flex:none;color:var(--color-link)}.trip-banner-collapsed>.trip-banner-arrow,.trip-banner-collapsed>.trip-banner-card{display:none}}.place-pin.place-cluster{z-index:5}.place-pin.my-gift-confirmed .stop-token,.place-pin.my-gift-pending .stop-token{outline:3px solid var(--color-link);outline-offset:5px;border-radius:var(--radius-8)}.place-pin.my-gift-pending .stop-token{outline-style:dashed}.stop-sheet-pieces{display:flex;flex-wrap:wrap;gap:8px;align-items:start}.stop-piece-button{display:flex;flex-direction:column;align-items:center;width:calc((100% - 16px) / 3);min-width:76px;padding:0 2px 8px;border:1px solid var(--color-line);border-radius:var(--radius-8);background:var(--color-page);color:var(--color-text);cursor:pointer}.stop-piece-button>span:last-child{font-size:.7rem;line-height:1.3;overflow-wrap:anywhere}.stop-piece-button:focus-visible{--focus-ring-color: var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.stop-sheet-level{font-weight:700;color:var(--color-link)}.stop-sheet-hint{font-size:.8rem;color:var(--color-text-muted)}@media(max-width:599px){.places-map-panel{max-height:60%}}.couple-figure{display:flex;flex-direction:column;align-items:center;width:56px;height:72px;position:relative;flex:none}.couple-figure .couple-token.couple-token-large{--token-size: 48px;z-index:1}.couple-figure-bodies{width:56px;height:40px;margin-top:-8px;overflow:visible;fill:none;stroke:var(--color-text);stroke-width:3;stroke-linecap:round}.figure-body-first{fill:var(--color-accent)}.figure-body-second{fill:var(--color-calm)}.figure-confetti{opacity:0;fill:var(--color-accent);stroke:none}.couple-figure-button{display:block;flex:none;min-width:44px;min-height:56px;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto}.couple-figure-button:focus-visible{--focus-ring-color: var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px;border-radius:var(--radius-8)}.couple-figure-idle{animation:couple-bob 3s ease-in-out infinite}.couple-figure-walking .figure-legs-first{animation:couple-walk .4s ease-in-out infinite alternate;transform-origin:24px 23px}.couple-figure-walking .figure-legs-second{animation:couple-walk .4s ease-in-out infinite alternate-reverse;transform-origin:48px 23px}.figure-arm-right{transform-origin:56px 10px}.figure-arm-left{transform-origin:16px 10px}.couple-figure-waving .figure-arm-right{animation:couple-wave .35s ease-in-out infinite alternate}.couple-figure-celebrating .figure-arm-right{transform:rotate(-130deg)}.couple-figure-celebrating .figure-arm-left{transform:rotate(130deg)}.couple-figure-celebrating .figure-confetti{opacity:1;animation:couple-confetti .8s ease-out infinite}@keyframes couple-bob{50%{translate:0 -2px}}@keyframes couple-walk{0%{transform:rotate(-15deg)}to{transform:rotate(15deg)}}@keyframes couple-wave{0%{transform:rotate(-100deg)}to{transform:rotate(-150deg)}}@keyframes couple-confetti{0%{translate:0 -6px;opacity:1}to{translate:0 8px;opacity:0}}@media(max-width:599px){.couple-figure{width:44px;height:56px}.couple-figure .couple-token.couple-token-large{--token-size: 38px}.couple-figure-bodies{width:44px;height:30px}}@media(prefers-reduced-motion:reduce){.couple-figure,.couple-figure *{animation:none}.couple-figure .figure-arm{transform:none}.couple-figure .figure-confetti{opacity:0}}.journey-marker-right .journey-marker-body{left:44px}.journey-marker-left .journey-marker-body{right:44px}.couple-figure .couple-token{white-space:nowrap;font-size:.75rem}.gift-editor-list-row.gift-editor-upgrade{margin-left:18px;border-left:3px solid var(--gold-edge)}.gift-upgrade-offer{margin:16px 0;padding:12px;background:var(--color-surface);border-radius:var(--radius-8)}.upgrade-editor>input,.upgrade-editor>textarea{max-width:100%}.upgrade-gift{display:flex;align-items:center;gap:8px;padding:14px;border:1px solid var(--color-line);border-left:3px solid var(--gold-edge);border-radius:var(--radius-8);background:var(--color-page);color:var(--color-text);text-align:left;width:100%;min-height:44px}.upgrade-gift>span{min-width:0}.upgrade-gift strong,.upgrade-gift small{display:block;overflow-wrap:anywhere}.upgrade-gift strong{font-size:.88rem}.upgrade-gift small{margin-top:5px;font-size:.78rem;color:var(--color-text-muted)}button.upgrade-gift{cursor:pointer}button.upgrade-gift:focus-visible{--focus-ring-color: var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.upgrade-gift-gold{border-color:var(--gold-edge)}.stop-sheet-upgrade{margin-left:10px}.stop-sheet .upgrade-gift{margin:6px 0}.upgrade-detail-line{margin-block:12px}.flight-plane.flight-plane-gold{color:var(--gold-text);background:var(--gold-fill);border:3px double var(--gold-edge)}.flight-plane-gold .flight-plane-check{background:var(--gold-edge);color:var(--color-page)}.place-pin.place-pin-stamp{z-index:4}.place-pin.place-pin-stamp[aria-current],.place-pin.place-pin-tour-focus{z-index:6}.map-only-shell{position:relative;height:100svh;min-height:0}.map-only-shell>.agency-strip,.map-only-shell>.preview-banner{flex:none}.map-only-shell>.story-home{flex:1;min-height:0;display:flex;flex-direction:column}.map-only-shell .places-section-full{flex:1;min-height:0}.map-only-shell .places-map-full:not(.places-map-touring){flex:1;height:auto;min-height:0}.map-only-shell>.dev-view-switcher{position:absolute;top:100svh;left:0;right:0}.guest-intro{position:fixed;inset:auto;margin:0;max-width:none;max-height:none;border:0;padding:32px;background:var(--root-bg);color:var(--color-text);overflow:auto;overscroll-behavior:contain}.guest-intro::backdrop{background:transparent}.guest-intro[open]{display:flex;align-items:center;justify-content:center}.guest-intro-skip{position:absolute;top:16px;right:24px;min-width:64px;min-height:44px;z-index:1}.guest-intro-skip:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px;border-radius:var(--radius-4)}.guest-intro-card{width:min(100%,560px);text-align:center;margin:auto;padding:64px 0}.guest-intro-card>.couple-token{--token-size:88px;margin:0 auto 26px;font-size:1.5rem}.guest-intro-card h1,.guest-intro-card h2{font-family:var(--font-georgia);font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin:0 0 16px}.guest-intro[open] .guest-intro-card h1{font-family:var(--font-georgia);font-weight:500}.guest-intro-card p{font-size:1.05rem;line-height:1.6;color:var(--color-text-muted);margin:0 auto;max-width:430px;text-wrap:balance}.guest-intro-route{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 0;list-style:none;padding:0;margin:32px auto 0}.guest-intro-route li{display:flex;align-items:center;justify-content:center;color:var(--color-link);animation:guest-intro-icon .3s both;animation-delay:var(--intro-delay)}.guest-intro-route li+li:before{content:"";width:12px;height:1px;background:var(--color-line);margin:0 7px}.guest-intro-route .vehicle-icon{display:flex}.guest-intro-drawing{height:150px;display:flex;align-items:center;justify-content:center;gap:26px;margin-bottom:24px;color:var(--color-link)}.guest-intro-flight{width:280px;height:100px;position:relative}.guest-intro-flight>svg{width:100%;height:100%;overflow:visible;fill:var(--root-bg);stroke:var(--color-link);stroke-width:2;stroke-dasharray:5 6}.guest-intro-plane{position:absolute;left:0;top:0;offset-path:path("M20 80 Q140 -30 260 80");offset-rotate:auto;animation:guest-intro-fly 2.2s ease-in-out both}.guest-intro-vehicle{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--color-line);border-radius:var(--radius-12);background:var(--color-white)}.guest-intro-walk{animation:guest-intro-walk 2.5s ease both}.guest-intro-dots{display:flex;gap:10px;justify-content:center;list-style:none;padding:0;margin:28px 0 0}.guest-intro-dots li{width:7px;height:7px;border-radius:50%;background:var(--color-line)}.guest-intro-dots li[aria-current]{background:var(--color-link)}@keyframes guest-intro-icon{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes guest-intro-fly{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes guest-intro-walk{0%{transform:translate(-18px)}to{transform:translate(18px)}}@media(max-width:600px){.guest-intro{padding:24px}.guest-intro-skip{right:18px}.guest-intro-card{padding:60px 0 36px}.guest-intro-card h1,.guest-intro-card h2{font-size:2.1rem}.guest-intro-card p{font-size:.95rem}.guest-intro-route li+li:before{width:8px;margin:0 4px}.guest-intro-drawing{gap:20px}}@media(prefers-reduced-motion:reduce){.guest-intro *,.guest-intro *:before{animation:none!important;transition:none!important}.guest-intro-plane{offset-distance:100%}}@media(max-width:767px){.places-map-actions .places-map-toggle,.places-map-actions .places-replay{flex:0 1 auto;white-space:nowrap}}.guest-intro-map{background:transparent;padding:0;overflow:hidden;pointer-events:auto}.guest-intro-map[open]{display:block}.guest-intro-map .guest-intro-skip{background:var(--color-page);border-radius:var(--radius-6);padding:8px 14px;box-shadow:var(--shadow-gift-card-hover)}.guest-intro-caption{position:absolute;left:50%;bottom:28px;transform:translate(-50%);max-width:calc(100% - 32px);margin:0;padding:10px 20px;border-radius:var(--radius-20);background:var(--color-page);color:var(--color-text);font:500 clamp(1.1rem,2.4vw,1.5rem)/1.25 var(--font-georgia);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-gift-card-hover)}.guest-intro-caption:empty{display:none}.guest-intro-counter{position:absolute;left:50%;top:18px;transform:translate(-50%);margin:0;padding:8px 16px;border-radius:var(--radius-20);background:var(--color-page);color:var(--color-link);font-weight:750;font-size:.95rem;white-space:nowrap;box-shadow:var(--shadow-gift-card-hover)}.guest-intro-final{position:absolute;left:16px;right:16px;bottom:24px;margin:0 auto;width:min(520px,calc(100% - 32px));display:grid;gap:12px;padding:20px 22px;border:1px solid var(--color-line);border-radius:var(--radius-7);background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-gift-card-hover);animation:guest-intro-icon .35s both}.guest-intro-final h2{font:500 clamp(1.5rem,3.5vw,2rem)/1.15 var(--font-georgia);margin:0}.guest-intro-final p{margin:0;color:var(--color-text-muted);line-height:1.45}.guest-intro-goal{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);color:var(--color-link)}.guest-intro-goal-text{display:grid;gap:2px;flex:1;min-width:0;color:var(--color-text)}.guest-intro-goal small{font-size:.78rem;font-weight:750;color:var(--color-text-muted)}.guest-intro-goal strong{font-size:1rem;line-height:1.3}.guest-intro-goal .primary-button{min-height:44px;padding:10px 16px;flex:none}.guest-intro-explore{justify-self:start}.places-map-intro .places-map-top,.places-map-intro .places-map-bottom,.places-map-intro .places-map-panel,.places-map-intro .maplibregl-ctrl-bottom-left,.places-map-intro .maplibregl-ctrl-top-right{visibility:hidden}.place-pin.intro-sparkle:after{content:"✦";position:absolute;top:-14px;right:-10px;color:var(--color-accent);font-size:1.1rem;pointer-events:none;animation:intro-sparkle .7s ease-out both}@keyframes intro-sparkle{0%{opacity:0;transform:scale(.3) rotate(-30deg)}40%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(.9) translateY(-8px) rotate(20deg)}}@media(max-width:600px){.guest-intro-map .guest-intro-skip{top:10px;right:10px}.guest-intro-caption{bottom:18px;padding:8px 14px;font-size:1rem}.guest-intro-counter{top:12px;font-size:.85rem}.guest-intro-final{left:8px;right:8px;width:auto;bottom:12px;padding:16px;gap:10px}.guest-intro-goal{flex-wrap:wrap}.guest-intro-goal .primary-button{width:100%}}@media(prefers-reduced-motion:reduce){.guest-intro-final{animation:none}.place-pin.intro-sparkle:after{display:none}}@property --block-share{syntax: "<number>"; inherits: true; initial-value: 1;}.gift-block{display:inline-flex;flex:none;flex-direction:column;align-items:center;justify-content:end;gap:3px;width:104px;padding:8px 4px;border:0;background:transparent;color:var(--color-text);font:inherit;cursor:pointer}.gift-block:focus-visible{--focus-ring-color: var(--color-accent);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;border-radius:var(--radius-8)}.gift-block-drawing{display:block;flex:none;width:56px;height:84px;overflow:visible;color:var(--color-text-muted)}.block-shadow{fill:var(--color-text);opacity:.15;filter:blur(2px)}.block-footprint{fill:var(--block-top);stroke:var(--color-text-muted);stroke-width:1}.block-footprint.is-empty{fill-opacity:.35;stroke-dasharray:3 2}.block-side{transform:scaleY(var(--block-share));stroke-width:.5}.block-left{fill:var(--block-left);stroke:var(--block-left)}.block-right{fill:var(--block-right);stroke:var(--block-right)}.block-raised{transform:translateY(calc(-20px * var(--block-share)))}.block-top{fill:var(--block-top);stroke:var(--color-link);stroke-width:.75}.block-stem{fill:none;stroke:var(--color-text-muted);stroke-width:1;stroke-dasharray:2 2}.block-badge{fill:var(--color-surface);stroke:var(--color-text-muted);stroke-width:1}.gift-block-drawing.is-given{color:var(--color-link)}.is-given .block-badge{fill:var(--block-top);stroke:var(--color-link);filter:drop-shadow(0 0 3px var(--block-badge-glow))}.is-mine .block-badge{stroke:var(--color-accent);stroke-width:2.5}.is-gold .block-top,.block-star{fill:var(--gold-fill);stroke:var(--gold-edge);stroke-width:1}.block-target{fill:none;stroke:var(--color-accent);stroke-width:1.5;stroke-dasharray:3 2;animation:block-target-pulse 1.4s ease-in-out infinite}.gift-block-label{display:block;max-width:100%;padding:3px 7px;border:1px solid var(--color-line);border-radius:var(--radius-999);background:var(--color-page);color:var(--color-text);font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-mini-row{display:block;overflow:visible}.mini-gift{color:var(--color-text-muted)}.mini-gift>circle{fill:var(--color-page);stroke:var(--color-text-muted);stroke-width:.75}.mini-gift.is-given{color:var(--color-page)}.mini-gift.is-given>circle{fill:var(--color-link);stroke:var(--color-link)}.block-rising .gift-block-drawing,.gift-block-drawing.block-rising{animation:block-rise 1s both}@keyframes block-rise{0%{--block-share: 0}80%{--block-share: calc(var(--block-target, 1) * 1.08)}to{--block-share: var(--block-target, 1)}}@keyframes block-target-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.block-rising .gift-block-drawing,.gift-block-drawing.block-rising,.block-target{animation:none}}.places-map-bottom{position:absolute;z-index:2;left:16px;right:16px;bottom:32px;display:flex;align-items:flex-end;justify-content:flex-end;gap:16px;pointer-events:none}.places-map-bottom-goal{justify-content:space-between}.places-map-bottom>*{pointer-events:auto}.places-map-bottom .places-map-actions{position:static;max-width:none}.next-goal{width:min(340px,100%);flex:none;display:grid;gap:8px;padding:16px;border:1px solid var(--color-line);border-radius:var(--radius-8);background:var(--color-page);color:var(--color-text);box-shadow:var(--shadow-gift-card-hover)}.next-goal-heading{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--color-text-muted)}.next-goal h3{font-size:1.15rem;line-height:1.2;margin:0;overflow-wrap:anywhere}.next-goal p{font-size:.82rem;line-height:1.4;margin:0}.next-goal .primary-button{justify-self:start;min-height:44px;padding:10px 18px;font-size:.86rem}.next-goal .place-progress-track{height:4px;width:100%}.next-goal button:focus-visible{--focus-ring-color:var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:3px}.places-map-full:not(.places-map-touring):has(.places-map-bottom-goal) .places-map-top{max-height:calc(100% - var(--map-bottom-height,240px) - 64px)}@media(max-width:767px){.places-map-bottom{left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0}.places-map-bottom .places-map-actions{flex:none;width:100%}.next-goal{width:100%;padding:12px 16px;box-shadow:none;border-width:1px 0 0;border-radius:var(--radius-0);gap:6px;grid-template-columns:minmax(0,1fr) auto}.next-goal-heading,.next-goal h3,.next-goal p{grid-column:1}.next-goal .primary-button{grid-column:2;grid-row:1 / 4;align-self:center}.next-goal .place-progress-track,.next-goal-complete{grid-column:1 / -1}.places-map-full:has(.places-map-bottom-goal) .places-map-panel{bottom:var(--map-bottom-height,200px);max-height:min(60%,calc(100% - var(--map-bottom-height,200px) - 70px))}}.place-pin.place-pin-city{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}.place-pin.place-pin-stamp:not(.place-pin-city){transition:opacity .45s ease}.place-pin>.stop-token{transition:scale .45s ease}.place-pin-city>.stop-token,.place-pin-city>.stop-mini-row-wrap{scale:.3}.city-ground{position:relative;pointer-events:none}.city-ground[hidden]{display:none}.city-plot{position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed var(--color-link);border-radius:50%;background:var(--color-page);opacity:.55}.city-name{position:absolute;left:50%;top:100%;translate:-50% 22px;padding:2px 8px;border:0;border-radius:var(--radius-8);background:transparent;color:var(--color-link);font:700 15px/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:auto;cursor:pointer}.city-name:focus-visible{--focus-ring-color: var(--color-accent);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.gift-block.gift-block-map{position:absolute;width:120px;padding:0;z-index:2}.gift-block.gift-block-map.gift-block-map-back{z-index:1}.gift-block-map.gift-block-map-back .gift-block-label{top:auto;bottom:calc(100% - 2px)}.gift-block.gift-block-map[hidden]{display:none}.gift-block-map .gift-block-label{position:absolute;top:calc(100% - 14px);left:50%;translate:-50% 0;width:max-content;max-width:112px;padding:2px 6px;border-radius:var(--radius-8);font-size:10.5px;line-height:1.25;text-align:center;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gift-block-map .gift-block-drawing{animation:city-block-in .3s ease-out both}.gift-block-map .gift-block-drawing.block-rising{animation:block-rise 1s both}.stop-mini-row-wrap{position:absolute;top:calc(50% + 42px);left:50%;translate:-50% 0;display:block;padding:2px 4px;border-radius:var(--radius-999);background:var(--color-page);box-shadow:var(--shadow-place-pin-bar)}.stop-mini-row-wrap[hidden],.flight-plane[hidden]{display:none}.journey-marker-city .journey-marker-body{top:auto;left:0;right:auto;bottom:-8px;transform:translate(-50%)}.journey-marker-city .journey-next-stop{display:none}.gift-block-map .gift-block-drawing.block-rising.block-rising-from{animation:stage-block-rise 1s both}.block-sparks{top:30%}.city-name.city-name-pop{animation:city-name-pop .6s ease-out}@keyframes city-name-pop{40%{scale:1.3}}.journey-marker-thanks .journey-marker-body{z-index:4}.journey-marker-quiet .journey-next-stop{display:none}.guest-intro-gift .guest-intro-caption{width:max-content;white-space:normal;overflow:visible;text-overflow:clip;text-align:center;text-wrap:balance}.journey-marker-city.journey-marker-thanks .journey-marker-body{flex-direction:column-reverse;align-items:center}.journey-marker-city.journey-marker-thanks .journey-next-stop-done{display:block;text-align:center}@media(prefers-reduced-motion:reduce){.gift-block-map .gift-block-drawing.block-rising.block-rising-from,.city-name.city-name-pop{animation:none}.block-sparks{display:none}}.place-preview-gift-focus{border-radius:var(--radius-8);outline:2px solid var(--color-accent);outline-offset:2px}.place-preview-give{margin:8px 0 4px}@keyframes city-block-in{0%{opacity:0;translate:0 6px}}@media(max-width:599px){.gift-block.gift-block-map{width:88px}.gift-block-map .gift-block-label{max-width:88px;font-size:10px}.gift-block-map .gift-block-drawing{width:46px;height:69px}.city-name{font-size:13px}}@media(prefers-reduced-motion:reduce){.place-pin.place-pin-city,.place-pin.place-pin-stamp,.place-pin>.stop-token,.gift-block-map .gift-block-drawing,.gift-block-map .gift-block-drawing.block-rising{transition:none;animation:none}}.gift-stage{margin:18px 0 8px}.gift-stage-plot{position:relative;width:100%;max-width:440px;aspect-ratio:2.1;margin:0 auto}.gift-stage-oval{position:absolute;top:22%;right:2%;bottom:4%;left:2%;border:2px dashed var(--color-link);border-radius:50%;background:var(--color-surface);opacity:.6}.gift-stage-city-name{position:absolute;left:50%;bottom:-4px;translate:-50% 100%;color:var(--color-link);font:700 13px/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.gift-stage-block{position:absolute;width:min(56px,calc(86% / var(--stage-count)));translate:-50% -78.6%}.gift-stage-block .gift-block-drawing{width:100%;height:auto;aspect-ratio:56 / 84}.gift-stage-block.is-chosen{z-index:3!important}.gift-stage-here{position:absolute;left:50%;bottom:100%;translate:-50% -2px;padding:3px 8px;border-radius:var(--radius-999);background:var(--color-accent);color:var(--color-white);font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.gift-stage-here.is-start{left:0;translate:-12px -2px}.gift-stage-here.is-end{left:auto;right:0;translate:12px -2px}.gift-stage-pending .block-target{animation:none;stroke-dasharray:none;stroke-width:2}.gift-stage-pending .gift-stage-here{background:var(--color-page);color:var(--color-accent);border:1px solid var(--color-accent)}.gift-stage-count{margin:34px 0 0;text-align:center;color:var(--color-text-muted);font-size:.9rem;font-weight:700}.gift-stage-block.block-rising .gift-block-drawing{animation:stage-block-rise 1s both}@keyframes stage-block-rise{0%{--block-share: var(--block-from, 0)}75%{--block-share: calc(var(--block-target, 1) * 1.1)}88%{--block-share: calc(var(--block-target, 1) * .97)}to{--block-share: var(--block-target, 1)}}.stage-sparks{position:absolute;left:50%;top:40%;width:0;height:0;pointer-events:none}.stage-sparks>span{position:absolute;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--color-accent);opacity:0;rotate:calc(var(--spark) * 45deg);animation:stage-spark .9s .45s ease-out both}@keyframes stage-spark{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-34px) scale(.4)}}.gift-stage-arc{position:relative;width:100%;max-width:440px;aspect-ratio:300 / 120;margin:0 auto}.gift-stage-arc svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.gift-stage-route{fill:none;stroke:var(--color-line);stroke-width:3;stroke-dasharray:5 5}.gift-stage-given{fill:none;stroke:var(--color-link);stroke-width:4;stroke-linecap:round}.gift-stage-mine{fill:none;stroke:var(--color-accent);stroke-width:5;stroke-linecap:round;opacity:.8;animation:block-target-pulse 1.4s ease-in-out infinite}.gift-stage-pending .gift-stage-mine{animation:none;opacity:.5}.gift-stage-mine.is-given{animation:none;opacity:1}.gift-stage-end{position:absolute;top:76.7%;display:flex;flex-direction:column;align-items:center;translate:-50% -50%;font-size:12px;font-weight:700;color:var(--color-text);white-space:nowrap}.gift-stage-end .stop-token{width:54px;min-height:48px}.gift-stage-end .stop-art-drawing{width:48px;height:48px}.gift-stage-end-from{left:13.3%}.gift-stage-end-to{left:86.7%}.gift-stage-vehicle{position:absolute;display:grid;place-items:center;width:36px;height:36px;translate:-50% -50%;border-radius:50%;background:var(--color-page);color:var(--color-link);box-shadow:var(--shadow-place-pin-bar)}.gift-stage-part{position:absolute;left:50%;top:0;translate:-50% -60%;padding:3px 8px;border-radius:var(--radius-999);background:var(--color-accent);color:var(--color-white);font-size:11px;font-weight:700;white-space:nowrap}.gift-stage-leg .gift-stage-count{margin-top:26px}@media(prefers-reduced-motion:reduce){.gift-stage-block.block-rising .gift-block-drawing,.stage-sparks>span,.gift-stage-mine{animation:none}.stage-sparks{display:none}}.status-story h1{margin:8px 0 10px}.status-story-line{font-size:1.15rem;line-height:1.5;color:var(--status-content-text);margin:0 0 14px}.status-level-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-link);border-radius:var(--radius-999);color:var(--color-link);font-size:.85rem;font-weight:750;margin:0 0 18px}.status-story .status-story-button{display:flex;width:100%;margin:6px 0 4px}.status-details{margin:26px 0 0;border-top:1px solid var(--color-line)}.status-details>summary{cursor:pointer;padding:14px 0;color:var(--color-link);font-weight:750;min-height:44px}.status-details[open]>summary{margin-bottom:8px}.gift-miniature{display:block;flex:none;overflow:visible;--miniature-ink: var(--color-link);--miniature-paper: var(--color-page);--miniature-wall: var(--gift-tint-stay);--miniature-side: var(--tile-side-right);--miniature-roof: var(--color-accent);--miniature-leaf: var(--gift-ink-experiences);--miniature-water: var(--gift-tint-travel);--miniature-sea: var(--gift-ink-travel);--miniature-sand: var(--tile-side-right);--miniature-light: var(--gold-fill);--miniature-detail: var(--gift-ink-stay)}.miniature-neutral{--miniature-ink: var(--color-text-muted);--miniature-paper: var(--color-surface);--miniature-wall: var(--color-line);--miniature-side: var(--tile-side-right);--miniature-roof: var(--tile-side-left);--miniature-leaf: var(--tile-side-left);--miniature-water: var(--color-line);--miniature-sea: var(--color-text-muted);--miniature-sand: var(--tile-side-right);--miniature-light: var(--color-surface);--miniature-detail: var(--color-text-muted)}.miniatures-gallery{padding:48px 32px;background:var(--color-page);color:var(--color-text);font-family:var(--font-body)}.miniatures-content{max-width:1040px;margin:0 auto}.miniatures-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:30px}.miniatures-header h1{margin:8px 0 12px;font:400 clamp(2rem,4vw,3.1rem)/1.08 var(--font-display);letter-spacing:-.04em}.miniatures-header p{margin:0;color:var(--color-text-muted)}.miniatures-eyebrow{margin:0 0 8px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600}.miniatures-theme{display:flex;flex-direction:column;gap:8px;flex:none;font-size:.78rem}.miniatures-theme select{min-height:44px;padding:8px 34px 8px 12px;color:var(--color-text);background:var(--color-page);border:1px solid var(--color-line);border-radius:var(--radius-4);font:inherit}.miniature-workbench{padding:24px;border:1px solid var(--color-line);border-radius:var(--gift-card-radius);background:var(--color-surface)}.miniature-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.miniature-preview-heading h2{margin:0;font:400 1.7rem/1.2 var(--font-display)}.miniature-ground-control{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.78rem}.miniature-ground-control input{accent-color:var(--color-accent);width:18px;height:18px}.miniature-preview-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;margin-top:16px;align-items:center}.miniature-size-samples{display:flex;align-items:flex-end;justify-content:center;gap:28px;min-height:160px;padding:16px;background:var(--color-page);border-radius:var(--radius-4)}.miniatures-gallery .miniature-size-samples figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}.miniature-size-samples figcaption{color:var(--color-text-muted);font-size:.72rem}.miniature-ground-dark{background:var(--color-text)}.miniature-ground-dark figcaption{color:var(--color-page)}.miniature-uses{margin:0 0 22px;color:var(--color-text-muted);font-size:.85rem;line-height:1.5}.miniature-progress-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.8rem}.miniature-progress-heading output{font-variant-numeric:tabular-nums;color:var(--color-link);font-weight:600}.miniature-progress-controls input[type=range]{display:block;width:100%;min-height:44px;margin:0;accent-color:var(--color-accent)}.miniature-progress-presets{display:flex;gap:8px}.miniature-progress-presets button{flex:1;min-height:44px;padding:7px;border:1px solid var(--color-line);background:var(--color-page);color:var(--color-text);border-radius:var(--radius-4);font:inherit;font-size:.78rem;cursor:pointer}.miniature-progress-presets button[aria-pressed=true]{background:var(--color-link);border-color:var(--color-link);color:var(--color-page)}.miniature-state{margin:16px 0 4px;font-size:.8rem;color:var(--color-link)}.miniature-simulation{margin:0;color:var(--color-text-muted);font-size:.72rem;line-height:1.5}.miniature-catalogue-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:32px 0 18px}.miniature-catalogue-heading h2{margin:0;font:400 1.5rem/1.3 var(--font-display)}.miniature-catalogue-heading>span{font-size:.75rem;color:var(--color-text-muted)}.miniature-catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.miniature-choice{display:flex;flex-direction:column;align-items:center;padding:16px 12px 18px;min-width:0;border:1px solid var(--color-line);border-radius:var(--gift-card-radius);background:var(--color-page);color:var(--color-text);font:inherit;cursor:pointer}.miniature-choice[aria-pressed=true]{border-color:var(--color-link);box-shadow:inset 0 0 0 1px var(--color-link);background:var(--color-surface)}.miniature-choice:hover{background:var(--color-surface)}.miniature-choice-art{display:flex;align-items:center;justify-content:center;min-height:110px;margin-bottom:8px}.miniature-choice-label{font:400 1.15rem/1.4 var(--font-display)}.miniature-choice-category{color:var(--color-text-muted);font-size:.7rem;margin-top:4px}.miniature-catalogue-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:22px 0 28px;color:var(--color-text-muted);font-size:.73rem}.miniature-catalogue-footer p{margin:0}.miniatures-previous{border-top:1px solid var(--color-line);padding-top:20px}.miniatures-previous summary{display:flex;align-items:center;min-height:44px;color:var(--color-link);cursor:pointer;font-size:.85rem}.miniatures-previous summary:before{content:"+";margin-right:10px}.miniatures-previous[open] summary:before{content:"−"}.miniatures-previous h3{font:400 1.25rem/1.3 var(--font-display)}.miniatures-gallery :is(button,select,input,summary):focus-visible{--focus-ring-color: var(--color-link);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}@media(max-width:650px){.miniatures-gallery{padding:28px 16px}.miniatures-header{flex-direction:column;align-items:stretch;gap:20px;padding-bottom:24px}.miniatures-theme{max-width:none}.miniatures-theme select{width:100%;font-size:1rem}.miniature-workbench{padding:18px 16px}.miniature-preview-heading{align-items:flex-start}.miniature-ground-control{font-size:.72rem}.miniature-preview-body{grid-template-columns:minmax(0,1fr);gap:20px}.miniature-size-samples{min-height:148px}.miniature-uses{margin-bottom:16px}.miniature-catalogue-heading{flex-direction:column;gap:4px}.miniature-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.miniature-choice{padding:12px 8px 16px}}.miniature-fill-clip{transform:translateY(calc(120px*(1 - clamp(0,var(--miniature-share),1))))}.gift-block-miniature{--miniature-share: var(--block-share)}.gift-block-miniature.is-gold,.gift-miniature.is-gold{--miniature-roof: var(--gold-fill);--miniature-detail: var(--gold-edge)}.miniature-own-ring{fill:none;stroke:var(--color-accent);stroke-width:1.5}.gift-block-map .gift-block-drawing.gift-block-miniature{width:72px;height:108px}.stop-piece-button>.gift-miniature{margin:4px auto}@media(max-width:599px){.gift-block-map .gift-block-drawing.gift-block-miniature{width:64px;height:96px}}@media(max-width:599px){.places-map-full:has(.places-map-bottom-goal) .places-map-panel:has(.stop-sheet){max-height:min(50%,calc(100% - var(--map-bottom-height, 200px) - 260px))}}@font-face{font-family:Couple Cormorant;src:url(/fonts/cormorant-garamond/regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap;size-adjust:112%}@font-face{font-family:Couple Cormorant;src:url(/fonts/cormorant-garamond/italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap;size-adjust:112%}html.text-large{font-size:112.5%}.style-editor{display:grid;gap:24px;margin:8px 0 28px}.style-editor-controls{display:flex;flex-direction:column;gap:20px;min-width:0}.style-editor h4{margin:0 0 4px}.style-group{display:flex;flex-direction:column;gap:8px}.style-label{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);display:flex;gap:10px;align-items:baseline}.style-custom-tag{text-transform:none;letter-spacing:0;font-weight:600;color:var(--color-link)}.style-presets,.style-fonts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.style-preset{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:8px;border:1px solid var(--color-line);background:var(--color-page);color:var(--color-text);border-radius:var(--radius-10)}.style-preset[aria-pressed=true]{border-color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-text)}.style-preset small{color:var(--color-text-muted)}.style-preset-strip{display:flex;width:100%;height:28px;border-radius:var(--radius-6);overflow:hidden;border:1px solid var(--color-line)}.style-preset-strip i{flex:1}.style-preset-strip i:first-child{flex:2.2;display:grid;place-items:center;font-style:normal}.style-swatches{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.style-swatch{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--color-line)}.style-swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--color-page),0 0 0 5px var(--color-text)}.style-swatch-other{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:var(--color-text-muted);cursor:pointer}.style-editor .style-swatch-other input,.style-editor .style-piece input{width:32px;height:32px;min-height:0;padding:2px;border:1px solid var(--color-line);border-radius:var(--radius-8);background:none;cursor:pointer;flex:none}.style-font{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:8px 10px;border:1px solid var(--color-line);background:var(--color-page);color:var(--color-text);border-radius:var(--radius-10)}.style-font span{font-size:1.15rem;line-height:1.25}.style-font small{color:var(--color-text-muted)}.style-font[aria-pressed=true]{border-color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-text)}.style-segments{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border:1px solid var(--color-line);border-radius:var(--radius-10);background:var(--color-surface);align-self:flex-start}.style-segments button{border:0;background:transparent;color:var(--color-text-muted);padding:7px 14px;border-radius:var(--radius-8);font-weight:600}.style-segments button[aria-pressed=true]{background:var(--color-page);color:var(--color-text);box-shadow:0 0 0 1px var(--color-line)}.style-checks{list-style:none;margin:0;padding:10px 12px;display:grid;gap:6px;border:1px solid var(--color-line);border-radius:var(--radius-10);background:var(--color-surface)}.style-checks li{display:flex;justify-content:space-between;gap:12px}.style-checks li span:last-child{font-family:var(--font-mono);font-size:.8rem;white-space:nowrap;font-variant-numeric:tabular-nums}.style-check-ok{color:var(--success-text)}.style-check-adjusted{color:var(--color-ochre)}.style-check-low{color:var(--error-text)}.style-check-note{margin:0}.style-advanced summary{cursor:pointer;font-weight:700}.style-piece{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-line)}.style-piece label{display:flex;flex-direction:column;margin:0}.style-piece small{color:var(--color-text-muted)}.style-piece-auto{font-size:.8rem;color:var(--color-text-muted)}.style-sample{align-self:start;display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--color-page);color:var(--color-text);border:1px solid var(--color-line);border-radius:var(--gift-card-radius, 0);font-family:var(--font-body)}.style-sample p{margin:0}.style-sample-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.style-sample-names{font:500 1.7rem/1.1 var(--font-display)}.style-sample-muted{color:var(--color-text-muted);font-size:.86rem}.style-sample-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.style-sample-actions .primary-button{pointer-events:none}.style-sample-link{color:var(--color-link);text-decoration:underline;text-underline-offset:3px}@media(min-width:900px){.style-editor{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.style-sample{position:sticky;top:96px}}.app-shell{font-family:var(--font-body)}:is(.theme-paper,.theme-garden) :is(h1,h2,h3,h4,.wordmark,.gift-card-title,.confirmed-amount strong,.flight-progress-label strong,.giving-total strong,.giving-review>strong,.scene-text-pair){font-family:var(--font-display)}.theme-garden :is(h1,h2,h3,h4,.wordmark,.gift-card-title,.confirmed-amount strong,.giving-total strong,.giving-review>strong){font-weight:700;letter-spacing:-.045em}.theme-paper .secondary-button{box-shadow:none}:is(.theme-paper,.theme-garden) .gifter-intro-dialog{border:var(--gifter-intro-dialog-border);border-radius:var(--gifter-intro-dialog-radius);box-shadow:var(--shadow-gifter-intro-dialog-style)}:is(.theme-paper,.theme-garden) .gifter-intro-card h2{font-weight:var(--gifter-intro-card-h2-weight)}:is(.theme-paper,.theme-garden) .gifter-intro-art{border-radius:var(--gifter-intro-art-radius)}:is(.theme-paper,.theme-garden) .gifter-intro-actions .primary-button{border-radius:var(--gifter-intro-primary-radius)}:is(.theme-paper,.theme-garden) .primary-button{background:var(--primary-button-bg);color:var(--primary-button-text);border-radius:var(--primary-button-radius);box-shadow:none}:is(.theme-paper,.theme-garden) .primary-button:hover:not(:disabled){background:var(--primary-button-hover-bg)}:is(.theme-paper,.theme-garden) .secondary-button{background:var(--secondary-button-bg);border-radius:var(--secondary-button-radius)}.theme-garden .site-header{border-color:var(--site-header-border)}:is(.theme-paper,.theme-garden) .site-header{height:86px;background:var(--site-header-bg-2)}.theme-garden .site-header :is(.wordmark,nav button){color:var(--color-page)}:is(.theme-paper,.theme-garden) .site-header :is(.nav-active,nav button:hover){border-bottom-color:var(--nav-active-border)}:is(.theme-paper,.theme-garden) .wordmark span{font-style:var(--wordmark-span-style)}.guest-shell .inner-page{max-width:1280px;padding-top:32px}.guest-shell .lead,.guest-shell .status-content>p{color:var(--color-text-muted)}.guest-shell h1{overflow-wrap:anywhere}.guest-shell :is(h1,h2)[tabindex="-1"]:focus-visible{outline:none}.guest-shell .story-home :is(.hero-section,.how-it-works,.home-note){max-width:1280px}.story-home .hero-section{display:block;padding:20px 60px}.story-home .hero-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:54px;align-items:center}.story-home .hero-copy .overline{margin-bottom:22px}.story-home .hero-copy h1{font-size:clamp(2.75rem,4.5vw,4.25rem);line-height:1.06;margin-bottom:24px}.story-home .hero-copy p{color:var(--color-text-muted);font-size:1.08rem;line-height:1.65}.story-home .hero-actions{margin-top:28px;gap:10px 24px}.hero-visual{min-width:0;overflow:hidden}.hero-visual>.gift-scene{max-height:440px}.story-home .hero-visual .scene-frame{height:auto;max-height:440px;aspect-ratio:1.15}.hero-visual.hero-portrait{display:grid;place-items:center}.hero-visual>.couple-portrait{max-width:440px;width:100%}.hero-visual>.couple-portrait img{height:auto;max-height:440px;object-fit:contain}.story-home .gift-list-label{border-color:var(--gift-list-label-border);background:var(--gift-list-label-bg);color:var(--gift-list-label-text)}.story-home .how-it-works li strong{font-size:1rem;line-height:1.3;font-weight:700}.story-home .how-it-works-heading .overline{margin:0}:is(.theme-paper,.theme-garden) .story-home .gift-list-label{border-color:var(--color-line);background:var(--color-surface);color:var(--gift-list-label-text-style)}:is(.theme-paper,.theme-garden) .story-home .gift-list-label svg{color:var(--color-accent)}.theme-garden .story-home .how-it-works li strong{color:var(--color-text)}:is(.theme-paper,.theme-garden) .story-home .how-it-works li strong{font-family:var(--how-it-works-strong-font);font-weight:700}:is(.theme-paper,.theme-garden) .story-home .how-it-works-number{background:var(--how-it-works-number-bg);color:var(--how-it-works-number-text)}.app-shell .story-home .how-it-works li p{margin:4px 0 0;font-family:var(--font-body);font-size:.86rem;line-height:1.5;font-weight:400;color:var(--color-text-muted)}.app-shell .story-home .how-it-works-note{margin:10px 0 0;font-size:.8rem;line-height:1.45;color:var(--color-text-muted)}@media(max-width:767px){.story-home .how-it-works li strong{font-size:1.02rem}.app-shell .story-home .how-it-works li p{font-size:.9rem}}.story-home .home-note{width:calc(100% - 120px);max-width:1160px;padding:32px 0 40px}.story-home .home-note h3{font:500 1.8rem/1.2 var(--font-display);margin-bottom:12px}.story-home .home-note p{line-height:1.65}.story-home .home-note>svg{flex:none}.story-home .home-note>div{min-width:0}.story-home .home-note .home-note-fine-print{margin-top:12px;font-size:.78rem;line-height:1.5}.guest-shell .site-footer{max-width:none;padding:24px 60px}.theme-paper .story-home .hero-copy>.overline{font-size:.68rem}.theme-paper .all-gifts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.theme-paper .gift-card:hover .gift-card-title{color:var(--color-accent);text-decoration:underline;text-underline-offset:4px}.theme-paper .gift-card-image{height:220px}.theme-paper .gift-card-body{padding:18px 0 22px;gap:8px}:is(.theme-paper,.theme-garden) .gift-card-body{border-bottom:var(--gift-card-body-rule)}.theme-paper .gift-card .gift-card-title{font-size:1.45rem}:is(.theme-paper,.theme-garden) .confirmed-progress .funding-bar{border-radius:var(--funding-bar-radius);background:var(--confirmed-funding-bar-bg-style)}:is(.theme-paper,.theme-garden) .funding-bar{border-radius:var(--funding-bar-radius);background:var(--funding-bar-bg-style)}:is(.theme-paper,.theme-garden) .mini-progress{border-radius:var(--funding-bar-radius);background:var(--mini-progress-bg)}.theme-paper .funding-bar>span{background:var(--color-accent)}.theme-paper .mini-progress>span{background:var(--color-accent)}:is(.theme-paper,.theme-garden).guest-shell .lead{font-family:var(--lead-font)}.theme-garden .story-home .hero-section{max-width:1280px;color:var(--color-page);padding:20px 60px;--color-text-muted: var(--hero-section-color-text-muted);--color-link: var(--color-page)}:is(.theme-paper,.theme-garden) .story-home .hero-section{background:var(--hero-section-bg)}.theme-garden .story-home .hero-copy h1{font-size:clamp(2.85rem,4.9vw,4.7rem);line-height:1.02}.theme-garden .story-home .hero-copy .overline{font-size:.84rem}:is(.theme-paper,.theme-garden) .story-home .hero-copy .overline{text-transform:var(--hero-overline-case);letter-spacing:var(--hero-overline-tracking);font-weight:var(--hero-overline-weight)}:is(.theme-paper,.theme-garden) .story-home .hero-copy>.overline{letter-spacing:var(--hero-lead-overline-tracking)}.theme-garden .story-home .hero-copy p{font-size:1.08rem}.theme-garden .hero-visual{--color-text: var(--hero-visual-color-text);--color-text-muted: var(--hero-visual-color-text-muted);--color-link: var(--color-accent)}:is(.theme-paper,.theme-garden) .hero-visual{border-radius:var(--hero-visual-radius);background:var(--hero-visual-bg)}:is(.theme-paper,.theme-garden) .hero-visual .scene-frame{border-radius:var(--scene-frame-radius);background-color:var(--hero-scene-frame-bg)}:is(.theme-paper,.theme-garden) .chapter-story{font-family:var(--chapter-story-font);font-style:var(--chapter-story-style)}.theme-garden .all-gifts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}:is(.theme-paper,.theme-garden) .all-gifts-grid{display:grid}.theme-garden .gift-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;padding:12px;align-items:stretch}:is(.theme-paper,.theme-garden) .gift-card{background:var(--gift-card-bg);border:var(--gift-card-border-line);border-radius:var(--gift-card-radius);box-shadow:none}.theme-garden .gift-card:hover{border-color:var(--color-link)}:is(.theme-paper,.theme-garden) .gift-card:hover{transform:none;box-shadow:none}.theme-garden .gift-card .gift-card-image{height:100%;min-height:170px}:is(.theme-paper,.theme-garden) .gift-card .gift-card-image{border-radius:var(--gift-card-image-radius)}.theme-garden .gift-card .gift-card-body{padding:8px 4px 8px 0;gap:8px;align-content:center}.theme-garden .gift-card .gift-card-title{font-size:1.15rem;line-height:1.3}.theme-garden .gift-card :is(.gift-card-price,.gift-card-meta){font-size:.8rem;line-height:1.5}.theme-garden .gift-card-title svg{width:18px}:is(.theme-paper,.theme-garden) .flight-progress-label strong{font-weight:var(--flight-progress-label-weight)}:is(.theme-paper,.theme-garden) .story-home .home-note h3{font-weight:var(--home-note-title-weight);letter-spacing:var(--home-note-title-tracking)}.theme-garden .home-note>div{max-width:800px}:is(.theme-paper,.theme-garden) .home-note span{font-family:var(--home-note-span-font);font-style:var(--home-note-span-style)}.theme-garden.guest-shell .site-footer{color:var(--site-footer-text)}:is(.theme-paper,.theme-garden).guest-shell .site-footer{background:var(--site-footer-bg);border-top:var(--site-footer-rule)}.theme-garden.guest-shell .site-footer button{color:var(--site-footer-text)}:is(.theme-paper,.theme-garden) :is(.detail-page,.contribution-page,.status-page) .scene-frame{border-radius:var(--detail-scene-frame-radius)}.theme-garden .detail-info .confirmed-progress{padding:24px}:is(.theme-paper,.theme-garden) .detail-info .confirmed-progress{background:var(--detail-progress-bg);border-radius:var(--detail-progress-radius)}:is(.theme-paper,.theme-garden) .detail-info .confirmed-amount strong{font-size:3rem}:is(.theme-paper,.theme-garden) .giving-panel{border:var(--giving-panel-border-line);border-radius:var(--giving-panel-radius);background:var(--giving-panel-bg-2)}:is(.theme-paper,.theme-garden) .giving-panel :is(input,textarea){border-radius:var(--giving-field-radius);border-color:var(--giving-panel-border);background:var(--giving-panel-bg)}:is(.theme-paper,.theme-garden) .gift-quantity-choice select{border-radius:var(--giving-field-radius);border-color:var(--quantity-select-border);background:var(--quantity-select-bg)}.theme-garden .giving-steps{padding-inline:20px}:is(.theme-paper,.theme-garden) .giving-steps{border-block:var(--giving-steps-rule);border-radius:var(--giving-steps-radius);background:var(--giving-steps-bg)}:is(.theme-paper,.theme-garden) .detail-status>span{font-family:var(--detail-status-font);font-style:normal}.theme-garden .status-summary{padding:22px}:is(.theme-paper,.theme-garden) .status-summary{background:var(--status-summary-bg);border-block:var(--status-summary-rule);border-radius:var(--status-summary-radius)}.setup-form .theme-choices{gap:20px}.setup-form .theme-option{display:block;padding:0 0 20px;overflow:hidden;border:2px solid var(--color-line);border-radius:var(--radius-12)}.setup-form .theme-option.selected{padding:0 0 20px;border-color:var(--color-link);box-shadow:0 0 0 2px var(--color-page),0 0 0 4px var(--color-link)}.setup-form .theme-option:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:5px}.theme-preview{display:block;padding:18px;background:var(--color-page);border-bottom:1px solid var(--color-line);font-family:var(--font-display);color:var(--color-text)}.theme-option .theme-preview span{color:inherit}.theme-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--color-line);font-size:1rem}.theme-preview-header>span{font:.5rem var(--font-body)}.theme-preview-welcome{display:grid;grid-template-columns:1.05fr .8fr;gap:16px;align-items:center;margin-block:18px}.theme-preview-welcome>span:first-child{font-size:clamp(1.05rem,1.7vw,1.5rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}.theme-preview-welcome i{display:block;width:52%;height:9px;background:var(--color-accent);margin-top:12px}.theme-preview-art{display:grid;place-items:center;height:90px;background:var(--color-surface);overflow:hidden}.theme-preview-art img{height:90px;width:100%;object-fit:contain}.theme-preview-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme-preview-gifts i{height:28px;background:var(--color-surface);border-bottom:1px solid var(--color-line)}.theme-option.theme-garden .theme-preview{color:var(--color-page)}.theme-option:is(.theme-paper,.theme-garden) .theme-preview{background:var(--theme-preview-bg)}.theme-option.theme-garden .theme-preview-header{border-color:var(--theme-preview-header-border)}.theme-option:is(.theme-paper,.theme-garden) .theme-preview-header{font-weight:var(--theme-preview-header-weight)}.theme-option:is(.theme-paper,.theme-garden) .theme-preview-welcome>span:first-child{font-weight:var(--theme-preview-title-weight)}.theme-option:is(.theme-paper,.theme-garden) .theme-preview-welcome i{background:var(--theme-preview-mark-bg);border-radius:var(--theme-preview-mark-radius)}.theme-option.theme-garden .theme-preview-art{color:var(--theme-preview-art-text)}.theme-option:is(.theme-paper,.theme-garden) .theme-preview-art{border-radius:var(--theme-preview-art-radius)}.theme-option.theme-garden .theme-preview-art img{object-fit:contain}.theme-option.theme-garden .theme-preview-gifts{grid-template-columns:1fr 1fr}.theme-option.theme-garden .theme-preview-gifts i{height:20px}.theme-option:is(.theme-paper,.theme-garden) .theme-preview-gifts i{border-radius:var(--theme-preview-gift-radius)}.theme-option.theme-garden .theme-preview-gifts i:last-child{display:none}.theme-option .theme-option-title{display:flex;align-items:center;gap:10px;padding:18px 18px 0}.theme-option-title>span:nth-child(2){flex:1}.theme-option .theme-option-title strong{font-family:var(--font-display);font-weight:500}.theme-option:is(.theme-paper,.theme-garden) .theme-option-title strong{font-weight:var(--theme-option-title-weight)}.theme-character{display:block;font:.75rem/1.5 var(--font-body);margin-top:4px;color:var(--color-text-muted)}.theme-option .theme-selected{font:650 .72rem var(--font-body);color:var(--color-link)}.theme-option>small{padding:12px 18px 0}.theme-scope-note{margin:-8px 0 30px}.style-preview{padding:28px;border-radius:0}.style-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--color-line)}.style-preview-heading strong{font:500 1.4rem var(--font-display)}.style-preview-heading>span{font:.75rem var(--font-body)}.style-preview .style-preview-welcome h4{font-family:var(--font-display)}.style-preview:is(.theme-paper,.theme-garden) h4{font-weight:var(--style-preview-h4-weight)}.style-preview-welcome:not(:has(.couple-portrait)){grid-template-columns:1fr}.style-preview-gift h4{font-family:var(--font-display)}.style-preview.theme-garden{padding:0;overflow:hidden}.style-preview:is(.theme-paper,.theme-garden){border-radius:var(--style-preview-radius)}.style-preview.theme-garden .style-preview-heading{padding:20px 24px;margin:0;color:var(--color-page)}.style-preview:is(.theme-paper,.theme-garden) .style-preview-heading{background:var(--style-preview-band-bg);border-bottom:var(--style-preview-heading-rule)}.style-preview:is(.theme-paper,.theme-garden) .style-preview-heading strong{font-weight:var(--style-preview-title-weight)}.style-preview.theme-garden .style-preview-welcome{padding:24px;color:var(--color-page)}.style-preview:is(.theme-paper,.theme-garden) .style-preview-welcome{background:var(--style-preview-band-bg)}.style-preview.theme-garden .style-preview-welcome p{color:var(--style-preview-welcome-text);font-family:var(--font-body)}.style-preview:is(.theme-paper,.theme-garden) .style-preview-welcome>div>span{font-family:var(--style-preview-names-font);font-style:var(--style-preview-names-style)}.style-preview.theme-garden .style-preview-welcome .portrait-caption{color:var(--portrait-caption-text-style)}.style-preview.theme-garden .style-preview-gift{margin:0;padding:24px}.style-preview:is(.theme-paper,.theme-garden) .style-preview-gift{border-top:var(--style-preview-gift-rule)}@media(max-width:1000px){.story-home .hero-section{gap:32px;padding-inline:32px}.theme-garden .story-home .hero-section{padding-inline:32px}.story-home .hero-copy h1{font-size:3.3rem}.theme-garden .story-home .hero-copy h1{font-size:3.5rem}.story-home .hero-columns{gap:32px}.story-home .home-note{width:calc(100% - 64px)}.theme-garden .gift-card{grid-template-columns:105px minmax(0,1fr);gap:12px}}@media(max-width:767px){:is(.theme-paper,.theme-garden) .site-header{height:auto;min-height:90px;padding:18px 20px 0}.story-home .hero-section,.theme-garden .story-home .hero-section{padding:20px}.story-home .hero-copy h1,.theme-garden .story-home .hero-copy h1{font-size:clamp(2.65rem,9vw,3.8rem)}.story-home .hero-copy>.overline{margin-bottom:16px}.story-home .hero-copy p{font-size:1rem}.story-home .hero-columns{grid-template-columns:1fr;gap:26px}.hero-visual,.theme-garden .hero-visual,.story-home .hero-visual .scene-frame{max-height:270px}.hero-visual>.couple-portrait img{max-height:248px}.theme-paper .all-gifts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.theme-garden .all-gifts-grid{grid-template-columns:1fr}:is(.theme-paper,.theme-garden) .all-gifts-grid{overflow:visible}.theme-garden .gift-card{grid-template-columns:120px minmax(0,1fr);gap:14px}.theme-garden .gift-card .gift-card-image{min-height:160px}.story-home .home-note{width:calc(100% - 40px);padding-block:28px}.guest-shell .site-footer{padding:24px 20px}.theme-garden .detail-info .confirmed-progress{padding:20px}.theme-garden .detail-info .confirmed-amount strong{font-size:2.5rem}}@media(max-width:500px){.theme-paper .all-gifts-grid{grid-template-columns:1fr}.theme-paper .gift-card-image{height:220px}.theme-garden .gift-card{grid-template-columns:100px minmax(0,1fr);gap:12px}.theme-garden .gift-card .gift-card-title{font-size:1.05rem}.theme-garden .gift-card .gift-card-meta{font-size:.75rem}.theme-garden .gift-card .gift-card-image{min-height:150px}.theme-preview-welcome>span:first-child{font-size:1.25rem}.style-preview-heading{align-items:start;flex-direction:column;gap:5px}.style-preview,.style-preview.theme-garden .style-preview-welcome,.style-preview.theme-garden .style-preview-gift{padding:20px}.story-home .home-note{gap:14px}}@media(prefers-reduced-motion:reduce){.theme-option,.theme-preview,.hero-visual{transition:none;animation:none}}.gift-visual{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--gift-tint);color:var(--gift-ink)}.gift-visual>svg{width:64px;height:64px;flex-shrink:0}.theme-garden .gift-visual>svg{width:44px;height:44px}@media(max-width:480px){.theme-garden .gift-visual>svg{width:40px;height:40px}}.gift-visual-travel{--gift-tint: var(--gift-tint-travel);--gift-ink: var(--gift-ink-travel)}.gift-visual-stay{--gift-tint: var(--gift-tint-stay);--gift-ink: var(--gift-ink-stay)}.gift-visual-food{--gift-tint: var(--gift-tint-food);--gift-ink: var(--gift-ink-food)}.gift-visual-experiences{--gift-tint: var(--gift-tint-experiences);--gift-ink: var(--gift-ink-experiences)}.gift-visual-home{--gift-tint: var(--gift-tint-home);--gift-ink: var(--gift-ink-home)}.gift-visual-general{--gift-tint: var(--gift-tint-general);--gift-ink: var(--gift-ink-general)}.gift-postcard{position:relative;display:block;padding:24px 24px 100px;text-align:left}.gift-postcard:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid currentColor;opacity:.25;pointer-events:none}.gift-postcard-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-family:var(--font-display);font-size:1.6rem;line-height:1.2}.gift-postcard-stamp{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1.5px dashed currentColor;border-radius:50%}.gift-postcard-stamp>svg{width:32px;height:32px}.theme-garden .gift-postcard{padding:16px 14px 76px}.theme-garden .gift-postcard-name{font-size:1.1rem}.theme-garden .gift-postcard-stamp{width:44px;height:44px;right:14px;bottom:14px}.theme-garden .gift-postcard-stamp>svg{width:22px;height:22px}@media(max-width:480px){.theme-garden .gift-postcard-name{font-size:1rem}}.guest-shell .story-home .gift-sections{max-width:1280px;padding-inline:60px}.guest-shell .gift-list-page .gift-list-page-heading{max-width:1280px;width:100%;margin:0 auto;padding:48px 60px 0}.gift-list-page .gift-list-page-heading h1{font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.06;margin:0 0 10px}.gift-list-page .gift-list-page-heading h1:focus{outline:none}.gift-list-page .gift-list-page-heading h1:focus-visible{--focus-ring-color: var(--color-accent);--focus-ring-width: 2px;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:4px}.gift-list-page .gift-list-page-heading p{margin:0;color:var(--color-text-muted)}:is(.theme-paper,.theme-garden) .story-home .gift-sections{border-top:var(--gift-sections-rule)}:is(.theme-paper,.theme-garden) .gift-sections-heading h2{font-weight:var(--gift-sections-heading-h2-weight);letter-spacing:var(--gift-sections-heading-h2-tracking)}:is(.theme-paper,.theme-garden) .gift-chapter-heading h3{font-weight:var(--gift-chapter-heading-h3-weight);letter-spacing:var(--gift-chapter-heading-h3-tracking)}.theme-garden .gift-chapter{padding:24px;margin-top:32px}:is(.theme-paper,.theme-garden) .gift-chapter{border-top:var(--gift-chapter-rule);background:var(--gift-chapter-bg);border-radius:var(--gift-chapter-radius)}:is(.theme-paper,.theme-garden) .gift-chapter .gift-card{background:var(--gift-chapter-card-bg)}@media(max-width:1000px){.guest-shell .story-home .gift-sections,.guest-shell .gift-list-page .gift-list-page-heading{padding-inline:32px}}@media(max-width:760px){.guest-shell .story-home .gift-sections{padding:32px 20px 28px}.guest-shell .gift-list-page .gift-list-page-heading{padding:32px 20px 0}.theme-garden .gift-chapter{padding:18px;margin-top:24px}:is(.theme-paper,.theme-garden) .gift-chapter{border-radius:var(--gift-chapter-radius-narrow)}}.guest-shell .story-home .gift-bar{margin-inline:-60px;padding-inline:60px}.theme-paper .gift-bar-chapters button{padding-inline:4px;margin-right:14px}:is(.theme-paper,.theme-garden) .gift-bar-chapters button{border-radius:var(--chapter-button-radius);border-width:var(--chapter-button-border-width)}.theme-paper .gift-bar-chapters button[aria-current=true]{color:var(--color-text);border-bottom-color:var(--color-accent)}.theme-paper .gift-bar-chapters button[aria-current=true] span{color:var(--color-text-muted);opacity:1}:is(.theme-paper,.theme-garden) .gift-bar{background:var(--color-page)}.theme-garden .gift-bar-chapters button[aria-current=true]{border-color:var(--color-accent-strong);color:var(--color-page)}:is(.theme-paper,.theme-garden) .gift-bar-chapters button[aria-current=true]{background:var(--gift-bar-chapters-button-current-bg)}@media(max-width:1000px){.guest-shell .story-home .gift-bar{margin-inline:-32px;padding-inline:32px}}@media(max-width:760px){.guest-shell .story-home .gift-bar{margin-inline:-20px;padding-inline:20px}}.theme-garden .gift-filters-toggle{border-color:var(--color-accent-strong)}:is(.theme-paper,.theme-garden) .gift-filter-budget input{border-radius:var(--gift-filter-budget-input-radius);background:var(--gift-filter-budget-bg)}:is(.theme-paper,.theme-garden) .gift-filter-price select{border-radius:var(--gift-filter-price-select-radius);background:var(--gift-filter-budget-bg)}.theme-paper .gift-filters-toggle{border-radius:0}.guest-shell .story-home .places-section{max-width:1280px;padding-inline:60px;border-top:1px solid var(--color-line)}.guest-shell .story-home .places-section.places-section-full{max-width:none;padding:0}:is(.theme-paper,.theme-garden) .places-section-heading h2{font-weight:var(--places-section-h2-weight);letter-spacing:var(--places-section-h2-tracking)}:is(.theme-paper,.theme-garden) .places-section>h2{font-weight:var(--places-section-h2-weight);letter-spacing:var(--places-section-h2-tracking)}@media(max-width:1000px){.guest-shell .story-home .places-section{padding-inline:32px}}@media(max-width:760px){.guest-shell .story-home .places-section{padding:32px 20px 4px}}.story-home .hero-copy .featured-line p{font-size:1rem;line-height:1.5}.story-home .hero-copy .featured-line .overline{margin-bottom:0}.theme-paper .story-home .hero-copy .featured-line p{font-family:var(--font-display)}.theme-garden .story-home .hero-copy .featured-line .overline{text-transform:uppercase;font-size:.7rem;letter-spacing:.16em;font-weight:750}.story-home .hero-copy .featured-line+.hero-actions{margin-top:22px}.hero-visual.hero-welcome-picture{overflow:visible;max-height:none;min-width:0}:is(.theme-paper,.theme-garden) .hero-visual.hero-welcome-picture{background:transparent;border-radius:0}:is(.theme-paper,.theme-garden) .welcome-postcard{border:var(--welcome-postcard-border-line);background:var(--welcome-postcard-bg);border-radius:var(--welcome-postcard-radius);color:var(--welcome-postcard-text)}.theme-garden .welcome-postcard{outline:0}:is(.theme-paper,.theme-garden) .welcome-postcard-title{font-family:var(--welcome-postcard-title-font);font-weight:var(--welcome-postcard-title-weight)}:is(.theme-paper,.theme-garden) .welcome-postcard .gift-visual{border-radius:var(--welcome-postcard-picture-radius)}.theme-garden .welcome-postcard:focus-visible{--focus-ring-color:var(--welcome-postcard-focus-outline);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:5px}:is(.theme-paper,.theme-garden) .journey-postcard{background:var(--journey-postcard-bg-style);color:var(--journey-postcard-text);border-color:var(--journey-postcard-border-style);border-radius:var(--journey-postcard-radius)}:is(.theme-paper,.theme-garden) .journey-postcard-token small{background:var(--journey-postcard-token-bg-style)}:is(.theme-paper,.theme-garden) .photo-controls{background:var(--photo-controls-bg);color:var(--photo-controls-text)}.theme-garden .hero-welcome-picture .photo-slide figcaption{color:var(--photo-slide-text)}.theme-garden .hero-welcome-picture .couple-portrait .portrait-caption{color:var(--photo-slide-text)}
