:root{--guest-coral:#ef896b;--guest-cream:#fffaf2;--guest-sage:#dce9dd}
.guest-intro{background:var(--ink);color:#fff;padding:42px 0}.guest-intro-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:68px;align-items:center}.guest-intro h1{font-size:clamp(2.6rem,4.8vw,4.7rem);line-height:1.08;font-weight:500;letter-spacing:-.05em}.guest-intro .eyebrow{color:#afd6d3;margin-bottom:17px}.guest-intro p:not(.eyebrow){max-width:540px;margin-top:20px;color:#d4e5e5;font-size:1.08rem}.guest-intro img{width:100%;height:255px;object-fit:cover;border-radius:8px;object-position:50% 52%}.guest-content{padding:36px 0 80px}.guest-tabs{display:flex;gap:6px;padding:6px;background:var(--soft);border:1px solid var(--line);border-radius:8px;width:max-content;max-width:100%;margin-bottom:36px}.guest-tabs button{min-height:46px;padding:10px 24px;color:var(--muted);border:0;border-radius:4px;background:transparent;font-weight:600}.guest-tabs button[aria-selected=true]{background:var(--ink);color:white}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:26px}.map-heading h2,.memories-heading h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em}.map-heading p{color:var(--muted);margin-top:12px;max-width:650px}.map-totals{display:flex;gap:28px;flex-shrink:0;font-size:.875rem;color:var(--muted);line-height:1.5}.map-totals strong{display:block;font-size:1.8rem;line-height:1.3;color:var(--ink);font-family:Manrope,sans-serif;font-weight:600}.guest-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px}.map-card{border:1px solid var(--line);background:#edf4f4;border-radius:8px;overflow:hidden;min-width:0}.map-toolbar{padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#f7fbfa;border-bottom:1px solid #d5e3df}.view-controls{display:flex;gap:5px}.view-controls button{min-height:42px;padding:8px 13px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--muted);font-size:.875rem}.view-controls button[aria-pressed=true]{background:white;border-color:#c2d7d2;color:var(--ink);font-weight:600}.map-legend{font-size:.875rem;color:var(--muted);display:flex;align-items:center;gap:8px}.map-legend i{display:inline-block;width:10px;height:10px;background:var(--guest-coral);border-radius:50%;border:1px solid #945c46}.map-canvas{height:430px;position:relative;overflow:hidden}.map-canvas svg{width:100%;height:100%;display:block}.map-country{fill:#dce9dd;stroke:#fff;stroke-width:1}.map-state{fill:#dce9dd;stroke:#f9fcf9;stroke-width:1.25}.map-land-visited{fill:#b4d3c4}.map-pin{position:absolute;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 1px 7px #527d7d66;border-radius:50%;background:var(--guest-coral);min-width:34px;height:34px;color:#092f38;font-size:.875rem;font-weight:700;display:grid;place-items:center;padding:0 4px}.map-pin:hover,.map-pin.selected{background:#082e38;color:#fff;z-index:3;box-shadow:0 0 0 5px #fff9}.map-pin.single:after{content:'';width:8px;height:8px;background:var(--ink);border-radius:50%}.map-pin.single:hover:after,.map-pin.single.selected:after{background:#fff}.map-caption{padding:12px 20px;font-size:.875rem;color:#51676c;border-top:1px solid #d1dfdd;background:#f7fbfa}.map-sidebar{background:var(--guest-cream);border:1px solid #e7ddce;border-radius:8px;padding:24px;min-width:0}.map-sidebar .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:15px}.map-sidebar h3{font-size:1.35rem}.map-sidebar p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin-top:12px}.map-sidebar .detail-count{display:block;color:var(--ink);font-weight:600;font-size:1rem;margin-top:17px}.map-sidebar .detail-meta{font-size:.75rem!important;margin-top:7px!important}#location-list{display:flex;flex-direction:column;margin-top:24px;gap:7px}#location-list button{background:white;text-align:left;color:var(--ink);border:1px solid #e4dccd;border-radius:4px;padding:10px 12px;min-height:48px;line-height:1.4;font-size:.875rem}#location-list button span{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}#location-list button.selected{border-color:var(--ink);box-shadow:inset 3px 0 var(--ink)}.guest-status{font-size:1rem;margin-top:16px;line-height:1.6}.guest-status.error{color:#934735}.guest-status.success{padding:18px;border:1px solid #b1d1c3;background:#eef8f1;border-radius:6px}.guest-status:empty{display:none}.history-note{font-size:.875rem;color:var(--muted);margin-top:18px}.memories-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:52px;margin-bottom:22px}.guest-memories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.memory-empty{grid-column:1/-1;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:28px}.memory-empty p{font-size:1.08rem;font-weight:500}.memory-empty span{display:block;font-size:.875rem;color:var(--muted);margin-top:8px}.memory-card{padding:26px;border:1px solid var(--line);border-radius:6px;background:white;overflow-wrap:anywhere}.memory-card blockquote{margin:0 0 24px;font-size:1.08rem;line-height:1.6}.memory-card p{font-weight:600;font-size:.95rem}.memory-card span{display:block;color:var(--muted);font-size:.875rem;margin-top:5px}.sign-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:90px;align-items:start}.sign-layout h2{font-size:clamp(2rem,3.5vw,3rem)}.sign-description{margin-top:20px;color:var(--muted);font-size:1.05rem}#guest-form{margin-top:30px}.form-row{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.field{margin-bottom:23px;min-width:0}.field>label{display:block;font-size:.95rem;font-weight:600;margin-bottom:9px;line-height:1.5}.field label span{font-weight:400;color:var(--muted)}.field input,.field textarea{width:100%;min-width:0;min-height:50px;border:1px solid #b3c5c7;border-radius:5px;padding:12px 14px;color:var(--ink);font:inherit;background:white}.field textarea{resize:vertical;display:block;min-height:135px}.field input::placeholder,.field textarea::placeholder{color:#66777b;opacity:1}.field input:focus,.field textarea:focus{outline:2px solid #096777;outline-offset:2px}.field-help{font-size:.875rem;color:var(--muted);margin-top:8px}.place-field{position:relative}.place-options{position:absolute;top:90px;left:0;right:0;z-index:5;background:white;border:1px solid #91afb1;box-shadow:0 8px 20px #092f3820;border-radius:5px;max-height:300px;overflow-y:auto}.place-options button{display:block;width:100%;min-height:46px;padding:11px 14px;border:0;border-bottom:1px solid var(--line);text-align:left;background:white;color:var(--ink);font-size:.875rem;line-height:1.5}.place-options button:last-child{border-bottom:0}.place-options button:hover,.place-options button:focus{background:var(--light)}.place-options p{padding:15px;font-size:.875rem;color:var(--muted)}.sharing{border:1px solid var(--line);border-radius:6px;padding:19px 20px;margin:8px 0 20px;min-width:0;background:var(--soft)}.sharing legend{font-size:1rem;font-weight:600;padding:0 7px}.sharing label{display:flex;gap:12px;align-items:flex-start;margin:12px 0;font-size:.95rem;cursor:pointer}.sharing input{margin:4px 0 0;flex-shrink:0;width:20px;height:20px;accent-color:var(--ink)}.sharing small{display:block;font-size:.875rem;color:var(--muted);margin-top:4px}.form-note{font-size:.875rem;color:var(--muted);margin-bottom:22px}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.65;cursor:wait}.sign-aside{border-radius:7px;overflow:hidden;background:var(--guest-cream);border:1px solid #e7ddce}.sign-aside img{width:100%;height:300px;object-fit:cover}.sign-aside>div{padding:28px}.sign-aside p{margin-top:16px;color:var(--muted);font-size:.95rem}.sign-aside a{display:inline-block;margin-top:24px;font-weight:600;font-size:.95rem}.guestbook-welcome{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center;padding-top:0}.guestbook-welcome img{height:350px;width:100%;object-fit:cover;border-radius:6px}.guestbook-welcome p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:1.05rem}.guestbook-welcome .button{margin-top:25px}.manage-main{padding:64px 0 85px;max-width:940px}.manage-main h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.2;letter-spacing:-.04em}.manage-main>p:not(.eyebrow){margin-top:20px;color:var(--muted)}.host-signin{margin-top:32px;padding:28px;background:var(--light);border-radius:6px}.host-signin .button{margin-top:20px}.review-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.review-filters button{border:1px solid var(--line);background:white;border-radius:4px;padding:10px 16px;min-height:44px;color:var(--ink);font-size:.875rem}.review-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.review-entry{padding:26px;border:1px solid var(--line);border-radius:6px;margin-top:22px;background:var(--soft);overflow-wrap:anywhere}.review-entry h2{font-size:1.4rem;letter-spacing:-.02em}.review-entry .entry-meta{font-size:.875rem;color:var(--muted);margin-top:8px}.review-entry blockquote{margin:18px 0;white-space:pre-wrap}.entry-choices{font-size:.875rem;color:var(--muted);line-height:1.6}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.review-actions button{font-size:.875rem;min-height:44px;padding:10px 17px}.manage-help{font-size:.875rem;margin-bottom:18px}
@media(max-width:1200px){.site-header nav{gap:17px}.site-header{gap:20px}.sign-layout{gap:45px}.guest-intro-layout{gap:38px}.map-legend{display:none}}
@media(max-width:1100px) and (min-width:851px){.menu-button{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:94px;left:0;right:0;padding:25px 32px;background:#fff;box-shadow:0 12px 20px #00203014;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.site-header nav.is-open{display:flex}.site-header nav a{padding:13px 0}}
@media(max-width:850px){.guest-intro{padding:35px 0}.guest-intro-layout{grid-template-columns:1.2fr .8fr;gap:30px}.guest-intro img{height:230px}.guest-map-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.map-sidebar{padding:20px}.map-canvas{height:360px}.map-heading{align-items:flex-start}.map-totals{gap:20px}.guest-memories{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-layout{grid-template-columns:1fr;gap:36px}.sign-aside{display:none}.sign-layout>div{max-width:740px}.guestbook-welcome{gap:38px}.guestbook-welcome img{height:350px}.map-toolbar{padding:14px}.form-row{grid-template-columns:1.2fr 1fr}}
@media(max-width:680px){.guest-intro-layout{grid-template-columns:1fr;gap:24px}.guest-intro img{height:155px}.guest-intro h1{font-size:2.6rem}.guest-intro p:not(.eyebrow){font-size:1rem;margin-top:17px}.guest-content{padding:24px 0 52px}.guest-tabs{width:100%;margin-bottom:27px}.guest-tabs button{flex:1;padding:10px 12px;font-size:.95rem}.map-heading{display:block;margin-bottom:22px}.map-totals{margin-top:18px;gap:30px}.map-totals strong{display:inline;font-size:1.3rem;margin-right:5px}.guest-map-layout{grid-template-columns:1fr}.map-canvas{height:330px}.map-sidebar{padding:22px}.map-caption{font-size:.75rem;padding:12px 16px}.map-sidebar .eyebrow{margin-bottom:10px}.map-sidebar h3{font-size:1.4rem}#location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}#location-list button{padding:10px;font-size:.875rem}.memories-heading{margin-top:36px;display:block}.memories-heading .button{margin-top:17px;min-height:44px}.guest-memories{grid-template-columns:1fr}.sign-description{font-size:1rem}.form-row{grid-template-columns:1fr;gap:0}.sharing{padding:15px 13px}.sharing label{font-size:.95rem}.guestbook-welcome{grid-template-columns:1fr;gap:30px}.guestbook-welcome img{height:280px}.guestbook-welcome{padding-top:0}.place-options{top:96px}.manage-main{padding:45px 0 60px}.host-signin{padding:22px}.review-entry{padding:22px}.review-filters button{padding:9px 12px}}
@media(max-width:360px){#location-list{grid-template-columns:1fr}.map-canvas{height:295px}.guest-tabs button{padding:10px 8px}.map-toolbar{padding:12px}.view-controls button{padding:8px 9px}.guest-intro h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.map-pin{transition:none}}
.guest-intro-layout>div{min-width:0}.guest-intro h1{overflow-wrap:anywhere}.guest-tabs button{min-width:0;overflow-wrap:anywhere}.map-toolbar,.view-controls{flex-wrap:wrap}.place-options{top:100%}
.map-sidebar h3{overflow-wrap:anywhere}.map-totals{flex-wrap:wrap}
@media(max-width:680px){.guest-intro-layout{grid-template-columns:minmax(0,1fr)}.site-header{height:auto;min-height:78px;flex-wrap:wrap;padding-block:14px}.site-header nav{top:100%}.wordmark{max-width:100%;flex-shrink:1;overflow-wrap:anywhere}.wordmark span{overflow-wrap:anywhere}.menu-button{flex-shrink:0}.guest-tabs button{flex-basis:50%}}
