/* Hallmark · pre-emit critique: P4 H5 E4 S4 R5 V4 */
:root{--reading-text:clamp(var(--small-text,16px),calc(var(--small-text,16px) + .2vw),calc(var(--small-text,16px) + 2px));--cursor-ink:#deaaa0}
body .v6-hero-bottom p,body .body-copy,body .process-list p,body .faq-item .answer,body .idea-intro>p:not(.eyebrow),body .process-intro p:not(.eyebrow){font-size:var(--reading-text);line-height:1.75}
body .eyebrow,body .footer-links,body .footer-bottom,body .breadcrumbs,body .v6-photo-meta,body .v6-location,body .v6-brand span{font-size:var(--small-text,16px);line-height:1.5}
body .v6-brand span{max-width:110px}
body .v6-header{height:auto;min-height:96px;padding-block:20px;gap:24px}
body .v6-book{background:var(--color-accent);color:var(--color-ink);border:1px solid var(--color-accent);border-radius:4px;min-height:60px;padding:16px 24px;font-size:max(17px,var(--small-text,16px));font-weight:600;gap:24px;justify-content:center;flex-shrink:0;line-height:1.4;transition:background-color 180ms,border-color 180ms}
body .v6-book:hover{background:var(--color-paper-3);border-color:var(--color-accent-light)}
body .v6-book:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
body .v6-book:active{background:var(--color-paper)}
body .v6-book .icon{width:22px;height:22px}
body .v6 .button.v6-primary{font-size:max(17px,var(--small-text,16px));min-height:60px;padding:16px 24px}
body .v6-section-head>div,body .v6-hero-bottom>div,body .about-copy{min-width:0}
body .v6-photo-meta>span{max-width:28ch}
body .footer-links{display:flex;flex-wrap:wrap;gap:20px 28px}
body .footer-bottom{gap:24px;flex-wrap:wrap}
body .calendar-key{flex-wrap:wrap;line-height:1.5}
body .v6-chapters{font-size:var(--small-text,16px)}
@media(max-width:1280px){body .v6-header .desktop-nav{display:none}body .v6-header .mobile-nav{display:block;margin-left:0}body .v6-header .v6-book{margin-left:auto}body .v6-brand span{display:none}}
@media(max-width:600px){body .v6-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:16px;padding-block:16px}body .v6-header .v6-brand{grid-column:1;grid-row:1}body .v6-header .mobile-nav{grid-column:2;grid-row:1}body .v6-header .v6-book{grid-column:1/-1;grid-row:2;width:100%;min-height:56px;margin:0}body .v6-location{align-items:start;flex-wrap:wrap;gap:12px}body .v6-location span{text-align:left}body .v6-photo-meta{align-items:start;text-align:left}body .v6-hero-bottom p{max-width:none}body .v6-view{padding:12px;gap:12px}body .v6 .image-label{max-width:calc(100% - 32px)}body .footer-bottom>div{display:flex;flex-wrap:wrap;gap:16px}}
@media(max-width:520px){body.v6 .v6-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(240px,calc(100vw - 88px))}body.v6 .v6-chapters[hidden]{display:none}body.v6 .v6-chapters a{padding:8px 6px;min-height:44px}}
body .brief-status,body .back-to-top,body .form-note,body .help-text{font-size:var(--small-text,16px);line-height:1.5}

:root{--cursor-needle:#c3b7a5}
.cursor-ribbons{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1500;contain:strict;opacity:0;transition:opacity 280ms ease-out}
.cursor-ribbons.is-visible{opacity:1;transition-duration:180ms}
@media(prefers-reduced-motion:reduce),(pointer:coarse){.cursor-ribbons{display:none}}
/* Hide only the page scrollbar; retain native scrolling and keyboard navigation. */ html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0}

/* Mobile: one primary action, no floating navigation over readable content. */
@media(max-width:600px){
  body .v6-header{min-height:72px;padding-block:12px;gap:12px}
  body .v6-header .v6-book{display:none}
  body.v6 .v6-chapters{display:none!important}
  body .v6-location{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
  body .v6-location span{max-width:none;text-align:left}
  body .v6-hero-copy{padding-block:24px}
  body .v6-hero-bottom{padding-block:24px}
  body .v6-work-section,body.v6 .flash-album,
  body.v6 .process,body.v6 .details-section,body.v6 .booking-section,
  body.v6 .idea-section{padding-block:48px}
  body.v6 .flash-album{gap:28px}
  body .v6-section-head{margin-bottom:28px;gap:18px}
  body.v6 .v6-project,body.v6 .v6-project:nth-child(even){margin-bottom:32px}
  body.v6 .v6-project:last-child{margin-bottom:0}
  body.v6 .details-section{gap:36px}
  body .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  body .footer-links a{display:flex;align-items:center;min-height:44px;padding-block:8px}
  body .footer-bottom>div a{display:inline-flex;align-items:center;min-height:44px}
  body .brief-actions{display:flex;flex-wrap:wrap;gap:10px}
  body .brief-actions>button{white-space:normal;min-height:48px;flex:1 1 140px}
  body .page-intro{margin-bottom:28px}
  body header.inner-page.page-intro{padding-bottom:0}
  body .booking-section{padding-block:36px}
  body .section-heading{margin-bottom:24px;gap:20px}
}
.booking-closed-message{padding-block:24px 48px}
.booking-closed-message h2{font-size:clamp(26px,4vw,36px);margin-bottom:16px}
.booking-closed-message p{margin-bottom:24px;line-height:1.7}

/* Explicit spacing and intrinsic button sizing: wrap whole controls, not labels. */
body .brief-preview{padding:18px 20px}
body .brief-preview output{display:block;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin-top:10px}
body .brief-actions:not([hidden]){display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
body .brief-actions>button{flex:1 0 max-content;white-space:nowrap;justify-content:center;min-height:52px}
body .telegram-booking-link{margin-top:12px;max-width:100%;font-size:16px;white-space:normal;justify-content:center;text-align:center;line-height:1.4}
@media(max-width:600px){body .brief-actions:not([hidden]){flex-direction:column}body .brief-actions>button{flex:none;width:100%}body .v6-hero-bottom .button{width:100%;max-width:100%}body .brief-preview{padding:16px}}
