/* V60.3.20 fixes */
[hidden]{display:none!important}
html,body{max-width:100%;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
#customForm,#customForm fieldset,#customForm .summary,#customForm .estimate{min-width:0;max-width:100%}
#customForm .summary-row{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.4fr);gap:12px;min-width:0;max-width:100%;align-items:start}
#customForm .summary-row>*,#customForm .estimate>*{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
#customForm .nav-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;min-width:0}
#customForm .main-order-security{min-width:0;max-width:100%}
#customForm .cf-turnstile{max-width:100%;overflow:hidden}
#customForm button{max-width:100%}
@media(max-width:650px){#customForm .nav-row{flex-direction:column;align-items:stretch}#customForm .nav-row>.back{align-self:flex-start}#customForm .nav-row>.btn{width:100%}#customForm .summary-row{grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr)}#customForm .estimate strong{font-size:clamp(24px,7vw,45px)}}
footer.luxury-footer.footer-v320{padding:52px max(22px,5vw) 20px!important;text-align:left!important}
.footer-v320 .footer-columns{max-width:1150px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start}
.footer-v320 .footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.footer-v320 .footer-col h3{font:600 12px/1.3 'DM Sans',sans-serif;color:#e3c284;letter-spacing:.16em;margin:0 0 9px}
.footer-v320 .footer-col a:not(.luxury-footer-brand){color:#e5d4c7;text-decoration:none;font:400 12px/1.6 'DM Sans',sans-serif}
.footer-v320 .footer-col a:hover{text-decoration:underline}
.footer-v320 .footer-col p{margin:0;color:#d2bdb6;font:400 13px/1.7 'DM Sans',sans-serif}
.footer-v320 .luxury-footer-brand{align-items:flex-start;gap:4px}
.footer-v320 .luxury-footer-brand img{width:60px;height:60px}
.footer-v320 .luxury-footer-brand span{font-size:30px}
.footer-v320 .luxury-footer-bottom{text-align:center;margin-top:45px}
@media(max-width:650px){.footer-v320 .footer-columns{grid-template-columns:1fr;gap:32px}.footer-v320 .footer-col{align-items:flex-start}}
header nav a[aria-current='page']{color:#d8b47a!important}
.atelier-cinematic-banner{background:#25090f;width:100%;line-height:0;overflow:hidden}
.atelier-cinematic-banner img{width:100%;height:auto;display:block}

/* V60.3.21 full-bleed atelier image, responsive */
.atelier-cinematic-banner{width:100vw;max-width:100vw;position:relative;left:50%;margin-left:-50vw;overflow:hidden}
.atelier-cinematic-banner img{display:block;width:100%;height:auto;max-width:none}
@media(max-width:700px){.atelier-cinematic-banner{height: min(78svh,620px);min-height:370px}.atelier-cinematic-banner img{height:100%;object-fit:cover;object-position:50% 50%}}
/* First-page-only custom request path chooser */
.custom-path-choice{padding:24px 0 30px}.custom-path-choice h3{margin:8px 0 22px}.custom-path-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.custom-path-cards button{background:#fffaf5;border:1px solid #c7ad8b;border-radius:12px;padding:26px 20px;text-align:left;display:flex;flex-direction:column;gap:13px;color:#33151c;cursor:pointer;min-height:185px}.custom-path-cards button:hover,.custom-path-cards button:focus-visible{border-color:#7c3045;box-shadow:0 4px 20px #3915211a}.custom-path-cards strong{font-size:21px}.custom-path-cards span{line-height:1.55;font-size:14px}.custom-path-cards em{margin-top:auto;color:#782d43;font-size:13px;font-style:normal;font-weight:700}@media(max-width:650px){.custom-path-cards{grid-template-columns:1fr}.custom-path-cards button{min-height:140px;padding:20px}}
/* Required AI inputs */
.ai-field-invalid{outline:2px solid #e16b6b!important;outline-offset:2px}.ai-validation-note{color:#ffaaaa;font-size:12px;display:block;margin-top:6px}.ai-loading-spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;margin-right:8px;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}

.custom-path-choice[hidden],.idea-shortcut[hidden],fieldset[hidden]{display:none!important}

/* Small phones: the Turnstile box is a fixed 300px, so trim the padding around it instead of letting the panel overflow. */
.studio-right>.review-flow>.panel{min-width:0}
@media(max-width:400px){.studio-right>.review-flow>.panel{padding-left:14px;padding-right:14px}.turnstile-panel{padding:12px 8px}}

/* Readability: darker small labels and body text on the cream pages (dark AI page is untouched). */
:root{--muted:#5f554e}
section.section-light .eyebrow,.custom .eyebrow{color:#86694a}
.form-kicker{color:#7a5e41}
.dark-head>p,.intro-copy>p:not(.eyebrow){color:var(--muted)}

/* Phones and small tablets: headline on solid burgundy, ring photo shown clearly below it instead of faded behind the text. */
@media(max-width:820px){
  .hero{flex-direction:column;align-items:stretch;padding:56px 24px 0;min-height:0}
  .hero-copy{max-width:100%}
  .hero-photo-wrap{position:relative;top:auto;right:auto;width:calc(100% + 48px);height:min(420px,95vw);margin:44px -24px 0;opacity:1}
  .hero-photo-wrap:after{background:linear-gradient(180deg,#5a1220 0%,rgba(90,18,32,0) 30%)}
  .hero-photo{object-position:center 58%}
  .hero .scroll{display:none}
}

/* Custom Order: remove the stacked empty space above "Choose how to begin". */
.form-panel .progress{margin-bottom:24px}
.custom-path-choice{padding-top:0}
.custom-path-choice .form-kicker{margin-top:0}

/* Cinematic "Where Ideas Take Shape" banner.
   Desktop: the full-width artwork (its words are part of the image). Phone: a tall frame on the hands and ring,
   with the words as real text so they stay large and sharp. A slow camera push gives it a film feel. */
.atelier-cinematic-banner picture{display:block}
.cinematic-copy{display:none}
.atelier-cinematic-banner img{transform-origin:62% 55%;animation:cinematic-push 22s ease-in-out infinite alternate}
@keyframes cinematic-push{from{transform:scale(1)}to{transform:scale(1.07)}}
@media(max-width:700px){
  .atelier-cinematic-banner{height:min(100svh,800px);min-height:600px;line-height:normal}
  .atelier-cinematic-banner picture,.atelier-cinematic-banner img{width:100%;height:100%}
  .atelier-cinematic-banner img{object-fit:cover;object-position:47% 0%;transform-origin:47% 40%}
  .atelier-cinematic-banner:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(24,6,11,.6) 0%,rgba(24,6,11,0) 22%,rgba(24,6,11,0) 42%,rgba(24,6,11,.78) 70%,rgba(24,6,11,.96) 100%)}
  .cinematic-copy{display:block;position:absolute;left:24px;right:24px;bottom:42px;z-index:1;color:#f6ede3}
  .cinematic-copy .atelier-overline{margin:0 0 14px!important}
  .cinematic-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(46px,13vw,62px);line-height:.94;letter-spacing:-.02em;margin:0 0 18px;color:#f8efe4}
  .cinematic-copy h2 em{display:block;color:#d9b97f}
  .cinematic-copy>p:not(.atelier-overline):not(.cinematic-tag){font-size:15px;line-height:1.65;color:#eadcd2;margin:0 0 20px;max-width:340px}
  .cinematic-rule{display:block;width:46px;height:1px;background:#d9b97f;margin:0 0 14px}
  .cinematic-copy .cinematic-tag{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#d9b97f;margin:0}
}
@media(prefers-reduced-motion:reduce){.atelier-cinematic-banner img{animation:none}}
/* The global "section{padding:110px 7vw}" framed the banner in dark bars; it must be edge to edge. */
section.atelier-cinematic-banner{padding:0}
