/* Shared hero margins and fixed image galleries requested in this revision. */
:root{--timeline-margin:var(--page-margin)}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:var(--page-margin);right:var(--page-margin)}
.journey-note.location-note{top:50%;bottom:auto;right:auto;transform:translateY(-50%)}
.journey-note.dubai-note{left:50%;transform:translate(-50%,-50%)}
.journey-note.palm-note{left:var(--page-margin)}
.journey-note.project-note{left:var(--page-margin);right:auto;background:var(--glass-on-light)}
.journey-note.project-note.on-dark{background:var(--glass-on-light)}
.world-transition .journey-pin{background:var(--brand-white)}
.world-copy{transition:none}
.exterior-track .byat-panel,.exterior-window.over-image .byat-panel{background:var(--glass-on-light)}
.exterior-track{width:100%}
.exterior-meter,#casa .byat-meter{display:none}
.byat-track{width:100%;transform:none!important}
#casa .byat-panel{background:linear-gradient(125deg,color-mix(in srgb, var(--brand-white) 39.608%, transparent),color-mix(in srgb, var(--brand-white) 15.686%, transparent));color:var(--brand-plum);border-color:color-mix(in srgb, var(--brand-white) 60%, transparent)}
#casa .byat-copy,#casa .byat-copy p{color:var(--brand-plum)}
.interior-motion{filter:none}
.photo-gallery{grid-column:2;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px;justify-content:center}
.photo-stage{position:relative;min-height:0;flex:none;width:100%;aspect-ratio:4/3;max-height:calc(100% - 42px);border-radius:var(--brand-radius-photo);overflow:hidden;background:color-mix(in srgb, var(--brand-white) 1.961%, transparent)}
.photo-stage .photo-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;visibility:hidden}
.photo-stage .photo-slide.is-current{opacity:1;visibility:visible}
.exterior-panel .photo-stage .photo-slide{object-fit:cover}
.photo-dots{display:flex;align-items:center;justify-content:center;gap:2px;flex:none;height:28px}
.photo-dots button{width:28px;height:28px;padding:9px;border:0;background:none;cursor:pointer;border-radius:50%}
.photo-dots button:before{content:'';display:block;width:10px;height:10px;border-radius:50%;background:var(--brand-ink)}
.photo-dots button[aria-pressed=true]:before{background:var(--brand-white);box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-ink) 13.333%, transparent)}
.photo-dots button:focus-visible{outline:2px solid var(--bronze);outline-offset:1px}
.butera-track{height:100%;gap:32px}
.butera-window{height:100%;min-height:0;width:calc(var(--viewport-width,100vw) - 2 * var(--page-margin));margin-inline:auto}
.butera-window .butera-track{padding-inline:0!important}
.butera-track .byat-panel{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);width:calc(var(--viewport-width,100vw) - 2 * var(--page-margin));height:100%;gap:var(--ds-box-spacing-base-12);padding:var(--ds-box-spacing-base-17);background:var(--glass-on-dark);border:var(--brand-border-width) solid var(--glass-border);border-radius:calc(var(--brand-radius) * 1.0833333333333333);overflow:hidden}
.butera-track .byat-copy h3{font-size:var(--ds-heading-size-base-13);line-height:var(--ds-heading-line-base-7);}
.butera-track .byat-copy p{color:var(--brand-paper)}
.letter-preview{grid-column:2;grid-row:1;display:flex;min-height:0;align-items:center;justify-content:center}
.letter-preview img{width:100%;height:100%;object-fit:contain}
#citta .project-intro{width:min(480px,calc(var(--viewport-width,100vw) - 2 * var(--page-margin)));gap:clamp(10px,1.5vh,20px)}
#citta .project-intro>p{font-size:clamp(13px,1.6vh,16px);line-height:1.55;margin:0}
#citta .project-intro h3{font-size:clamp(2rem,3.6vh,3.2rem)}
#citta .copy-capacity{color:color-mix(in srgb, var(--brand-white) 50.196%, transparent);font-style:italic}
.award-block{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:12px;border-top:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 14.51%, transparent);flex-shrink:0}
.award-badge{width:66px;height:80px;flex:none}
#citta .award-block .project-award{font-size:11px;line-height:1.5;color:var(--brand-primary);margin:0;display:block}
.contact{height:auto!important;min-height:100svh}
.contact .contact-pin{position:relative;top:auto;height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:var(--panel-top) var(--page-margin) 28px}
.contact-copy h2{font-size:clamp(2.5rem,4vw,4.5rem);margin:0}
.contact-manifesto{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;max-height:124px}
.contact-manifesto blockquote p{font-size:clamp(20px,2.1vw,30px);letter-spacing:-.025em}
.contact-manifesto blockquote br{display:contents}.contact-manifesto blockquote br:after{content:' '}
.contact-manifesto cite{font-size:12px;margin-top:8px}
.contact-manifesto img{width:180px;max-height:124px;object-fit:contain}
.contact-paths{margin-top:20px;gap:var(--ds-box-spacing-base-20);}
.contact-path{font:inherit;text-align:left;cursor:pointer;width:100%;border:var(--brand-border-width) solid var(--glass-border);transition:border-color .18s,box-shadow .18s;padding:var(--ds-box-spacing-base-24);}
.contact-path:hover,.contact-path:focus-visible{border-color:var(--bronze);box-shadow:0 0 0 1px var(--bronze);outline:none}
.contact .contact-paths .eyebrow{margin-bottom:12px;font-size:var(--ds-caption-size-base-3);}
.contact-paths h3{font-size:var(--ds-heading-size-base-14);margin-bottom:14px}
.contact-paths p{font-size:var(--ds-body-size-base-8);line-height:var(--ds-body-line-base-3);margin-bottom:18px}
.contact-paths .contact-cta{font-size:14px;padding-top:6px;border-bottom:0}
.contact footer{position:relative;inset:auto;margin-top:auto;padding-top:20px;gap:24px;width:100%;font-size:12px}
.contact-dialog{margin:auto;width:min(720px,calc(100vw - 2 * var(--page-margin)));max-height:calc(100dvh - 48px);overflow:auto;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 39.608%, transparent);border-radius:var(--brand-radius);padding:38px;background:linear-gradient(125deg,color-mix(in srgb, var(--brand-plum) 96.078%, transparent),color-mix(in srgb, var(--brand-plum) 96.078%, transparent));color:var(--brand-white)}
.contact-dialog::backdrop{background:color-mix(in srgb, var(--brand-plum) 65.098%, transparent);backdrop-filter:blur(8px)}
.contact-close{position:absolute;right:16px;top:10px;font-size:32px;color:var(--brand-white);background:none;border:0;cursor:pointer}
.contact-dialog h2{font-size:clamp(26px,3vw,38px);line-height:1.1;margin:12px 0 28px}
.contact-dialog .render-kicker{font-size:11px;letter-spacing:.1em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#contact-form label{display:block;font-size:13px;line-height:1.5;margin-bottom:18px}
#contact-form input,#contact-form textarea{display:block;width:100%;margin-top:7px;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 37.647%, transparent);border-radius:10px;padding:12px;background:color-mix(in srgb, var(--brand-white) 5.49%, transparent);color:var(--brand-white);font:inherit;font-size:16px}
#contact-form textarea{resize:vertical;min-height:120px}
#contact-form input:focus,#contact-form textarea:focus{outline:2px solid var(--bronze);outline-offset:2px}
.form-send{padding:13px 20px;border:var(--brand-border-width) solid var(--bronze);border-radius:calc(var(--brand-radius-button) * 0.3333333333333333);background:var(--bronze);color:var(--brand-plum);font:inherit;font-size:15px;cursor:pointer}
.form-send:disabled{opacity:.6;cursor:wait}
.form-note,.form-status,.form-fallback{font-size:12px;line-height:1.6;margin:14px 0}
.form-note a,.form-fallback{text-decoration:underline;text-underline-offset:3px}
#contact-form .form-honey{display:none}
.form-status:empty{display:none}
.static-journey .butera-window{overflow-x:auto;height:calc(100svh - var(--panel-top) - var(--panel-bottom));min-height:480px}
.static-journey .byat-window{height:calc(100svh - var(--panel-top) - var(--panel-bottom));min-height:480px;flex:none}
@media(max-width:899px){
 :root{--timeline-margin:var(--page-margin)}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:10px;padding-inline:0}
 .site-header .timeline-label{overflow-wrap:anywhere}
 .journey-note.project-note{max-width:calc(100% - 2 * var(--page-margin));right:var(--page-margin)}
 .journey-note.location-note{max-width:calc(100% - 2 * var(--page-margin));padding:16px 20px}
 .journey-note.location-note strong{font-size:24px}
 .butera-track .byat-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding:var(--ds-box-spacing-mobile-4);gap:var(--ds-box-spacing-mobile-50);}
 .butera-track .byat-copy h3{font-size:var(--ds-heading-size-mobile-23);}
 .contact-paths{grid-template-columns:1fr 1fr;gap:var(--ds-box-spacing-mobile-10);}
 .contact-path{padding:var(--ds-box-spacing-mobile-54);}
 .contact-manifesto img{width:130px;max-height:90px}
 .contact-manifesto{max-height:none}
 .contact footer{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .form-row{grid-template-columns:1fr;gap:0}
 .contact-dialog{padding:32px 22px}
}
@media(max-width:540px){
 .butera-track .byat-panel{padding:var(--ds-box-spacing-mobile-55);gap:var(--ds-box-spacing-mobile-56);grid-template-columns:1fr 1fr}
 .butera-track .byat-copy h3{font-size:var(--ds-heading-size-mobile-24);}
 .contact-paths{grid-template-columns:1fr}
 .contact-manifesto{gap:12px}
 .contact-manifesto img{width:90px}
 .contact-manifesto blockquote p{font-size:20px}
 .photo-dots{gap:0}.photo-dots button{width:22px;padding:6px}
 .award-badge{width:48px;height:60px}.award-block{gap:12px}
}
