@import url('https://fonts.googleapis.com/css2?family=Italianno&display=swap');
.nav a.nav-guestbook { color: var(--gold) !important; font-family: var(--serif); font-style: italic; font-size: 16px; font-weight: 400; letter-spacing: .04em; text-transform: none; }
.signature-divider { height: 8px; background: var(--green); }
.home-world-media { position: relative; min-height: 760px; overflow: hidden; }
.home-world-media img { position: absolute; inset: 0; width: 100%; height: 50%; object-fit: cover; }
.home-world-media img + img { top: 50%; }
.studio-page #text-prompt,
.studio-page #gate-phone,
.studio-page #gate-dialcode,
.studio-page #unlock-code {
 font-family: 'Cormorant Garamond','Radley',Georgia,serif;
 font-style: italic;
 font-weight: 500;
 font-size: 22px;
 line-height: 1.45;
 color: var(--green);
 letter-spacing: 0;
}
.studio-page #text-prompt::placeholder,.studio-page #gate-phone::placeholder,.studio-page #unlock-code::placeholder { color: rgba(4,57,39,.57); opacity: 1; }
.studio-page #text-prompt { min-height: 190px; }
@media(max-width:760px) { .home-world-media { min-height: 380px; } .home-world-media img { width: 50%; height: 100%; } .home-world-media img + img { top: 0; left: 50%; } }

/* Keep every word and signature accessible, including long guestbook entries. */
.gb-body .review-content { max-height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #b89a68 transparent; }

/* Stable signature contact link on every page. */
a.floating-contact { display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; width: 190px !important; height: 76px !important; padding: 8px 12px !important; right: 20px !important; bottom: 20px !important; font-family: 'Italianno','Brush Script MT',cursive !important; font-size: 60px !important; font-weight: 400 !important; line-height: 1 !important; letter-spacing: 0 !important; white-space: nowrap; transform: rotate(-10deg); }
a.floating-contact:focus-visible { outline: 1px solid currentColor; border-radius: 14px; }
.home-world-media .home-world-photo { position: absolute; top: 0; left: 0; width: 100%; height: 50%; margin: 0; }
.home-world-media .home-world-photo + .home-world-photo { top: 50%; }
/* Quiet contact options, grouped in the centre below the form. */
.contact-channels { justify-content: center; align-items: center; gap: 12px; padding-top: 34px; padding-bottom: 8px; }
.contact-channels a.contact-channel { flex: 0 1 auto; min-width: 150px; padding: 15px 22px; gap: 5px; }
.contact-channel-icon svg { width: 17px; height: 17px; }
.contact-channel-label { font-size: 9px; letter-spacing: .1em; }
.contact-channel-sub { font-size: 12px; }
.studio-page .ds-actions { gap: 10px; }
.studio-page .ds-save { display: inline-flex; align-items: center; justify-content: center; font-size: 10px; padding: 12px 15px; }
.studio-page .ds-save[hidden], .studio-page .ds-share-photo[hidden] { display: none; }
.studio-page .ds-share-status { font-size: 12px; line-height: 1.6; color: var(--green); margin: 14px 0 0; }
@media(max-width:760px) {
 a.floating-contact { width: 160px !important; height: 62px !important; font-size: 48px !important; right: 12px !important; bottom: calc(24px + env(safe-area-inset-bottom,0px)) !important; padding: 6px 10px !important; }
 .home-world-media .home-world-photo { width: 50%; height: 100%; }
 .home-world-media .home-world-photo + .home-world-photo { top: 0; left: 50%; }
 .contact-channels { gap: 10px; padding-top: 30px; }
 .contact-channels a.contact-channel { flex: 0 1 auto; min-width: 0; padding: 12px 16px; }
 .contact-channel-sub { display: none; }
 .contact-channel-label { font-size: 9px; }
 .studio-page .ds-actions .button { flex: 1 1 auto; }
}

.photo-frame { position: relative; overflow: hidden; }
.photo-frame > img { position: absolute; display: block; max-width: none; min-width: 0; object-fit: cover; margin: 0; border: 0; border-radius: 0; }
.studio-page #result-img { pointer-events: auto; -webkit-touch-callout: default; user-select: auto; }
.studio-page #result-overlay { pointer-events: none; }

a.floating-contact { position: fixed !important; z-index: 82; color: var(--green,#043927); text-decoration: none; text-shadow: 0 2px 14px rgba(247,243,234,.98),0 0 4px #f7f3ea; }
.contact-channel-icon { font-size: 17px; }

/* Keep the seven public destinations readable at intermediate widths. */
@media(min-width:761px) and (max-width:1150px){.nav{gap:14px}.nav a{font-size:9px;letter-spacing:.1em}.nav a.nav-guestbook{font-size:14px}.header-inner{padding-inline:22px}.brand{max-width:145px}}
