/* Owner media, text-first quotes, and the website guide. */
.optional{font-weight:400;color:var(--muted)}
.inline-help{background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--ink);font:inherit;min-height:44px}
.quote-field textarea{display:block;width:100%;resize:vertical;min-height:90px;padding:12px 14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;font:inherit;font-weight:400;line-height:1.7;margin-top:8px}
.quote-photo-tip{display:flex;gap:13px;align-items:center;background:var(--accent-soft);border-radius:12px;padding:15px;margin-top:18px}
.quote-photo-tip>span{font-size:28px;color:var(--accent)}
.quote-photo-tip p{font-size:11px;line-height:1.7}
.quote-photo-tip strong{color:var(--ink)}
.quote-recipient{display:flex;gap:12px;align-items:center;margin:5px 0 18px}
.quote-recipient img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 20%}
.quote-recipient strong{display:block;font-size:13px}
.quote-recipient span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.message-preview{border:1px solid var(--line);border-radius:16px 16px 16px 3px;background:var(--paper);padding:19px 21px}
.message-preview p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;color:var(--ink);margin-top:10px}
.quote-next-note>p{font-size:12px;margin-top:5px}
.quote-alternative{display:inline-block;font-size:11px;text-decoration:underline;text-underline-offset:4px;margin-top:13px;min-height:36px}
.quote-dialog #quote-status{font-size:11px;line-height:1.8;margin-top:16px}
.quote-copy-fallback{max-width:100%;font-size:13px}
.films-section{padding:15px 0 80px;background:var(--paper)}
.film-heading{margin-bottom:27px}
.film-heading h2{font-size:38px}
.film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.film-card{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/4.7;background:#122a3a;border:1px solid #183f4919;border-radius:18px;color:#fff;padding:0;text-align:left;box-shadow:0 10px 25px #1732470d}
.film-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00111c22 0%,transparent 30%,#081c2859 57%,#071923ed 100%);z-index:0;pointer-events:none}
.film-card>img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.film-card:hover>img{transform:scale(1.04)}
.film-duration{position:absolute;top:14px;right:14px;background:#0b223bcc;border:1px solid #ffffff35;border-radius:20px;padding:4px 9px;font-size:10px;z-index:1}
.film-play{position:absolute;left:17px;top:17px;display:grid;place-items:center;padding-left:2px;width:37px;height:37px;border:1px solid #ffffff99;border-radius:50%;background:#ffffff22;backdrop-filter:blur(8px);font-size:13px;z-index:1}
.film-caption{position:absolute;left:19px;right:16px;bottom:19px;z-index:1;display:flex;flex-direction:column}
.film-caption small{font-size:8px;font-weight:600;letter-spacing:.12em;opacity:.8}
.film-caption strong{font-size:18px;line-height:1.35;letter-spacing:-.025em;margin:8px 0 13px}
.film-caption>span{font-size:10px;opacity:.85}
.film-note{font-size:10px;color:var(--muted);text-align:center;margin-top:20px}
.film-dialog{width:min(580px,calc(100% - 24px));padding:22px 26px;background:#102234;color:white;border-color:#fff3;max-height:calc(100dvh - 28px)}
.film-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}
.film-dialog-top h2{font-size:22px;line-height:1.2}
.film-dialog-top .eyebrow{font-size:8px;color:#b5cde0;margin-bottom:6px}
.film-dialog-top .icon-button{flex-shrink:0;color:white}
.film-dialog video{display:block;width:100%;height:65dvh;max-height:660px;background:#091725;border-radius:12px;object-fit:contain}
.film-dialog>p{font-size:11px;line-height:1.65;color:#c8d9e4;margin-top:13px}
.google-section{padding:60px 0;background:var(--surface)}
.google-card{display:grid;grid-template-columns:1.6fr 1fr;gap:55px;padding:40px 44px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(115deg,#eaf4fb 0%,#f5fbf9 58%,#ecf5f1 100%)}
.google-copy h2{font-size:34px;max-width:520px;line-height:1.2}
.google-copy p{font-size:13px;line-height:1.85;max-width:470px;margin-top:14px}
.google-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:23px}
.google-actions .button{font-size:11px;min-height:46px;padding:13px 17px;gap:15px}
.google-actions .text-link{font-size:11px;min-height:44px;display:inline-flex;align-items:center}
.google-business{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:27px 0 27px 33px;border-left:1px solid #1c53751c}
.google-wordmark{font-family:Arial,sans-serif;font-size:29px;font-weight:600;letter-spacing:-1.2px;color:#4285f4;margin-bottom:17px}
.google-business>strong{font-size:14px}
.google-business>p{font-size:12px;line-height:1.8;margin:9px 0 18px}
.profile-label{display:inline-flex;background:#fff9;border:1px solid var(--line);padding:6px 11px;border-radius:20px;color:var(--muted);font-size:10px}
.story-photo img{object-position:center 27%}
.chat-launcher{position:fixed;right:25px;bottom:26px;z-index:40;display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--surface);border:1px solid #fff5;border-radius:50px;padding:13px 20px;min-height:54px;box-shadow:0 9px 30px #17364d30;transition:transform .2s,box-shadow .2s;font-size:12px;font-weight:700}
.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 32px #17364d40}
.chat-launcher svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chat-launcher.is-open{background:var(--accent);color:white}
.chat-panel{position:fixed;right:25px;bottom:92px;z-index:41;width:385px;max-width:calc(100% - 24px);max-height:calc(100dvh - 115px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 65px #12314930;overflow:auto;overscroll-behavior:contain}
.chat-panel[hidden]{display:none}
.chat-header{display:flex;align-items:center;gap:10px;padding:18px 15px;background:linear-gradient(125deg,#e8f4fb,#e7f3ed);border-bottom:1px solid var(--line);flex-shrink:0}
.chat-header>img{width:38px;height:38px;object-fit:contain;border-radius:9px}
.chat-header>div{flex:1}
.chat-header h2{font-size:14px;letter-spacing:-.015em;line-height:1.35}
.chat-header p{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.5}
.chat-header .icon-button{flex-shrink:0;width:35px;height:40px;font-size:26px}
.chat-messages{height:225px;min-height:100px;overflow-y:auto;overscroll-behavior:contain;padding:17px 16px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth;flex-shrink:1}
.chat-message{max-width:96%;align-self:flex-start;flex-shrink:0}
.chat-message-label{display:block;font-size:9px;color:var(--muted);margin:0 0 5px 2px}
.chat-message p{padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:13px 13px 13px 3px;color:var(--ink);font-size:12px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-message.user{align-self:flex-end;max-width:90%}
.chat-message.user p{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);border-radius:13px 13px 3px 13px}
.chat-message.user .chat-message-label{text-align:right}
.chat-message-action{display:inline-flex;align-items:center;font-size:11px;line-height:1.5;min-height:40px;background:none;color:var(--accent);font-weight:700;margin-top:5px;padding:5px 2px;text-decoration:underline;text-underline-offset:3px}
.chat-options{display:flex;gap:6px;padding:5px 16px 11px;flex-shrink:0;flex-wrap:wrap}
.chat-options button{font-size:10px;min-height:36px;padding:7px 12px;background:var(--surface);border:1px solid var(--line);border-radius:30px;font-weight:600;color:var(--ink)}
.chat-options button:hover{border-color:var(--accent);background:var(--accent-soft)}
.chat-form{display:flex;align-items:center;gap:8px;padding:0 15px 14px;flex-shrink:0}
.chat-form input{min-width:0;flex:1;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:13px;padding:11px 12px;min-height:44px}
.chat-form>button{height:44px;width:42px;border-radius:10px;background:var(--ink);color:white;font-size:22px;flex-shrink:0}
.chat-handoff{padding:14px 16px 12px;border-top:1px solid var(--line);background:var(--paper);flex-shrink:0}
.chat-handoff>.button{display:flex;width:100%;min-height:44px;padding:12px 16px;font-size:12px;justify-content:space-between}
.chat-handoff>p{font-size:9px;line-height:1.65;text-align:center;margin-top:8px}
.chat-copy{display:block;width:100%;min-height:32px;background:transparent;font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.chat-handoff .chat-status:empty{display:none}
.chat-handoff .chat-status{font-size:10px;color:var(--ink)}
.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}
@media(max-width:850px){
  .film-grid{gap:12px}.film-caption{left:13px;right:12px;bottom:15px}.film-caption strong{font-size:15px}.film-caption small{font-size:7px}.film-play{left:12px;top:12px;width:30px;height:30px;font-size:11px}.film-duration{top:13px;right:10px;font-size:9px}
  .google-card{padding:30px;gap:30px;grid-template-columns:1.4fr 1fr}.google-copy h2{font-size:28px}.google-business{padding-left:25px}.google-copy p{font-size:12px}.google-actions{gap:5px}
}
@media(max-width:620px){
  .quote-field textarea{font-size:16px}.quote-photo-tip p{font-size:11px}.quote-recipient strong{font-size:12px}.quote-recipient span{font-size:9px}.message-preview{padding:16px}.message-preview p{font-size:12px}.quote-dialog .quote-footer{align-items:center}.quote-dialog .quote-footer .button{font-size:11px;padding:12px 14px}.quote-dialog .quote-footer .back-button{font-size:10px}.quote-next-note>p{font-size:12px}
  .films-section{padding:5px 0 50px}.film-heading h2{font-size:32px}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.film-card{aspect-ratio:3/4.6;border-radius:14px}.film-caption strong{font-size:15px}.film-caption>span{font-size:9px}.film-note{font-size:9px;line-height:1.7;padding:0 15px}.film-dialog{padding:16px}.film-dialog-top h2{font-size:20px}.film-dialog video{height:60dvh}.film-dialog>p{font-size:10px}
  .google-section{padding:35px 0 45px}.google-card{grid-template-columns:1fr;gap:25px;padding:27px 23px}.google-copy h2{font-size:29px}.google-copy p{font-size:13px}.google-actions{align-items:stretch;flex-direction:column;gap:8px}.google-actions .button{justify-content:space-between;font-size:11px}.google-business{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}.google-wordmark{font-size:24px;margin-bottom:13px}.google-business>p{font-size:11px;margin-bottom:12px}
  .chat-launcher{right:15px;bottom:calc(81px + env(safe-area-inset-bottom));min-height:47px;padding:11px 16px;font-size:11px}.chat-launcher svg{width:20px;height:20px}.chat-panel{right:12px;bottom:calc(137px + env(safe-area-inset-bottom));width:385px;max-height:calc(100dvh - 165px - env(safe-area-inset-bottom));border-radius:17px}.chat-header{padding:13px}.chat-header h2{font-size:13px}.chat-header p{font-size:9px}.chat-messages{height:195px;padding:13px 14px;min-height:80px}.chat-message p{font-size:12px}.chat-form input{font-size:16px}.chat-handoff{padding:11px 14px 8px}.chat-handoff>p{font-size:9px}.chat-options{padding-inline:14px}.chat-options button{font-size:10px;padding:7px 10px}
}
@media(prefers-reduced-motion:reduce){.film-card>img,.chat-launcher{transition:none}.chat-messages{scroll-behavior:auto}.film-card:hover>img{transform:none}}

.quote-photo-previews{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 17px}.quote-photo-previews img{width:48px;height:48px;object-fit:cover;border:1px solid var(--line);border-radius:8px}.quote-photo-previews>span{font-size:10px;color:var(--muted);width:100%}
