:root{
 --brand-primary:#d17a50;
 --brand-plum:#210e16;
 --brand-ink:#181c20;
 --brand-paper:#f5f5f7;
 --brand-white:#ffffff;
 --brand-muted:#c9ced3;
 --brand-font:Inter,Arial,sans-serif;
 --brand-heading-weight:500;
 --brand-radius:24px;
 --brand-radius-photo:12px;
 --brand-border:color-mix(in srgb,var(--brand-white) 27%,transparent);
 --brand-blur:10px;
 --brand-shadow:inset 0 1px 0 color-mix(in srgb,var(--brand-white) 50%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--brand-white) 13%,transparent),0 8px 30px color-mix(in srgb,var(--brand-ink) 7%,transparent);
 --brand-glass-plum:color-mix(in srgb,var(--brand-plum) 82%,transparent);
 --brand-surface-light:var(--brand-glass-plum);
 --brand-glass-edge-on-light:color-mix(in srgb,var(--brand-plum) 16%,transparent);
 --brand-surface-dark:color-mix(in srgb,var(--brand-white) 12%,transparent);
 --brand-glass-white:color-mix(in srgb,var(--brand-white) 64%,transparent);
 --brand-glass-clear:color-mix(in srgb,var(--brand-white) 16%,transparent);
 --brand-glass-blur:blur(var(--brand-blur));
 --ds-box-spacing-base-1:38px 42px;
 --ds-display-size-base-1:clamp(3.2rem,5.8vw,6.4rem);
 --ds-display-line-base-1:1.02;
 --ds-display-tracking-base-1:-.065em;
 --ds-display-weight-base-1:550;
 --ds-box-spacing-base-2:34px 38px;
 --ds-heading-size-base-1:clamp(3rem,5vw,5.5rem);
 --ds-heading-line-base-1:1.04;
 --ds-body-size-base-1:17px;
 --ds-body-line-base-1:1.7;
 --ds-heading-size-base-2:clamp(2.6rem,4vw,4.7rem);
 --ds-heading-line-base-2:1.06;
 --ds-box-spacing-mobile-1:27px 23px;
 --ds-display-size-mobile-1:clamp(2rem,7.2vw,4.7rem);
 --ds-display-line-mobile-1:1.08;
 --ds-box-spacing-mobile-2:26px 22px;
 --ds-heading-size-mobile-1:clamp(2.3rem,7.5vw,4rem);
 --ds-body-size-mobile-1:15px;
 --ds-heading-size-mobile-2:2.4rem;
 --ds-box-spacing-responsive-1:24px;
 --ds-display-size-responsive-1:clamp(2.2rem,5vw,4rem);
 --ds-heading-size-responsive-1:2.7rem;
 --ds-box-spacing-responsive-2:22px;
 --ds-body-size-responsive-1:15px;
 --ds-box-spacing-base-3:0;
 --ds-heading-size-base-3:clamp(2.8rem,4.5vw,5rem);
 --ds-box-spacing-mobile-3:0;
 --ds-heading-size-mobile-3:clamp(2.25rem,7vw,3.8rem);
 --ds-body-size-mobile-2:14px;
 --ds-display-size-base-2:clamp(3rem,5.5vw,6.2rem);
 --ds-display-line-base-2:1.04;
 --ds-display-tracking-base-2:-.06em;
 --ds-box-spacing-base-4:28px;
 --ds-heading-size-base-4:clamp(2.3rem,3.5vw,4rem);
 --ds-heading-line-base-3:1.05;
 --ds-body-size-base-2:16px;
 --ds-body-line-base-2:1.65;
 --ds-box-spacing-mobile-4:22px;
 --ds-heading-size-mobile-4:2.2rem;
 --ds-box-spacing-mobile-5:12px;
 --ds-body-size-mobile-3:16px;
 --ds-body-line-mobile-1:1.5;
 --ds-caption-size-mobile-1:12px;
 --ds-box-spacing-mobile-6:14px;
 --ds-box-spacing-mobile-7:18px;
 --ds-box-spacing-mobile-8:12px;
 --ds-heading-size-mobile-5:26px;
 --ds-heading-line-mobile-1:1.1;
 --ds-caption-size-mobile-2:16px;
 --ds-caption-line-mobile-1:1.5;
 --ds-caption-size-mobile-3:12px;
 --ds-heading-size-mobile-6:25px;
 --ds-heading-line-mobile-2:1.12;
 --ds-box-spacing-base-5:clamp(26px,3.3vw,48px);
 --ds-display-size-base-3:clamp(3.2rem,5.5vw,6rem);
 --ds-body-size-base-3:clamp(16px,1.3vw,19px);
 --ds-heading-size-base-5:clamp(2.5rem,4.2vw,4.8rem);
 --ds-box-spacing-base-6:20px;
 --ds-box-spacing-base-7:12px 32px;
 --ds-box-spacing-base-8:24px 28px;
 --ds-heading-size-base-6:clamp(2.2rem,3vw,3.7rem);
 --ds-box-spacing-base-9:36px;
 --ds-box-spacing-base-10:26px;
 --ds-heading-size-base-7:clamp(2.6rem,4vw,4.6rem);
 --ds-heading-line-base-4:1.03;
 --ds-box-spacing-responsive-3:20px;
 --ds-box-spacing-responsive-4:24px;
 --ds-heading-size-responsive-2:2.5rem;
 --ds-box-spacing-mobile-9:28px;
 --ds-display-size-mobile-2:clamp(2.7rem,8vw,4.6rem);
 --ds-body-size-mobile-4:16px;
 --ds-body-line-mobile-2:1.6;
 --ds-heading-size-mobile-7:clamp(2.5rem,7vw,4rem);
 --ds-box-spacing-mobile-10:16px;
 --ds-heading-size-mobile-8:clamp(1.8rem,5vw,2.5rem);
 --ds-body-line-mobile-3:1.5;
 --ds-heading-size-mobile-9:3rem;
 --ds-box-spacing-responsive-5:24px;
 --ds-display-size-responsive-2:clamp(2.3rem,5vw,4.2rem);
 --ds-body-size-responsive-2:15px;
 --ds-body-line-responsive-1:1.5;
 --ds-box-spacing-responsive-6:18px;
 --ds-heading-size-responsive-3:1.9rem;
 --ds-body-size-responsive-3:14px;
 --ds-heading-size-responsive-4:2.7rem;
 --ds-heading-size-base-8:clamp(2rem,3.6vw,4.6rem);
 --ds-body-size-base-4:clamp(14px,1.2vw,17px);
 --ds-heading-size-mobile-10:clamp(1.9rem,5vw,3rem);
 --ds-box-spacing-responsive-7:16px;
 --ds-heading-size-responsive-5:1.8rem;
 --ds-body-size-responsive-4:12px;
 --ds-box-spacing-base-11:36px;
 --ds-box-spacing-mobile-11:16px;
 --ds-display-size-mobile-3:clamp(2.4rem,10vw,4rem);
 --ds-box-spacing-base-12:clamp(24px,3vw,48px);
 --ds-display-size-mobile-4:clamp(2.2rem,5.5vw,4rem);
 --ds-heading-size-base-9:clamp(26px,2.5vw,48px);
 --ds-heading-line-base-5:1.08;
 --ds-body-size-base-5:clamp(15px,1.12vw,18px);
 --ds-body-line-base-3:1.55;
 --ds-caption-size-base-1:clamp(11px,.85vw,14px);
 --ds-caption-line-base-1:1.4;
 --ds-caption-tracking-base-1:.1em;
 --ds-heading-size-base-10:clamp(32px,3.6vw,66px);
 --ds-body-size-base-6:clamp(15px,1.1vw,18px);
 --ds-box-spacing-desktop-1:clamp(36px,4vw,100px);
 --ds-box-spacing-responsive-8:14px;
 --ds-heading-size-responsive-6:clamp(25px,3.2vw,36px);
 --ds-body-size-responsive-5:16px;
 --ds-body-line-responsive-2:1.5;
 --ds-box-spacing-mobile-12:18px;
 --ds-box-spacing-mobile-13:22px;
 --ds-box-spacing-mobile-14:14px;
 --ds-heading-size-mobile-11:clamp(25px,5vw,38px);
 --ds-body-size-mobile-5:16px;
 --ds-body-line-mobile-4:1.5;
 --ds-box-spacing-mobile-15:8px;
 --ds-heading-size-mobile-12:clamp(32px,6vw,48px);
 --ds-body-line-mobile-5:1.6;
 --ds-box-spacing-mobile-16:18px 14px;
 --ds-box-spacing-mobile-17:22px;
 --ds-display-size-mobile-5:clamp(26px,7vw,40px);
 --ds-display-line-mobile-2:1.06;
 --ds-display-tracking-mobile-1:-.045em;
 --ds-body-size-mobile-6:16px;
 --ds-body-line-mobile-6:1.5;
 --ds-heading-size-mobile-13:clamp(25px,6.8vw,32px);
 --ds-body-size-mobile-7:15px;
 --ds-caption-size-mobile-4:11px;
 --ds-box-spacing-mobile-18:24px;
 --ds-box-spacing-mobile-19:20px;
 --ds-heading-size-mobile-14:36px;
 --ds-box-spacing-desktop-2:12px;
 --ds-heading-size-desktop-1:26px;
 --ds-body-size-desktop-1:14px;
 --ds-body-line-desktop-1:1.45;
 --ds-display-size-desktop-1:36px;
 --ds-body-size-desktop-2:15px;
 --ds-box-spacing-mobile-20:18px;
 --ds-box-spacing-mobile-21:14px;
 --ds-body-size-mobile-8:15px;
 --ds-caption-size-base-2:12px;
 --ds-box-spacing-mobile-22:10px;
 --ds-box-spacing-mobile-23:14px;
 --ds-box-spacing-mobile-24:8px;
 --ds-heading-size-mobile-15:clamp(21px,3vw,28px);
 --ds-heading-line-mobile-3:1.1;
 --ds-body-size-mobile-9:13px;
 --ds-body-line-mobile-7:1.35;
 --ds-caption-size-mobile-5:9px;
 --ds-caption-tracking-mobile-1:.07em;
 --ds-box-spacing-mobile-25:4px 0 0;
 --ds-box-spacing-mobile-26:22px;
 --ds-box-spacing-mobile-27:28px;
 --ds-display-size-mobile-6:clamp(34px,5.5vw,48px);
 --ds-body-size-mobile-10:16px;
 --ds-body-line-mobile-8:1.5;
 --ds-box-spacing-mobile-28:12px;
 --ds-box-spacing-mobile-29:14px 20px;
 --ds-box-spacing-mobile-30:10px 20px;
 --ds-display-size-mobile-7:30px;
 --ds-body-size-mobile-11:13px;
 --ds-body-line-mobile-9:1.4;
 --ds-box-spacing-mobile-31:10px;
 --ds-box-spacing-mobile-32:5px;
 --ds-heading-size-mobile-16:20px;
 --ds-box-spacing-base-13:0;
 --ds-box-spacing-base-14:12px;
 --ds-box-spacing-base-15:18px 8px 6px;
 --ds-box-spacing-mobile-33:10px;
 --ds-box-spacing-mobile-34:14px 4px 4px;
 --ds-box-spacing-mobile-35:0;
 --ds-heading-size-mobile-17:clamp(25px,6vw,34px);
 --ds-heading-line-mobile-4:1.08;
 --ds-body-size-mobile-12:14px;
 --ds-body-line-mobile-10:1.45;
 --ds-heading-size-mobile-18:22px;
 --ds-heading-line-mobile-5:1.12;
 --ds-caption-size-mobile-6:10px;
 --ds-caption-size-mobile-7:14px;
 --ds-caption-line-mobile-2:1.4;
 --ds-box-spacing-base-16:6px;
 --ds-box-spacing-mobile-36:20px;
 --ds-box-spacing-mobile-37:12px;
 --ds-heading-size-mobile-19:26px;
 --ds-caption-tracking-mobile-2:.06em;
 --ds-caption-size-mobile-8:16px;
 --ds-caption-line-mobile-3:1.5;
 --ds-box-spacing-mobile-38:20px 16px;
 --ds-display-size-mobile-8:clamp(22px,6.1vw,42px);
 --ds-display-line-mobile-3:1.08;
 --ds-body-size-mobile-13:15px;
 --ds-box-spacing-mobile-39:16px;
 --ds-box-spacing-mobile-40:22px;
 --ds-box-spacing-mobile-41:14px;
 --ds-heading-size-mobile-20:25px;
 --ds-heading-line-mobile-6:1.15;
 --ds-caption-tracking-mobile-3:.14em;
 --ds-caption-size-mobile-9:17px;
 --ds-box-spacing-mobile-42:20px;
 --ds-box-spacing-mobile-43:10px 26px;
 --ds-body-size-mobile-14:14px;
 --ds-box-spacing-mobile-44:10px;
 --ds-box-spacing-mobile-45:18px 14px;
 --ds-box-spacing-mobile-46:18px;
 --ds-box-spacing-mobile-47:14px 18px;
 --ds-box-spacing-mobile-48:20px;
 --ds-display-size-mobile-9:28px;
 --ds-body-size-mobile-15:14px;
 --ds-body-line-mobile-11:1.35;
 --ds-box-spacing-mobile-49:8px;
 --ds-box-spacing-base-17:clamp(24px,3vw,44px);
 --ds-heading-size-base-11:clamp(2rem,3vw,3.8rem);
 --ds-body-size-base-7:clamp(14px,1.15vw,17px);
 --ds-caption-line-base-2:1.5;
 --ds-heading-size-base-12:clamp(18px,1.5vw,22px);
 --ds-heading-line-base-6:1.4;
 --ds-heading-tracking-base-1:0;
 --ds-box-spacing-base-18:28px;
 --ds-box-spacing-base-19:clamp(24px,3vw,38px);
 --ds-caption-tracking-base-2:.12em;
 --ds-box-spacing-base-20:24px;
 --ds-box-spacing-base-21:16px 0 8px;
 --ds-box-spacing-mobile-50:20px;
 --ds-heading-size-mobile-21:clamp(1.55rem,3.6vw,2.5rem);
 --ds-body-line-mobile-12:1.55;
 --ds-box-spacing-mobile-51:20px 16px;
 --ds-box-spacing-mobile-52:16px;
 --ds-heading-size-mobile-22:1.4rem;
 --ds-caption-size-mobile-10:10px;
 --ds-box-spacing-base-22:32px;
 --ds-heading-size-base-13:clamp(1.8rem,2.8vw,3rem);
 --ds-heading-line-base-7:1.1;
 --ds-box-spacing-base-23:12px;
 --ds-box-spacing-mobile-53:32px;
 --ds-box-spacing-base-24:24px;
 --ds-caption-size-base-3:11px;
 --ds-heading-size-base-14:clamp(1.6rem,2.4vw,2.5rem);
 --ds-body-size-base-8:14px;
 --ds-heading-size-mobile-23:1.5rem;
 --ds-box-spacing-mobile-54:20px;
 --ds-box-spacing-mobile-55:20px 16px;
 --ds-box-spacing-mobile-56:16px;
 --ds-heading-size-mobile-24:1.35rem;
 --ds-body-size-base-9:.875rem;
 --ds-body-line-base-4:1.5;
 --ds-heading-size-base-15:clamp(3.3rem,4.8vw,5.8rem);
 --ds-heading-size-desktop-2:4.2vw;
 --ds-heading-size-mobile-25:clamp(3rem,9vw,5rem);
 --brand-border-width:1px;
 --brand-radius-button:30px;
 --ds-main-box-copy-width:34%;
 --ds-main-box-column-gap:clamp(22px,2.6vw,54px);
 --ds-main-box-inset:clamp(20px,2.25vw,44px);
 --ds-main-box-copy-gap:clamp(9px,1.1vw,19px);
 --ds-gallery-nav-glass:color-mix(in srgb,var(--brand-white) 72%,transparent);
 --ds-gallery-nav-ink:var(--brand-plum);
 --ds-gallery-nav-stroke:var(--brand-plum);
 --ds-gallery-nav-radius:50%;
 --ds-gallery-nav-size:40px;
 --ds-bayt-caption-gap:12px;
 --ds-bayt-mobile-elevation-stage-height:clamp(140px,21svh,205px);
 --ds-bayt-mobile-plan-stage-height:clamp(205px,32svh,310px);
 --ds-bayt-gallery-controls-mobile:34px;
 --ds-mobile-header-height:58px;
 --ds-mobile-subnav-height:44px;
 --ds-mobile-layout-gap:20px;
 --ds-mobile-dock-icon-size:28px;
 --ds-mobile-card-gap:10px;
 --ds-mobile-card-inset:14px;
 --ds-mobile-main-card-width:88vw;
 --ds-mobile-main-card-padding:10px;
 --ds-mobile-furniture-card-width:78vw;
 --ds-mobile-dot-size:7px;
 --ds-header-height:88px;
 --ds-header-inset:24px;
 --ds-header-label-size:clamp(10px,.9vw,14px);
 --ds-footer-height:42px;
 --ds-footer-inset:20px;
 --ds-editorial-top:140px;
 --ds-editorial-bottom:84px;
 --ds-editorial-side:clamp(28px,10vw,160px);
 --ds-editorial-gap:24px;
 --ds-editorial-padding:18px;
 --ds-editorial-copy-width:30%;
 --ds-editorial-title-size:clamp(28px,3vw,52px);
 --ds-editorial-body-size:clamp(13px,1vw,17px);
 --ds-editorial-caption-size:11px;
 --ds-editorial-thumb-height:clamp(54px,10vh,108px);
 --ds-editorial-thumb-gap:14px;
 --ds-glass-light-tint:var(--brand-white);
 --ds-glass-light-opacity:56%;
 --ds-glass-light-blur:var(--brand-blur);
 --ds-glass-light-border:color-mix(in srgb,var(--brand-plum) 14%,transparent);
 --ds-glass-light-shadow:var(--brand-shadow);
 --ds-glass-dark-tint:var(--brand-plum);
 --ds-glass-dark-opacity:88%;
 --ds-glass-dark-blur:var(--brand-blur);
 --ds-glass-dark-border:var(--brand-border);
 --ds-glass-dark-shadow:var(--brand-shadow);
 --ds-furniture-copy-width:440px;
 --ds-furniture-subnav-space:28px;
 --ds-furniture-inactive-scale:.95;
}

:root{--ink:var(--brand-plum);--paper:var(--brand-paper);--bronze:var(--brand-primary);--muted:var(--brand-muted);--line:color-mix(in srgb, var(--brand-paper) 20%, transparent);--gutter:5vw;color-scheme:dark;font-family:Manrope,Arial,sans-serif;font-size:16px;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}::selection{background:var(--brand-primary);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h2{font-size:clamp(3.4rem,5.7vw,7rem);line-height:.95;letter-spacing:-.045em}em{font-weight:400;color:var(--bronze)}img{display:block;width:100%;object-fit:cover}section{position:relative}button,a{touch-action:manipulation}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.17em;line-height:1.5;margin-bottom:2.1rem}.body-copy{font-size:1rem;line-height:1.85;max-width:26rem;color:var(--brand-muted)}.small-note{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:1.6rem}.pin{position:relative;padding:7rem var(--gutter);min-height:100svh}.skip-link{position:fixed;z-index:100;top:10px;left:10px;background:var(--paper);color:var(--ink);padding:15px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gutter);gap:2rem;color:var(--paper);background:linear-gradient(color-mix(in srgb, var(--brand-plum) 65.882%, transparent),transparent);transition:color .3s,background .3s}.site-header.light{color:var(--ink);background:linear-gradient(color-mix(in srgb, var(--brand-paper) 96.078%, transparent),color-mix(in srgb, var(--brand-paper) 0%, transparent))}.wordmark{display:flex;gap:13px;align-items:center;font-size:.75rem;line-height:1.3;letter-spacing:.02em}.monogram{font:500 3rem/.8 'Cormorant Garamond',serif;letter-spacing:-.09em}.site-header nav{display:flex;gap:2.7rem;align-items:center;margin-left:auto;font-size:.875rem}.site-header nav a{position:relative;padding:10px 0}.site-header nav a:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1)}.nav-contact span{padding-left:22px}.motion-toggle{display:flex;gap:9px;font-size:.75rem;align-items:center;border-left:var(--brand-border-width) solid currentColor;padding:8px 0 8px 25px;opacity:.8}.motion-toggle span{font-size:.75rem}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:25}.reading-progress i{display:block;height:100%;background:var(--bronze);transform:scaleX(0);transform-origin:left}.film{display:none;position:fixed;inset:0;pointer-events:none;z-index:0}.film-frame{position:absolute;inset:0;overflow:hidden;background:var(--ink);will-change:transform,width,height}.film-shot,#journey-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:transform,opacity}.film-shot.is-visible{opacity:1}[data-shot=city]{object-position:55% center}[data-shot=house]{object-position:center 50%}[data-shot=spoon]{object-position:center}#journey-film{visibility:hidden}.film.video-ready #journey-film{visibility:visible;opacity:1}.film.video-ready .film-shot{visibility:hidden}.film-shade{position:absolute;inset:0;background:var(--brand-plum);opacity:.42}.film-border{position:absolute;inset:0;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-paper) 8.235%, transparent)}.hero{background:linear-gradient(90deg,color-mix(in srgb, var(--brand-plum) 50.196%, transparent),color-mix(in srgb, var(--brand-plum) 6.275%, transparent)),url("/assets/01_Home_Hero/home-v13.webp") center/cover}.hero-pin{display:flex;flex-direction:column;justify-content:center;padding-top:9rem;padding-bottom:8rem}.hero-kicker{margin-bottom:3rem}h1{font-size:clamp(5rem,12vw,12.5rem);line-height:.82;letter-spacing:-.055em}h1 span{display:block}h1 span+span{margin-left:13vw;margin-top:12px}h1 em{color:var(--brand-primary)}.hero-note{display:flex;gap:25px;align-items:center;align-self:flex-end;margin:3rem 5vw 0 0;font-size:1rem;line-height:1.6}.fine-rule{display:block;width:65px;height:1px;background:var(--bronze)}.hero-bottom{position:absolute;bottom:2.3rem;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:flex-end;font-size:.75rem;letter-spacing:.1em}.scroll-cue{display:flex;align-items:center;gap:18px;line-height:1.5}.scroll-stem{height:50px;width:1px;background:color-mix(in srgb, var(--brand-paper) 31.373%, transparent);position:relative;overflow:hidden}.scroll-stem:after{position:absolute;content:'';background:var(--paper);width:1px;height:25px;top:0;animation:stem 2.4s infinite}.hero-location{text-align:right;line-height:1.8}.hero-location span{letter-spacing:0;color:var(--brand-muted)}@keyframes stem{to{transform:translateY(65px)}}.vision{background:var(--ink)}.vision-pin{display:grid;grid-template-columns:1fr 1.6fr;gap:6vw;align-items:center}.vision-copy h2{margin-bottom:2rem}.diagram-composition{width:100%;min-width:0}.diagram-heading{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.08em;padding-bottom:1.5rem;border-bottom:var(--brand-border-width) solid var(--line);color:var(--bronze)}.influence-diagram{width:100%;height:auto;display:block;margin-top:2.5rem;overflow:visible}.diagram-guides{stroke:color-mix(in srgb, var(--brand-paper) 12.549%, transparent);stroke-width:1;fill:none}.diagram-guides path:first-child{stroke-dasharray:3 7}.curve-base{stroke:var(--brand-primary);stroke-width:1.7;opacity:.48}.curve-lit{stroke:var(--paper);stroke-width:2.4}.curve-lit path{transition:opacity .35s}.diagram-area{fill:url(#field-fill)}.diagram-points{fill:var(--bronze)}.diagram-scan{stroke:color-mix(in srgb, var(--brand-paper) 33.333%, transparent);stroke-width:1}.diagram-cursor{fill:var(--paper);stroke:var(--ink);stroke-width:4}.diagram-labels{display:flex;justify-content:space-between;margin:0 2% 0 1%}.diagram-labels button{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,1.9vw,1.8rem);padding:0 8px 12px;position:relative;color:var(--muted)}.diagram-labels button small{font-family:Manrope,sans-serif;display:block;font-size:.75rem;margin-bottom:10px;color:var(--muted)}.diagram-labels button[aria-pressed=true]{color:var(--paper)}.diagram-labels button:after{content:'';position:absolute;width:25px;height:1px;background:var(--bronze);bottom:0;left:50%;transform:translateX(-50%) scaleX(0);transition:transform .3s}.diagram-labels button[aria-pressed=true]:after{transform:translateX(-50%) scaleX(1)}.diagram-footnote{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-style:italic;text-align:center;color:var(--bronze);margin-top:3rem}.chapter-pin{display:flex;align-items:center;gap:5vw;flex-wrap:wrap}.chapter-copy{width:40%;max-width:540px;position:relative;z-index:2}.chapter-copy h2{font-size:clamp(3.5rem,5.6vw,6.5rem);margin-bottom:1.8rem}.chapter-lead{font-family:'Cormorant Garamond',serif;font-size:1.8rem;line-height:1.1;margin:0 0 1.5rem}.project-link{display:flex;width:fit-content;gap:2rem;align-items:center;font-size:.875rem;margin-top:2rem;padding-bottom:12px;border-bottom:var(--brand-border-width) solid color-mix(in srgb, var(--brand-primary) 43.922%, transparent)}.project-link span{font-size:1.3rem;transition:transform .3s}.project-link:hover span{transform:translate(4px,-4px)}.project-meta{display:flex;flex-direction:column;gap:8px;margin-top:2.2rem;font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.frame-caption{position:absolute;bottom:7vh;left:47vw;font-size:.75rem;letter-spacing:.09em;color:var(--muted)}.chapter-number{position:absolute;bottom:5vh;left:var(--gutter);font:400 5rem/1 'Cormorant Garamond',serif;color:color-mix(in srgb, var(--brand-primary) 25.098%, transparent)}.mobile-project-image{width:50%;height:70vh}.house-chapter .chapter-pin{flex-direction:row-reverse}.house-chapter .chapter-copy{margin-left:auto}.house-chapter .frame-caption{left:var(--gutter)}.house-chapter .chapter-number{left:auto;right:var(--gutter)}.interior-chapter{background:linear-gradient(0deg,color-mix(in srgb, var(--brand-plum) 73.725%, transparent),transparent),url("/assets/05_BYAT_Interni%20luce%20e%20materia/interior-post/01.webp") center/cover}.interior-pin{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:12vh;gap:3vw}.interior-title h2{font-size:clamp(4rem,7.5vw,8rem)}.interior-title em{color:var(--brand-primary)}.interior-note{padding-bottom:.6rem;font-size:1rem;line-height:1.7}.interior-note>span{display:block;font-size:.75rem;letter-spacing:.1em;margin-top:1.8rem;color:var(--brand-muted)}.interior-note>a{display:block;font-size:.875rem;margin-top:16px;text-decoration:underline;text-underline-offset:6px}.interior-detail{position:absolute;top:30%;right:9%;display:flex;gap:16px;align-items:center;font-size:.75rem;letter-spacing:.1em}.detail-line{display:block;width:75px;height:1px;background:var(--paper)}.interior-pin>.mobile-project-image{display:none}.furniture,.approach{background:var(--paper);color:var(--ink);color-scheme:light}.furniture em,.approach em{color:var(--brand-primary)}.furniture-pin{padding-top:7rem;padding-bottom:2rem;overflow:hidden}.furniture-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem}.furniture-heading h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:.97}.furniture-heading .eyebrow{margin-bottom:1rem}.furniture-intro{font-size:.875rem;line-height:1.7;max-width:320px}.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:1.2rem}.gallery-controls button{border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-plum) 31.373%, transparent);border-radius:50%;width:42px;height:42px;font-size:1.3rem;transition:background .3s,color .3s}.gallery-controls button:hover{background:var(--ink);color:var(--paper)}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-count{font-size:.75rem;letter-spacing:.12em;margin-right:20px}.gallery-window{overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x mandatory;scrollbar-color:var(--brand-primary) transparent;padding-bottom:10px}.gallery-track{display:flex;gap:25px;width:max-content}.furniture-card{width:28.5vw;min-width:300px;max-width:470px;flex-shrink:0;scroll-snap-align:start}.card-image{height:38vh;min-height:250px;position:relative;overflow:hidden;background:var(--brand-muted)}.card-image>img{height:100%;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.furniture-card:hover .card-image>img{transform:scale(1.055)}.card-index{position:absolute;top:14px;left:14px;font-size:.75rem;letter-spacing:.05em;background:color-mix(in srgb, var(--brand-paper) 90.98%, transparent);padding:8px 10px}.card-open{position:absolute;bottom:14px;right:14px;background:var(--paper);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1.3rem}.card-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 15px;justify-content:space-between;margin-top:16px}.card-title h3{font-size:1.7rem;line-height:1.1}.card-title>span{font-size:.75rem;letter-spacing:.045em;color:var(--brand-plum)}.furniture-card>p{font-size:var(--ds-body-size-base-9);line-height:var(--ds-body-line-base-4);color:var(--brand-plum);margin-top:8px}.gallery-footer{display:flex;gap:3rem;align-items:center;margin-top:1.5rem;font-size:.75rem;letter-spacing:.06em;color:var(--brand-plum)}.gallery-progress{height:1px;background:color-mix(in srgb, var(--brand-plum) 18.824%, transparent);flex:1}.gallery-progress i{display:block;height:2px;background:var(--ink);width:100%;transform:scaleX(.25);transform-origin:left}.approach-pin{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.approach-image{height:68vh;position:relative;overflow:hidden}.approach-image img{height:100%;object-position:56% center}.approach-image>span{position:absolute;left:25px;bottom:25px;font-size:.75rem;letter-spacing:.1em;color:var(--paper);background:color-mix(in srgb, var(--brand-plum) 61.176%, transparent);padding:10px}.approach-copy h2{font-size:var(--ds-heading-size-base-15);margin-bottom:2rem}.approach .body-copy{color:var(--brand-plum);margin-top:1rem}.approach .project-link{border-color:color-mix(in srgb, var(--brand-plum) 31.373%, transparent)}.contact-pin{display:flex;align-items:center;padding-bottom:9rem;flex-wrap:wrap}.contact-copy{z-index:2;width:50%}.contact-copy h2{font-size:clamp(4rem,6.5vw,7.5rem);margin-bottom:2.4rem}.contact-email{display:flex;align-items:center;justify-content:space-between;max-width:360px;font-size:1rem;padding-bottom:15px;border-bottom:var(--brand-border-width) solid var(--bronze)}.contact-email span{font-size:1.5rem}.email-address{display:block;font-size:.875rem;margin-top:15px;color:var(--bronze)}.contact-copy>p:last-child{font-size:.875rem;line-height:1.7;margin-top:2rem;color:var(--muted)}.spoon-caption{position:absolute;right:var(--gutter);bottom:20vh;font-size:.75rem;letter-spacing:.07em;color:var(--muted)}footer{position:absolute;bottom:2rem;left:var(--gutter);right:var(--gutter);border-top:var(--brand-border-width) solid var(--line);padding-top:1.5rem;display:flex;gap:3rem;align-items:center;justify-content:space-between;font-size:.75rem}footer a:first-child{margin-right:auto}.contact .mobile-project-image{height:55vh}
/* Motion is progressive enhancement; content remains complete without JavaScript. */
@media(min-width:900px) and (min-height:700px){
.motion-enabled .film{display:block}.motion-enabled .film-section{background:none}.motion-enabled .pin{position:sticky;top:0;height:100svh;min-height:0}.motion-enabled .hero{height:145vh}.motion-enabled .vision{height:160vh}.motion-enabled .project-chapter{height:180vh}.motion-enabled .interior-chapter{height:170vh}.motion-enabled .approach{height:135vh}.motion-enabled .contact{height:145vh}.motion-enabled .mobile-project-image{display:none}.motion-enabled .house-chapter .chapter-copy{margin-right:0}.motion-enabled .chapter-copy{width:38%}.motion-enabled .gallery-window{overflow:hidden}.motion-enabled .gallery-track{will-change:transform}.motion-enabled .approach-image{clip-path:inset(var(--reveal,12%) 0 0 0)}.motion-enabled .approach-image img{transform:scale(var(--image-scale,1.08))}.motion-enabled .hero-pin h1{transform:translateY(var(--hero-shift,0px));opacity:var(--hero-opacity,1)}.motion-enabled .chapter-copy{transform:translateY(var(--copy-shift,0px))}.motion-enabled .interior-detail{transform:translateX(var(--detail-shift,0px))}.motion-enabled .contact-copy h2{transform:translateY(var(--contact-shift,0px))}
}
@media(min-width:900px) and (max-height:820px){.eyebrow{margin-bottom:1.3rem}.chapter-copy h2{font-size:4.7vw;margin-bottom:1.4rem}.chapter-lead{font-size:1.6rem;margin-bottom:1rem}.project-meta{margin-top:1.5rem}.furniture-pin{padding-top:6.5rem}.furniture-heading h2{font-size:3.6vw}.card-image{height:32vh;min-height:220px}.vision-copy h2{font-size:5vw}.approach-copy h2{font-size:var(--ds-heading-size-desktop-2);}.contact-copy h2{font-size:5.8vw}.contact-copy>p:last-child{margin-top:1rem}}
@media(max-width:1100px){.site-header nav{gap:1.4rem}.motion-toggle{padding-left:15px}.chapter-copy .body-copy{font-size:.95rem}.project-meta{font-size:.75rem}.furniture-intro{max-width:260px}.card-title{display:block}.card-title>span{display:block;margin-top:6px}.gallery-footer>span:last-child{display:none}}
@media(max-width:899px){:root{--gutter:7vw}html{scroll-padding-top:85px}.site-header{padding:20px var(--gutter);gap:15px}.wordmark{font-size:.7rem}.monogram{font-size:2.6rem}.site-header nav{gap:22px;margin-left:auto}.site-header nav a{font-size:.8rem}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}.nav-contact span{padding-left:6px}.motion-toggle{display:none}.pin{padding-top:7rem;padding-bottom:6rem;min-height:0}.hero-pin{min-height:100svh;justify-content:center;padding-top:10rem;padding-bottom:11rem}.hero-kicker{font-size:.7rem;margin-bottom:3rem}h1{font-size:clamp(4.6rem,14.2vw,8rem);line-height:.9}h1 span+span{margin-left:4vw}.hero-note{margin:3rem 0 0 auto}.hero-bottom{bottom:2.3rem}.hero-location{display:none}.vision-pin{display:block}.vision-copy h2{font-size:4.6rem}.vision-copy .body-copy{margin-top:2rem}.diagram-composition{margin-top:4rem}.influence-diagram{margin-top:2rem}.diagram-labels button{font-size:1.25rem;padding:0 0 12px}.diagram-heading{font-size:.7rem}.diagram-footnote{margin-top:2rem}.chapter-pin,.house-chapter .chapter-pin{display:flex;flex-direction:column;align-items:stretch;gap:3rem}.chapter-copy,.house-chapter .chapter-copy{width:100%;max-width:none;margin:0}.chapter-copy h2{font-size:clamp(3.5rem,10vw,5.5rem)}.chapter-copy .body-copy{font-size:1rem}.project-meta{margin-top:2rem}.mobile-project-image{width:100%;height:62vh;min-height:360px}.city-chapter .mobile-project-image{height:40vh;min-height:260px}.frame-caption,.house-chapter .frame-caption{position:static;order:3;margin-top:-1.5rem;font-size:.7rem}.chapter-number{display:none}.interior-pin{min-height:95svh;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2rem}.interior-title h2{font-size:clamp(3.6rem,11vw,6rem)}.interior-note{font-size:.95rem}.interior-detail{display:none}.furniture-pin{padding-bottom:4rem}.furniture-heading{display:block;margin-bottom:2rem}.furniture-heading h2{font-size:clamp(2.8rem,8vw,4.5rem)}.furniture-intro{display:flex;max-width:none;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem}.furniture-intro>p{font-size:.8rem;max-width:55%}.gallery-controls{gap:8px;margin:0}.gallery-count{display:none}.gallery-window{margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}.gallery-track{gap:20px;padding-right:var(--gutter)}.furniture-card{width:74vw;min-width:0}.card-image{height:47vh;min-height:300px}.card-title h3{font-size:1.8rem}.card-title>span{font-size:.75rem}.gallery-footer{gap:20px}.gallery-instruction{font-size:.65rem;max-width:70%;line-height:1.6}.approach-pin{display:flex;flex-direction:column;gap:3rem}.approach-image{width:100%;height:55vh}.approach-copy h2{font-size:var(--ds-heading-size-mobile-25);}.contact-pin{display:flex;flex-direction:column;align-items:stretch;padding-bottom:13rem;gap:2rem}.contact-copy{width:100%}.contact-copy h2{font-size:clamp(3.6rem,11vw,6rem)}.contact .mobile-project-image{width:100%;height:36vh;min-height:220px;order:2}.spoon-caption{position:static;font-size:.65rem;order:3;line-height:1.6}footer{display:grid;grid-template-columns:1fr auto;gap:20px;font-size:.75rem;bottom:2.5rem}footer a:first-child{margin:0}footer a:last-child{justify-self:end}.body-copy{max-width:36rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.motion-reduced{scroll-behavior:auto}.motion-reduced *,.motion-reduced *:before,.motion-reduced *:after{animation:none!important;transition:none!important}
.motion-enabled{scroll-padding-top:0}.site-header.solid{background:linear-gradient(color-mix(in srgb, var(--brand-plum) 96.078%, transparent) 75%,color-mix(in srgb, var(--brand-plum) 0%, transparent))}.site-header.solid.light{background:linear-gradient(color-mix(in srgb, var(--brand-paper) 96.078%, transparent) 75%,color-mix(in srgb, var(--brand-paper) 0%, transparent))}
.film-frame[data-scene="spoon"]{background:transparent}.film-frame[data-scene="spoon"] .film-border{opacity:0}.film-shot[data-shot="spoon"]{mask-image:linear-gradient(90deg,transparent,var(--brand-ink) 10%,var(--brand-ink) 95%,transparent),linear-gradient(0deg,transparent,var(--brand-ink) 10%,var(--brand-ink) 90%,transparent);mask-composite:intersect}
@supports(animation-timeline:view()){
@media(max-width:899px) and (prefers-reduced-motion:no-preference){
html:not(.motion-reduced) .mobile-project-image,html:not(.motion-reduced) .approach-image{animation:material-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
@keyframes material-reveal{from{opacity:.6;clip-path:inset(9% 0 0 0);transform:translateY(25px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
}}
@media(max-width:899px){.wordmark,.hero-kicker,.diagram-heading,.frame-caption,.house-chapter .frame-caption,.spoon-caption,.gallery-instruction{font-size:.75rem}.furniture-intro>p{font-size:.875rem}}
@media(max-width:1100px){.chapter-copy .body-copy{font-size:1rem}}

@font-face{font-family:Inter;src:url("/assets/00_Identita_Font%20e%20logo/Inter-variable.woff2") format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:var(--brand-ink);--paper:var(--brand-paper);--bronze:var(--brand-primary);--muted:var(--brand-muted);--line:color-mix(in srgb, var(--brand-muted) 27.059%, transparent);--content-left:clamp(150px,14vw,240px);--glass:linear-gradient(125deg,color-mix(in srgb, var(--brand-paper) 54.902%, transparent),color-mix(in srgb, var(--brand-paper) 37.647%, transparent) 55%,color-mix(in srgb, var(--brand-paper) 46.667%, transparent));--glass-border:color-mix(in srgb, var(--brand-white) 70.98%, transparent);--glass-shadow:var(--brand-shadow);font-family:var(--brand-font);background:var(--ink);color:var(--paper)}
html{scroll-behavior:auto;scroll-padding-top:112px}body{background:var(--ink)}h1,h2,h3,.monogram{font-family:var(--brand-font);font-weight:var(--brand-heading-weight);letter-spacing:-.055em}em{font-style:normal;color:inherit;font-weight:inherit}h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.05}.pin{padding-left:var(--content-left)}
.glass-panel,.hero-glass{background:var(--glass);border:var(--brand-border-width) solid var(--glass-border);border-radius:var(--brand-radius);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);box-shadow:var(--glass-shadow);color:var(--ink)}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{position:fixed;top:22px;left:var(--content-left);right:28px;width:auto;z-index:40;min-height:66px;padding:12px 22px;gap:20px;background:var(--glass);color:var(--ink);border-radius:calc(var(--brand-radius) * 0.9166666666666666);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35)}
.wordmark{font-size:14px;line-height:1.2;gap:17px;font-weight:500}.monogram{font-size:38px;font-weight:600;line-height:1;letter-spacing:-.08em}.site-header nav{gap:30px;font-size:14px}.site-header nav a{padding:8px 0}.nav-contact span{display:none}.motion-toggle{display:flex;border:0;border-left:var(--brand-border-width) solid color-mix(in srgb, var(--brand-ink) 20%, transparent);padding:6px 0 6px 15px;gap:8px;opacity:1}.motion-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.motion-toggle span{font-size:12px}.motion-toggle[aria-pressed=true] svg{opacity:.4}
.section-rail{position:fixed;left:24px;top:50%;transform:translateY(-50%);width:102px;z-index:45;padding:22px 9px;border-radius:25px;display:flex;flex-direction:column;gap:0}.section-rail a{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;font-size:12px;line-height:1.25;z-index:1;border-radius:var(--brand-radius-photo);padding:6px 3px}.rail-label{max-width:65px;font-weight:500}.rail-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--brand-paper);border:var(--brand-border-width) solid var(--brand-white);box-shadow:0 0 0 2px color-mix(in srgb, var(--brand-white) 0%, transparent);transition:background .2s,box-shadow .2s}.section-rail a[aria-current=location] .rail-dot{background:var(--bronze);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 18.824%, transparent)}.section-rail a[aria-current=location] .rail-label{font-weight:700}.rail-line{position:absolute;left:16px;top:50px;bottom:50px;width:1px;background:color-mix(in srgb, var(--brand-white) 56.471%, transparent)}.rail-line i{display:block;height:100%;width:100%;background:var(--bronze);transform-origin:top;transform:scaleY(0)}
.journey-background{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--brand-ink);overflow:hidden}.journey-background>img,.journey-background>canvas{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.journey-background canvas{opacity:0}.journey-background canvas.ready{opacity:1}.journey-background .cinematic-hero{z-index:2;transform:scale(1.08);will-change:transform,opacity;object-position:62% center}.construction-frame{opacity:0;z-index:3}.journey-shade{position:absolute;inset:0;z-index:4;background:linear-gradient(color-mix(in srgb, var(--brand-ink) 7.843%, transparent),transparent 25%,color-mix(in srgb, var(--brand-ink) 6.275%, transparent))}main{position:relative}
.journey-hero{height:460svh}.journey-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding:112px 5vw 48px var(--content-left)}.hero-glass{width:max-content;max-width:min(690px,75vw);padding:var(--ds-box-spacing-base-1);will-change:opacity,transform}.hero-glass h1{font-size:var(--ds-display-size-base-1);line-height:var(--ds-display-line-base-1);color:var(--brand-ink);letter-spacing:var(--ds-display-tracking-base-1);font-weight:var(--ds-display-weight-base-1);}.hero-glass h1 em{color:inherit}.scale-panel{position:absolute;left:var(--content-left);width:min(610px,69vw);padding:32px 36px;opacity:0;pointer-events:none}.scale-panel h2{font-size:clamp(2rem,3.1vw,3.2rem);line-height:1.1;letter-spacing:-.045em}.scale-graph{width:100%;height:auto;display:block;margin-top:22px;overflow:visible}.scale-curve{fill:none;stroke:color-mix(in srgb, var(--brand-ink) 56.471%, transparent);stroke-width:2;transition:stroke .2s}.scale-curve.is-active{stroke:var(--brand-primary);stroke-width:3}.graph-axis{stroke:color-mix(in srgb, var(--brand-ink) 20.784%, transparent);fill:none}.scale-labels{display:flex;justify-content:space-between;font-size:14px;gap:8px;color:var(--brand-ink)}
.urban-project{min-height:100svh}.urban-pin{position:sticky;top:0;height:100svh;padding:112px 0 24px;display:flex;flex-direction:column;justify-content:center;gap:18px;overflow:hidden;--board-height:min(72svh,850px)}.urban-top{padding:0 4vw 0 var(--content-left)}.urban-top h2{font:500 14px/1.4 Inter,sans-serif;letter-spacing:.15em;color:var(--brand-white);text-shadow:0 2px 10px var(--brand-ink)}.board-window{overflow:hidden;padding:0 4vw 0 var(--content-left);width:100%;}.board-track{display:flex;align-items:stretch;gap:0;width:max-content;will-change:transform}.project-intro,.project-outro{flex:none;width:430px;height:var(--board-height);padding:36px;display:flex;flex-direction:column;justify-content:center;gap:22px;border-radius:var(--brand-radius) 0 0 24px;border-right:0;box-shadow:none}.project-outro{width:390px;border-radius:0 24px 24px 0;border-left:0;border-right:var(--brand-border-width) solid var(--glass-border)}.board-track h3{font-size:clamp(2.4rem,3.4vw,3.8rem);line-height:1.04;letter-spacing:-.055em}.board-track p{font-size:16px;line-height:1.7;color:var(--brand-ink)}.board-track .project-place{font-size:16px;font-weight:600;color:var(--brand-primary)}.project-board{margin:0;display:block;flex:none;height:var(--board-height);background:var(--brand-paper)}.project-board img{height:100%;width:auto;max-width:none;object-fit:contain}.board-meter{height:2px;margin:0 4vw 0 var(--content-left);background:color-mix(in srgb, var(--brand-white) 31.373%, transparent)}.board-meter i{display:block;height:100%;background:var(--brand-paper);transform-origin:left}
.world-transition{height:580svh}.world-copy{opacity:0;max-width:520px;padding:var(--ds-box-spacing-base-2);}.world-copy h2{font-size:var(--ds-heading-size-base-1);line-height:var(--ds-heading-line-base-1);}.world-copy p{font-size:var(--ds-body-size-base-1);line-height:var(--ds-body-line-base-1);margin-top:24px;color:var(--brand-ink)}
.house-chapter{background:linear-gradient(90deg,color-mix(in srgb, var(--brand-ink) 0%, transparent),color-mix(in srgb, var(--brand-ink) 12.157%, transparent)),url("/assets/04_BYAT_Esterni/selected/01.webp") center/cover}.house-chapter .chapter-copy{padding:34px;background:var(--glass);border:var(--brand-border-width) solid var(--glass-border);border-radius:var(--brand-radius);color:var(--ink);backdrop-filter:blur(24px);width:48%;max-width:580px;box-shadow:var(--glass-shadow)}.house-chapter .chapter-copy h2{font-size:clamp(2.8rem,4.5vw,5rem)}.house-chapter .chapter-copy .body-copy,.house-chapter .project-meta{color:var(--brand-ink)}.house-chapter .mobile-project-image,.frame-caption,.chapter-number{display:none}.house-chapter .chapter-pin{min-height:110svh}.interior-title,.interior-note{background:var(--glass);border:var(--brand-border-width) solid var(--glass-border);border-radius:var(--brand-radius);padding:28px;backdrop-filter:blur(24px);color:var(--ink);box-shadow:var(--glass-shadow)}.interior-title h2{font-size:clamp(2.8rem,4.8vw,5rem)}.interior-title em,.interior-note>span{color:inherit}.interior-detail{display:none}.furniture em,.approach em{color:inherit}.furniture-heading h2,.approach-copy h2{font-size:var(--ds-heading-size-base-2);line-height:var(--ds-heading-line-base-2);}.approach .body-copy,.furniture-card>p,.card-title>span,.furniture-intro{color:var(--brand-ink)}.card-title h3{font-size:1.5rem;letter-spacing:-.04em}.card-image,.approach-image{border-radius:18px}.approach-image>span{display:none}.contact{background:var(--ink)}.contact-copy{width:55%}.contact-copy h2{font-size:clamp(2.8rem,4.6vw,5.4rem);line-height:1.05}.contact .mobile-project-image{width:45%;object-fit:contain}.contact .eyebrow,.spoon-caption{display:none}footer{left:var(--content-left)}.eyebrow,.project-meta,.card-title>span,.gallery-footer,footer,.email-address{font-size:14px}.project-link{font-size:16px}.body-copy{font-size:16px}
.static-journey .journey-hero{height:auto}.static-journey .journey-hero .journey-pin{min-height:100svh}.static-journey .urban-project{height:auto!important}.static-journey .urban-pin{position:relative;height:auto;min-height:100svh;background:var(--plum)}.static-journey .board-window{overflow-x:auto;scrollbar-width:thin}.static-journey .world-transition{height:100svh;background:var(--brand-ink) url("/assets/03_Nel%20Mondo_Zoom%20Terra%20BYAT/sequenza-v11/0072.webp") center/cover}.static-journey .world-copy{opacity:1!important}.static-journey .journey-pin{position:relative}.static-journey .hero-glass{opacity:1!important;transform:none!important}.static-journey .scale-panel{display:none}.static-journey .cinematic-hero{opacity:1!important;transform:none!important}
@media(max-width:1100px){.wordmark>span:not(.monogram){display:none}.site-header nav{gap:24px}.project-intro{width:385px;padding:28px}.scale-labels{font-size:13px}.section-rail{left:16px;width:94px}.interior-pin{flex-direction:column;align-items:flex-start;justify-content:flex-end}.interior-note{max-width:470px}.interior-note>span{margin-top:1rem}}
@media(max-width:899px){:root{--content-left:70px}.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:70px;right:12px;top:12px;min-height:56px;padding:10px 14px;gap:10px;border-radius:calc(var(--brand-radius) * 0.75)}.site-header nav{gap:16px}.site-header nav a,.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:block;font-size:13px}.site-header nav a:nth-child(2){display:none}.monogram{font-size:30px}.motion-toggle{display:flex;padding-left:10px;gap:0}.motion-toggle span{display:none}.section-rail{left:10px;width:44px;padding:18px 7px;border-radius:22px}.section-rail a{min-height:49px;justify-content:center;padding:6px}.rail-label{position:absolute;left:39px;white-space:nowrap;max-width:none;background:color-mix(in srgb, var(--brand-paper) 92.941%, transparent);color:var(--brand-ink);border-radius:7px;padding:6px 9px;opacity:0;pointer-events:none}.section-rail a:hover .rail-label,.section-rail a:focus-visible .rail-label{opacity:1}.rail-line{left:21px;top:42px;bottom:42px}.journey-pin{padding:90px 16px 45px var(--content-left);align-items:center}.journey-hero{height:390svh}.hero-glass{padding:var(--ds-box-spacing-mobile-1);max-width:100%;border-radius:calc(var(--brand-radius) * 0.9166666666666666)}.hero-glass h1{font-size:var(--ds-display-size-mobile-1);line-height:var(--ds-display-line-mobile-1);}.scale-panel{left:var(--content-left);right:16px;width:auto;padding:25px 18px}.scale-panel h2{font-size:2rem}.scale-graph{margin-top:16px}.scale-labels{font-size:11px;gap:4px}.urban-pin{padding-top:90px;gap:16px;--board-height:66svh}.urban-top{padding-right:16px}.urban-top h2{font-size:12px}.board-window{padding-right:16px}.project-intro,.project-outro{width:calc(100vw - 86px);padding:22px;gap:18px}.board-track h3{font-size:clamp(1.85rem,6vw,2.5rem)}.board-track p{font-size:15px;line-height:1.65}.board-track .project-place{font-size:14px}.project-intro p:last-child{display:none}.project-board img{height:var(--board-height);max-width:none}.world-transition{height:470svh}.world-transition .journey-pin{align-items:flex-end;padding-bottom:6svh}.world-copy{padding:var(--ds-box-spacing-mobile-2);max-width:100%}.world-copy h2{font-size:var(--ds-heading-size-mobile-1);}.world-copy p{font-size:var(--ds-body-size-mobile-1);margin-top:18px}.house-chapter .chapter-copy{width:100%;padding:26px}.house-chapter .chapter-pin{justify-content:flex-end}.house-chapter .chapter-copy h2{font-size:2.7rem}.pin{padding-right:20px}.interior-title,.interior-note{padding:22px}.interior-title h2{font-size:2.6rem}.furniture-heading h2,.approach-copy h2{font-size:var(--ds-heading-size-mobile-2);}.furniture-intro{display:block}.furniture-intro>p{max-width:none;font-size:15px}.gallery-controls{margin-top:14px;justify-content:flex-start}.gallery-window{margin-right:-20px;padding-right:20px}.furniture-card{width:calc(100vw - 95px)}.contact-copy{width:100%}.contact-copy h2{font-size:2.5rem}.contact .mobile-project-image{width:100%;height:25svh}.contact-pin{padding-bottom:15rem}.contact-email{font-size:15px}.email-address{overflow-wrap:anywhere}footer{font-size:12px;right:20px;gap:18px}.static-journey .world-transition{background-size:contain;background-position:center 15%;background-repeat:no-repeat}.static-journey .urban-pin{--board-height:66svh}}
@media(max-height:650px){.section-rail{padding-top:12px;padding-bottom:12px}.section-rail a{min-height:38px}.rail-line{top:31px;bottom:31px}.hero-glass{padding:var(--ds-box-spacing-responsive-1);}.hero-glass h1{font-size:var(--ds-display-size-responsive-1);}.urban-pin{padding-top:90px;--board-height:62svh;gap:10px}.project-intro,.project-outro{gap:12px;padding:22px}.board-track h3{font-size:2rem}.board-track p{font-size:14px;line-height:1.45}.project-intro p:last-child{display:none}.scale-panel{padding:24px;width:440px;max-width:calc(100vw - var(--content-left) - 20px)}.scale-panel h2{font-size:2rem}.scale-graph{max-height:135px}.world-copy h2{font-size:var(--ds-heading-size-responsive-1);}.world-copy{padding:var(--ds-box-spacing-responsive-2);}.world-copy p{font-size:var(--ds-body-size-responsive-1);}}
@media(prefers-reduced-transparency:reduce){.glass-panel,.hero-glass,.site-header,.site-header.solid{background:color-mix(in srgb, var(--brand-paper) 93.725%, transparent);backdrop-filter:none}}
/* v0.4: fixed hero, opaque rising project, scroll-driven Earth to BYAT. */
main{z-index:1}
.journey-hero,.static-journey .journey-hero{height:100svh;position:relative;z-index:0}
.journey-hero .journey-pin,.static-journey .journey-hero .journey-pin{position:fixed;inset:0;height:100svh}
.journey-background .cinematic-hero{transform:none;will-change:auto}
.hero-glass{will-change:auto}
.urban-project{position:relative;z-index:2;background:var(--brand-paper);color:var(--brand-ink);border-radius:30px 30px 0 0;box-shadow:0 -16px 60px color-mix(in srgb, var(--brand-ink) 13.333%, transparent)}
.urban-pin,.static-journey .urban-pin{background:var(--brand-paper);border-radius:30px 30px 0 0}
.urban-top h2{color:var(--brand-ink);text-shadow:none}
.project-intro,.project-outro{background:var(--brand-paper);border-color:var(--brand-paper);backdrop-filter:none;color:var(--brand-ink)}
.board-meter{background:color-mix(in srgb, var(--brand-ink) 12.549%, transparent)}.board-meter i{background:var(--brand-primary)}
.world-transition,.static-journey .world-transition{position:relative;z-index:3;background:var(--brand-ink);height:900svh}
.world-transition .journey-pin{isolation:isolate;overflow:hidden;background:var(--brand-ink)}
.world-visual{position:absolute;left:36%;top:0;width:64%;height:100%;z-index:-1;overflow:hidden;background:var(--brand-ink)}
.world-visual canvas,.world-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.world-visual canvas{opacity:0}.world-visual canvas.ready{opacity:1}
.world-visual .byat-arrival{object-fit:cover;opacity:0;transform:scale(1.07)}
.world-copy{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--brand-paper);padding:var(--ds-box-spacing-base-3);max-width:40%;opacity:1}
.world-copy h2{font-size:var(--ds-heading-size-base-3);}.world-copy p{color:var(--brand-muted)}
main>section:nth-child(n+4){position:relative;z-index:4}
.static-journey .world-transition{height:100svh;background:var(--brand-ink)}
.static-journey .world-transition .journey-pin{height:100svh}
@media(max-width:899px){.world-transition{height:760svh}.world-visual{left:0;width:100%;top:4svh;height:62%}.world-transition .journey-pin{padding-bottom:8svh}.world-copy{max-width:100%;width:100%;padding:var(--ds-box-spacing-mobile-3);}.world-copy h2{font-size:var(--ds-heading-size-mobile-3);}.world-copy p{font-size:var(--ds-body-size-mobile-2);}.urban-project,.urban-pin{border-radius:22px 22px 0 0}}
/* v0.5 — shared clear glass and horizontal navigation timeline */
:root{--content-left:clamp(24px,6vw,110px);--glass:linear-gradient(125deg,color-mix(in srgb, var(--brand-white) 14.118%, transparent),color-mix(in srgb, var(--brand-paper) 4.314%, transparent) 55%,color-mix(in srgb, var(--brand-white) 8.627%, transparent));--glass-border:color-mix(in srgb, var(--brand-white) 45.882%, transparent);--glass-shadow:var(--brand-shadow);--bronze:var(--brand-primary)}
.glass-defs{position:fixed;pointer-events:none}
.glass-panel,.hero-glass,.house-chapter .chapter-copy,.interior-title,.interior-note{background:var(--glass);backdrop-filter:blur(3px) saturate(1.12);-webkit-backdrop-filter:blur(3px) saturate(1.12);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}
@supports(backdrop-filter:url('#glass-refraction')){.glass-panel,.hero-glass,.house-chapter .chapter-copy,.interior-title,.interior-note{backdrop-filter:url('#glass-refraction') blur(3px) saturate(1.12)}}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:24px;right:24px;top:18px;min-height:82px;padding:12px 20px;gap:24px;background:var(--glass);backdrop-filter:blur(3px) saturate(1.12);-webkit-backdrop-filter:blur(3px) saturate(1.12);color:var(--brand-ink)}
.site-header.over-dark{color:var(--brand-paper);text-shadow:0 1px 6px color-mix(in srgb, var(--brand-ink) 53.333%, transparent)}
.site-header .wordmark{flex:none}.site-header .wordmark>span:not(.monogram){display:none}.site-header .monogram{font-size:38px}
.site-header .header-timeline{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;gap:0;margin:0;align-self:stretch;align-items:stretch}
.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;font-size:clamp(11px,1vw,14px);line-height:1.25;padding:0 5px 20px;min-height:52px;gap:0;outline-offset:2px}
.header-timeline .timeline-label{margin:auto 0;max-width:180px;font-weight:500;text-shadow:0 1px 5px color-mix(in srgb, var(--brand-white) 33.333%, transparent)}
.site-header.over-dark .timeline-label{text-shadow:0 1px 5px color-mix(in srgb, var(--brand-ink) 53.333%, transparent)}
.site-header .header-timeline a:after{display:none}
.timeline-line{position:absolute;left:calc(100% / 14);right:calc(100% / 14);bottom:6px;height:3px;background:color-mix(in srgb, var(--brand-muted) 43.922%, transparent);border-radius:5px;overflow:hidden}
.timeline-line i{display:block;width:100%;height:100%;background:var(--bronze);transform:scaleX(0);transform-origin:left}
.timeline-dot{position:absolute;bottom:2px;width:11px;height:11px;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 60%, transparent);border-radius:50%;background:var(--brand-paper);transition:background .2s,box-shadow .2s}
.header-timeline .is-passed .timeline-dot,.header-timeline a[aria-current=location] .timeline-dot{background:var(--bronze);border-color:var(--brand-primary)}
.header-timeline a[aria-current=location] .timeline-dot{box-shadow:0 0 0 5px color-mix(in srgb, var(--brand-primary) 21.961%, transparent),0 0 14px color-mix(in srgb, var(--brand-primary) 37.647%, transparent)}
.header-timeline a[aria-current=location] .timeline-label{font-weight:700}
.site-header .motion-toggle{flex:none;padding-left:14px;margin:0;border-color:currentColor}.motion-toggle span{display:none}
.hero-glass{background:linear-gradient(125deg,color-mix(in srgb, var(--brand-white) 15.686%, transparent),color-mix(in srgb, var(--brand-white) 5.49%, transparent));text-shadow:0 1px 12px color-mix(in srgb, var(--brand-white) 39.608%, transparent)}.hero-glass h1{color:var(--brand-ink)}
.journey-background .cinematic-hero{will-change:transform;transform:scale(1.18)}
.hero-scroll-hint{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);width:48px;height:64px;display:grid;place-items:center;color:var(--brand-white);transition:opacity .18s;filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--brand-ink) 60%, transparent))}
.hero-scroll-hint svg{width:32px;height:46px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:scroll-breathe 2.8s ease-in-out infinite}
.hero-scroll-hint.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes scroll-breathe{0%,100%{opacity:.3;transform:translateY(-3px)}50%{opacity:1;transform:translateY(3px)}}
.project-intro,.project-outro{background:var(--brand-paper);backdrop-filter:none;-webkit-backdrop-filter:none}
.world-transition .world-visual{left:0;top:0;width:100%;height:100%}
.world-visual .earth-poster{width:68%;height:100%;left:36%;object-fit:contain}
.world-copy{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.world-visual .byat-arrival{object-fit:cover}
.static-journey .hero-scroll-hint svg{animation:none}
@media(max-width:899px){:root{--content-left:24px}.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:12px;right:12px;top:10px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:10px 12px;min-height:108px;border-radius:calc(var(--brand-radius) * 0.8333333333333334)}.site-header .wordmark{grid-row:1;grid-column:1;gap:10px}.site-header .wordmark>span:not(.monogram){display:block;font-size:11px}.site-header .monogram{font-size:26px}.site-header .motion-toggle{grid-row:1;grid-column:2;padding:2px 4px;border:0}.site-header .header-timeline{grid-row:2;grid-column:1/-1;width:100%}.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:10px;padding:0 2px 17px;min-height:47px}.timeline-dot{width:9px;height:9px;bottom:3px}.timeline-line{bottom:6px}.header-timeline a[aria-current=location] .timeline-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 21.961%, transparent)}.journey-pin{padding-top:130px}.urban-pin{padding-top:140px;--board-height:62svh}.project-intro,.project-outro{width:calc(100vw - 48px)}.world-visual .earth-poster{width:100%;height:60%;left:0;top:3%}.hero-scroll-hint{bottom:28px}.hero-glass{max-width:100%}.furniture-card{width:calc(100vw - 48px)}}
@media(max-width:420px){.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:9px}.timeline-label{overflow-wrap:normal}}
@media(prefers-reduced-motion:reduce){.hero-scroll-hint svg{animation:none}}
@media(prefers-reduced-transparency:reduce){.glass-panel,.hero-glass,.site-header{background:color-mix(in srgb, var(--brand-paper) 93.725%, transparent);backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports(backdrop-filter:url('#glass-refraction')){.site-header,.site-header.solid,.site-header.light{backdrop-filter:url('#glass-refraction') blur(3px) saturate(1.12)}}
/* v0.6: centred compact header aligned to the hero copy. */
:root{--header-inset:clamp(32px,14vw,240px)}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:var(--header-inset);right:var(--header-inset);gap:16px;padding-left:18px;padding-right:18px}
.journey-hero .journey-pin{padding-left:var(--header-inset)}
.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:clamp(10px,.9vw,13px);padding-left:3px;padding-right:3px}
@media(max-width:899px){:root{--header-inset:24px}.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{gap:6px 12px;padding-left:12px;padding-right:12px}.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:9px;padding-left:1px;padding-right:1px}}
@media(max-width:360px){:root{--header-inset:18px}.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:8px}}
:root{--plum:var(--brand-plum)}
.brand-logo{width:64px;height:64px;object-fit:contain;filter:brightness(0) invert(1)}
.site-header .wordmark{width:46px;margin:-8px;display:flex;justify-content:center}.site-header:not(.over-dark) .brand-logo{filter:brightness(0)}
.hero-glass h1{color:var(--brand-white);font-size:var(--ds-display-size-base-2);line-height:var(--ds-display-line-base-2);letter-spacing:var(--ds-display-tracking-base-2);text-shadow:0 2px 18px color-mix(in srgb, var(--brand-ink) 33.333%, transparent)}.hero-glass{color:var(--brand-white);background:linear-gradient(125deg,color-mix(in srgb, var(--brand-white) 8.627%, transparent),color-mix(in srgb, var(--brand-white) 3.137%, transparent));text-shadow:0 2px 15px color-mix(in srgb, var(--brand-ink) 40%, transparent)}
.urban-project,.urban-pin,.static-journey .urban-pin{background:var(--plum);color:var(--brand-white)}.urban-pin{padding:122px 0 16px;gap:10px;--board-height:calc(100svh - 148px)}
.board-track .project-intro,.board-track .project-outro{background:color-mix(in srgb, var(--brand-white) 5.098%, transparent);border-color:color-mix(in srgb, var(--brand-white) 18.824%, transparent);color:var(--brand-white)}.board-track p,.board-track .project-place{color:var(--brand-paper)}.board-track .project-place{color:var(--brand-primary)}.board-meter{background:color-mix(in srgb, var(--brand-white) 14.51%, transparent)}
.world-transition,.world-transition .journey-pin,.world-visual,.static-journey .world-transition{background:var(--plum)}
.static-journey .world-transition{background:var(--plum) url("/assets/03_Nel%20Mondo_Zoom%20Terra%20BYAT/sequenza-v11/0072.webp") center/contain no-repeat}
.byat-story{position:relative;background:var(--plum);height:420svh;color:var(--brand-white)}.interior-story{height:300svh}.byat-pin{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}
.byat-scene{position:absolute;inset:0;will-change:transform,opacity;background:var(--plum)}.byat-scene>img{width:100%;height:100%;object-fit:cover}.byat-scene:nth-child(2){z-index:2}.byat-scene:nth-child(3){z-index:3}
.scene-aerial{inset:120px 4vw 24px;border-radius:var(--brand-radius);overflow:hidden}.scene-aerial>img{object-position:center}.byat-copy{position:absolute;left:var(--content-left);bottom:7svh;width:min(430px,42vw);padding:var(--ds-box-spacing-base-4);color:var(--brand-white);background:linear-gradient(125deg,color-mix(in srgb, var(--brand-plum) 31.373%, transparent),color-mix(in srgb, var(--brand-white) 5.49%, transparent));border-color:color-mix(in srgb, var(--brand-white) 43.922%, transparent);text-shadow:0 1px 10px color-mix(in srgb, var(--brand-ink) 26.667%, transparent)}
.byat-copy h2{font-size:var(--ds-heading-size-base-4);line-height:var(--ds-heading-line-base-3);}.byat-copy p{font-size:var(--ds-body-size-base-2);line-height:var(--ds-body-line-base-2);margin-top:18px}.byat-copy small{display:block;margin-top:14px;font-size:11px;color:var(--brand-paper)}.scene-aerial .byat-copy{left:3vw;bottom:3vw}.scene-terrace>img{width:74%;margin-left:auto}.scene-terrace .byat-copy{left:5vw;bottom:15svh}
.furniture{background:var(--brand-paper);color:var(--brand-ink)}.furniture-pin{position:sticky;top:0;height:100svh;padding:126px 0 22px;overflow:hidden;display:flex;flex-direction:column;gap:22px}.furniture-pin>h2{padding:0 var(--content-left);font-size:clamp(2.5rem,4vw,4.5rem);flex:none}
.gallery-window{overflow:hidden;margin:0;padding:0 var(--content-left);width:100%;flex:1;min-height:0}.gallery-track{display:flex;gap:24px;height:100%;padding:0;width:max-content;will-change:transform}.furniture-card{display:block;flex:none;width:62vw;min-width:0;height:100%;padding:var(--ds-box-spacing-base-3);border:0;background:var(--brand-paper);border-radius:calc(var(--brand-radius) * 0.75);overflow:hidden;cursor:zoom-in}.furniture-card>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.furniture-card:hover>img{transform:scale(1.025)}
.project-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--brand-plum);color:var(--brand-white);overflow:hidden;z-index:200}.project-dialog::backdrop{background:var(--brand-plum)}.project-dialog[open]{display:block}.dialog-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;cursor:zoom-out}.dialog-heading{position:absolute;top:25px;left:28px;right:72px;z-index:2;display:flex;justify-content:space-between;gap:20px;pointer-events:none;font-size:13px;text-shadow:0 1px 8px var(--brand-ink);background:color-mix(in srgb, var(--brand-plum) 27.059%, transparent);width:max-content;max-width:80vw;padding:8px 12px;border-radius:var(--brand-radius-photo);backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:20px;right:24px;z-index:5;width:32px;height:32px;font-size:25px;font-weight:300;color:var(--brand-white);background:color-mix(in srgb, var(--brand-plum) 31.373%, transparent);border-radius:50%;line-height:1}
.dialog-thumbs{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;display:flex;gap:8px;padding:8px;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 14.51%, transparent);border-radius:15px;background:color-mix(in srgb, var(--brand-plum) 45.882%, transparent);backdrop-filter:blur(12px);overflow-x:auto;z-index:3}.dialog-thumbs button{flex:none;width:70px;height:52px;border-radius:calc(var(--brand-radius-button) * 0.23333333333333334);padding:0;border:2px solid transparent;overflow:hidden;opacity:.6}.dialog-thumbs button[aria-pressed=true]{border-color:var(--brand-primary);opacity:1}.dialog-thumbs img{width:100%;height:100%;object-fit:cover}
.static-journey .byat-story{height:auto}.static-journey .byat-pin{position:relative;height:auto;overflow:visible}.static-journey .byat-scene{position:relative;inset:auto;height:100svh;opacity:1!important;transform:none!important;visibility:visible!important}.static-journey .furniture{height:auto!important}.static-journey .furniture-pin{position:relative}.static-journey .gallery-window{overflow-x:auto}
@media(max-width:899px){.brand-logo{width:44px;height:44px}.site-header .wordmark{width:38px;margin:-8px 0}.urban-pin{padding-top:132px;--board-height:calc(100svh - 158px)}.byat-story{height:360svh}.interior-story{height:260svh}.scene-aerial{inset:130px 14px 18px}.byat-copy,.scene-aerial .byat-copy,.scene-terrace .byat-copy{left:18px;right:18px;bottom:30px;width:auto;padding:var(--ds-box-spacing-mobile-4);}.byat-copy h2{font-size:var(--ds-heading-size-mobile-4);}.byat-copy p{font-size:var(--ds-body-size-mobile-2);}.scene-terrace>img{width:100%;margin:0}.scene-aerial .byat-copy{left:12px;right:12px;bottom:12px}.furniture-pin{padding-top:138px;gap:18px}.furniture-pin>h2{font-size:2.4rem}.furniture-card{width:82vw}.dialog-thumbs button{width:52px;height:42px}.dialog-heading{top:15px;left:10px;font-size:11px}.dialog-close{right:12px;top:15px}.dialog-thumbs{bottom:14px;gap:5px}}

/* Interior clay walkthrough: frame-exact scroll background, coloured panels above. */
.interior-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72);pointer-events:none}
.interior-story .byat-scene{background:transparent}
.interior-story .byat-scene>img{position:absolute;inset:18% 5% auto auto;width:65%;height:65%;object-fit:cover;border-radius:18px;box-shadow:0 24px 80px color-mix(in srgb, var(--brand-ink) 33.333%, transparent)}
.interior-story .byat-copy{bottom:7%;left:5%;max-width:430px;color:var(--brand-white);background:color-mix(in srgb, var(--brand-plum) 20%, transparent)}
@media(max-width:700px){.interior-story .byat-scene>img{top:22%;right:5%;width:90%;height:48%}.interior-story .byat-copy{bottom:6%;max-width:85%}}
@media(prefers-reduced-motion:reduce){.interior-motion{display:none}.interior-story .byat-scene>img{position:relative;inset:auto;width:100%;height:65vh}}

.static-journey .interior-motion{display:none}.static-journey .interior-story .byat-scene>img{position:relative;inset:auto;width:100%;height:65vh}

/* One shared grid: header, text and horizontal viewports share their edges. */
:root{--page-margin:clamp(28px,10vw,160px);--content-left:var(--page-margin);--header-inset:var(--page-margin);--gutter:var(--page-margin);--plum:var(--brand-plum);--panel-top:132px;--panel-bottom:40px;--glass:linear-gradient(125deg,color-mix(in srgb, var(--brand-white) 9.412%, transparent),color-mix(in srgb, var(--brand-white) 3.137%, transparent));--glass-border:var(--brand-border)}
body{background:var(--plum)}
.glass-panel,.hero-glass,.site-header,.site-header.solid,.site-header.light{backdrop-filter:blur(var(--brand-blur));-webkit-backdrop-filter:blur(var(--brand-blur))}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:var(--page-margin);right:var(--page-margin);width:auto;padding:12px 28px;gap:24px;min-height:84px}
.site-header .wordmark{width:48px;height:48px;flex:0 0 48px;margin:0 8px 0 0;align-self:center;align-items:center;justify-content:center}
.brand-logo{width:48px;height:48px;object-fit:contain}
.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:clamp(10px,.9vw,13px)}
.journey-pin,.journey-hero .journey-pin,.world-transition .journey-pin{padding:var(--panel-top) var(--page-margin) 70px;align-items:center}
.hero-glass,.world-copy{width:min(680px,100%);max-width:100%;padding:var(--ds-box-spacing-base-5);border:var(--brand-border-width) solid var(--glass-border);border-radius:var(--brand-radius);color:var(--brand-white);background:linear-gradient(120deg,color-mix(in srgb, var(--brand-plum) 72.157%, transparent),color-mix(in srgb, var(--brand-plum) 52.157%, transparent));box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--brand-blur));-webkit-backdrop-filter:blur(var(--brand-blur));text-shadow:none}
.hero-glass h1{font-size:var(--ds-display-size-base-3);color:var(--brand-white);text-shadow:none}
.hero-intro{max-width:540px;margin-top:28px;font-size:var(--ds-body-size-base-3);line-height:var(--ds-body-line-base-2);color:var(--brand-paper)}
.world-copy{max-width:min(600px,100%);position:relative;z-index:2}
.world-copy h2{font-size:var(--ds-heading-size-base-5);}
.world-copy p{color:var(--brand-paper);font-size:var(--ds-body-size-base-1);line-height:var(--ds-body-line-base-2);margin-top:24px}
.urban-project,.urban-pin,.static-journey .urban-pin,.world-transition,.world-transition .journey-pin,.world-visual,.static-journey .world-transition{background:var(--plum)}
.urban-pin{padding:var(--panel-top) 0 var(--panel-bottom);--board-height:calc(100svh - var(--panel-top) - var(--panel-bottom) - 12px)}
.board-window,.gallery-window,.byat-window{width:100%;margin:0;padding:0;overflow:hidden;scroll-snap-type:none}
.board-track,.gallery-track,.byat-track{padding-inline:var(--page-margin)!important}
.board-meter,.byat-meter{margin:0 var(--page-margin);height:2px;background:color-mix(in srgb, var(--brand-white) 12.549%, transparent)}
.project-intro,.project-outro{width:min(400px,calc(var(--viewport-width,100vw) - 2 * var(--page-margin)));padding:28px}
.board-track .project-intro,.board-track .project-outro{background:color-mix(in srgb, var(--brand-white) 3.529%, transparent)}
.board-track p{font-size:16px}
/* A single horizontal BYAT strip. No layered slides or opacity crossfades. */
.byat-story{background:var(--plum);color:var(--brand-white);position:relative;height:auto}
.byat-pin{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;padding:var(--panel-top) 0 var(--panel-bottom);display:flex;flex-direction:column;gap:24px}
.byat-window{position:relative;flex:1;min-height:0;z-index:1}
.byat-track{display:flex;gap:32px;width:max-content;height:100%;will-change:transform}
.byat-panel{position:relative;flex:none;width:calc(var(--viewport-width,100vw) - 2 * var(--page-margin));height:100%;display:flex;flex-direction:column;align-items:stretch;gap:var(--ds-box-spacing-base-6);}
.byat-panel figure{order:0;flex:1;min-height:0;width:100%;margin:0;border-radius:calc(var(--brand-radius) * 0.9166666666666666);overflow:hidden;background:color-mix(in srgb, var(--brand-white) 1.569%, transparent)}
.byat-panel figure img{width:100%;height:100%;object-fit:contain}
.byat-copy{position:relative;order:1;display:grid;grid-template-columns:1fr 1.35fr;gap:var(--ds-box-spacing-base-7);align-items:center;inset:auto;width:auto;max-width:none;bottom:auto;left:auto;padding:var(--ds-box-spacing-base-8);color:var(--brand-white);background:linear-gradient(135deg,color-mix(in srgb, var(--brand-plum) 53.333%, transparent),color-mix(in srgb, var(--brand-plum) 86.667%, transparent));border:var(--brand-border-width) solid var(--glass-border);text-shadow:none}
.byat-copy h2{font-size:var(--ds-heading-size-base-6);line-height:var(--ds-heading-line-base-2);}
.byat-copy p{font-size:var(--ds-body-size-base-2);line-height:var(--ds-body-line-base-2);margin-top:0;color:var(--brand-paper)}
.byat-copy small{font-size:12px;color:var(--brand-muted);grid-column:2;margin:0}
.interior-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(.7);pointer-events:none;z-index:0}
.byat-meter{flex:none;position:relative;z-index:1}.byat-meter i{display:block;height:100%;background:var(--bronze);transform-origin:left}
/* A distinct object gallery, with a readable opening card and explicit affordances. */
.furniture{background:var(--brand-paper);color:var(--brand-plum);border-top:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 37.647%, transparent)}
.furniture-pin{padding:var(--panel-top) 0 var(--panel-bottom);gap:0}
.gallery-track{gap:28px;height:100%;padding:0}
.furniture-lead{width:min(430px,calc(var(--viewport-width,100vw) - 2 * var(--page-margin)));flex:none;padding:var(--ds-box-spacing-base-9);display:flex;flex-direction:column;justify-content:center;gap:var(--ds-box-spacing-base-10);color:var(--brand-plum);background:linear-gradient(135deg,color-mix(in srgb, var(--brand-white) 73.333%, transparent),color-mix(in srgb, var(--brand-white) 33.333%, transparent));border-color:var(--brand-white)}
.furniture-lead h2{font-size:var(--ds-heading-size-base-7);line-height:var(--ds-heading-line-base-4);}
.furniture-lead p{font-size:var(--ds-body-size-base-1);line-height:var(--ds-body-line-base-2);max-width:300px}
.furniture-lead .gallery-guide{font-size:14px;color:var(--brand-plum);margin-top:16px}
.furniture-card{position:relative;width:min(560px,calc(var(--viewport-width,100vw) - 2 * var(--page-margin)));min-width:0;max-width:none;flex:none;height:100%;background:var(--brand-muted);isolation:isolate;text-align:left}
.furniture-card>img{position:absolute;top:0;left:0;height:calc(100% - 90px);object-fit:cover;padding:var(--ds-box-spacing-base-3);object-position:var(--image-position,50% 50%);transform:scale(1);transition:transform .55s cubic-bezier(.2,.65,.25,1)}
.furniture-card[data-project=brain]{--image-position:53% 55%}
.furniture-card[data-project=chess]{--image-position:49% 60%}
.furniture-card[data-project=cork]{--image-position:54% 45%}
.furniture-card[data-project=easel]{--image-position:50% 48%}
.furniture-card:hover>img,.furniture-card:focus-visible>img{transform:scale(1.035)}
.project-card-label{position:absolute;bottom:0;left:0;right:0;min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;background:var(--brand-paper);color:var(--brand-plum);font-size:20px}
.gallery-open{font-size:13px;white-space:nowrap;padding:10px 13px;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-plum) 40%, transparent);border-radius:30px}
.furniture-card:hover .gallery-open{background:var(--plum);color:var(--brand-white)}
/* A modal floating inside the same site margins, with the page visible behind it. */
.project-dialog{inset:0;margin:auto;width:calc(var(--viewport-width,100vw) - 2 * var(--page-margin));max-width:1200px;height:82dvh;max-height:850px;padding:72px 24px 106px;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 39.608%, transparent);border-radius:26px;background:linear-gradient(135deg,color-mix(in srgb, var(--brand-plum) 86.667%, transparent),color-mix(in srgb, var(--brand-plum) 90.196%, transparent));box-shadow:0 30px 100px color-mix(in srgb, var(--brand-ink) 40%, transparent);color:var(--brand-white);overflow:hidden}
.project-dialog::backdrop{background:color-mix(in srgb, var(--brand-plum) 30.196%, transparent);backdrop-filter:blur(5px)}
.dialog-image{position:relative;inset:auto;width:100%;height:100%;object-fit:contain;border-radius:10px;cursor:default}
.dialog-heading{top:22px;left:26px;right:70px;width:auto;max-width:none;padding:0;background:none;backdrop-filter:none;font-size:16px;align-items:center}
.dialog-close{top:16px;right:19px;width:36px;height:36px}
.dialog-thumbs{bottom:18px;max-width:calc(100% - 48px);background:color-mix(in srgb, var(--brand-white) 4.706%, transparent)}
.pin{padding-left:var(--page-margin);padding-right:var(--page-margin)}
.approach-pin{gap:5vw}.contact-pin{padding-left:var(--page-margin);padding-right:var(--page-margin)}
footer{left:var(--page-margin);right:var(--page-margin)}
.static-journey .byat-story{height:auto!important}.static-journey .byat-pin{position:relative;height:auto;min-height:100svh}
.static-journey .byat-window{overflow-x:auto;flex:none;height:calc(100svh - var(--panel-top) - var(--panel-bottom))}
.static-journey .byat-track{transform:none!important}.static-journey .interior-motion{display:none}
.static-journey .gallery-window,.static-journey .board-window{overflow-x:auto}
.static-journey .furniture-pin{height:100svh}
@media(max-width:1100px){.byat-panel{grid-template-columns:1fr 1.25fr;gap:var(--ds-box-spacing-responsive-3);}.byat-copy{padding:var(--ds-box-spacing-responsive-4);}.site-header,.site-header.solid,.site-header.light{gap:16px;padding-left:22px;padding-right:22px}.byat-copy h2{font-size:var(--ds-heading-size-responsive-2);}}
@media(max-width:899px){
 :root{--page-margin:24px;--panel-top:150px;--panel-bottom:26px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{padding:10px 18px;gap:7px 14px;min-height:112px;top:12px}
 .site-header .wordmark{width:36px;height:32px;flex-basis:36px;margin:0 0 0 4px}.brand-logo{width:36px;height:36px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:10px;min-height:48px}
 .hero-glass,.world-copy{padding:var(--ds-box-spacing-mobile-9);width:100%}.hero-glass h1{font-size:var(--ds-display-size-mobile-2);}.hero-intro{margin-top:24px;font-size:var(--ds-body-size-mobile-4);line-height:var(--ds-body-line-mobile-2);}
 .world-copy h2{font-size:var(--ds-heading-size-mobile-7);}.world-copy p{font-size:var(--ds-body-size-mobile-4);}
 .world-transition .journey-pin{align-items:flex-end;padding-bottom:var(--panel-bottom)}
 .byat-panel{display:flex;flex-direction:column;gap:var(--ds-box-spacing-mobile-10);align-items:stretch}.byat-panel figure{order:0;flex:1;min-height:0}.byat-copy{order:1;padding:var(--ds-box-spacing-mobile-4);flex:none}
 .byat-copy{display:block}.byat-copy h2{font-size:var(--ds-heading-size-mobile-8);}.byat-copy h2 br:after{content:' '}.byat-copy p{font-size:var(--ds-body-size-mobile-1);line-height:var(--ds-body-line-mobile-3);margin-top:12px}.byat-copy small{margin-top:8px}
 .byat-pin{gap:14px}.furniture-lead{padding:var(--ds-box-spacing-mobile-9);}.furniture-lead h2{font-size:var(--ds-heading-size-mobile-9);}.project-card-label{display:block;font-size:18px;padding:15px}.gallery-open{display:inline-block;margin-top:8px;font-size:12px;padding:6px 11px}.furniture-card>img{height:calc(100% - 110px)}
 .project-dialog{height:80dvh;padding:68px 14px 90px;border-radius:22px}.dialog-heading{font-size:14px;left:18px;right:58px}.dialog-thumbs{bottom:13px;max-width:calc(100% - 28px)}.dialog-thumbs button{width:52px;height:42px}
 .contact-copy{width:100%}.contact .mobile-project-image{max-width:100%}.approach-pin{gap:32px}
}
@media(max-height:700px){.hero-glass{padding:var(--ds-box-spacing-responsive-5);}.hero-glass h1{font-size:var(--ds-display-size-responsive-2);}.hero-intro{font-size:var(--ds-body-size-responsive-2);line-height:var(--ds-body-line-responsive-1);margin-top:16px}.byat-copy{padding:var(--ds-box-spacing-responsive-6);}.byat-copy h2{font-size:var(--ds-heading-size-responsive-3);}.byat-copy p{font-size:var(--ds-body-size-responsive-3);margin-top:10px}.world-copy{padding:var(--ds-box-spacing-responsive-5);}.world-copy h2{font-size:var(--ds-heading-size-responsive-4);}}
@media(prefers-reduced-transparency:reduce){.hero-glass,.world-copy,.byat-copy,.project-dialog{background:var(--brand-plum);backdrop-filter:none}}

@media(max-width:600px){.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:9px;padding-left:1px;padding-right:1px;min-height:60px}.header-timeline .timeline-label{overflow-wrap:anywhere;line-height:1.15}.site-header{min-height:124px}:root{--panel-top:160px}}

@media(max-width:600px){.site-header .header-timeline{grid-template-columns:1fr 1.6fr 1.25fr 1fr 1fr 1fr 1fr}.header-timeline .timeline-label{overflow-wrap:normal;letter-spacing:-.025em}.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:8.5px}}

/* The text and globe occupy separate measured slots at every viewport size. */
.world-transition{height:1100svh}
.world-copy{width:46%;max-width:600px;flex:none}
.world-copy h2{font-size:var(--ds-heading-size-base-8);}
.world-copy p{font-size:var(--ds-body-size-base-4);}
.byat-render-pause{position:absolute;inset:var(--panel-top) var(--page-margin) var(--panel-bottom);z-index:3;margin:auto;max-width:1260px;height:fit-content;max-height:100%;padding:clamp(18px,2.2vw,36px);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(22px,3vw,48px);background:linear-gradient(125deg,color-mix(in srgb, var(--brand-plum) 54.902%, transparent),color-mix(in srgb, var(--brand-plum) 37.647%, transparent));border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 33.333%, transparent);border-radius:26px;box-shadow:0 24px 80px color-mix(in srgb, var(--brand-ink) 26.667%, transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform}
.byat-render-pause img{grid-column:2;grid-row:1;width:100%;height:auto;max-height:calc(100svh - var(--panel-top) - var(--panel-bottom) - 100px);object-fit:contain;border-radius:14px}
.byat-render-pause figcaption{grid-column:1;grid-row:1;color:var(--brand-white);display:flex;flex-direction:column;gap:22px}
.byat-render-pause .render-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-paper)}
.byat-render-pause h2{font-size:clamp(1.8rem,3.2vw,3.6rem);line-height:1.07}
.byat-render-pause p{font-size:clamp(14px,1.15vw,17px);line-height:1.65;color:var(--brand-paper)}
.static-journey .world-transition{background:var(--plum)}
/* The 3D tour has already introduced the exterior and entered the house.
   Static mode keeps the exterior photographs as an alternative to the tour. */
html:not(.static-journey) .byat-panel:nth-child(-n+3){display:none}
.interior-motion{display:none}
@media(max-width:899px){
 .world-copy{width:100%;max-width:100%;padding:var(--ds-box-spacing-mobile-4);}
 .world-copy h2{font-size:var(--ds-heading-size-mobile-10);}
 .world-copy p{font-size:var(--ds-body-size-mobile-2);line-height:var(--ds-body-line-mobile-3);margin-top:14px}
 .byat-render-pause{padding:20px;gap:18px;border-radius:22px}
 .byat-render-pause figcaption{gap:14px}
}
@media(max-width:699px) and (max-aspect-ratio:1/1){
 .byat-render-pause{grid-template-columns:1fr;gap:18px}
 .byat-render-pause figcaption{grid-column:1;grid-row:1;gap:12px}
 .byat-render-pause img{grid-column:1;grid-row:2;max-height:calc((100svh - var(--panel-top) - var(--panel-bottom)) * .48)}
 .byat-render-pause h2{font-size:1.8rem}
 .byat-render-pause p{font-size:13px;line-height:1.5}
}
@media(max-height:600px){
 .byat-render-pause{padding:14px;gap:20px}
 .byat-render-pause h2{font-size:1.6rem}
 .byat-render-pause figcaption{gap:8px}
 .byat-render-pause p{font-size:12px;line-height:1.45}
 .byat-render-pause .render-kicker{font-size:10px}
}
@media(max-height:600px){
 .world-copy{padding:var(--ds-box-spacing-responsive-7);}
 .world-copy h2{font-size:var(--ds-heading-size-responsive-5);}
 .world-copy p{font-size:var(--ds-body-size-responsive-4);margin-top:10px}
}
@media(max-width:899px) and (min-aspect-ratio:4/3){
 .world-copy{width:46%;max-width:600px}
 .world-transition .journey-pin{align-items:center}
}

/* Round 1: editorial content in the existing panels and grid. */
.board-track .project-intro,.board-track .project-outro,.furniture-lead{overflow-y:auto;justify-content:flex-start}
.board-track .project-intro p:last-child{display:block}
.board-track .project-award{font-size:12px;line-height:1.5}
.furniture-lead .gallery-guide{margin-top:0}
.editorial-dialog{overflow:auto;padding:48px;line-height:1.7}
.editorial-dialog h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:28px}
.editorial-dialog p+p{margin-top:20px}
.editorial-dialog .eyebrow{margin-top:28px}
.journey-note{position:absolute;left:var(--page-margin);bottom:var(--panel-bottom);max-width:min(440px,calc(100% - 2 * var(--page-margin)));padding:24px;color:var(--brand-white);opacity:0;visibility:hidden;pointer-events:none}
.journey-note p{display:flex;gap:12px;align-items:center;line-height:1.6}
.journey-note p+p{margin-top:12px}
.journey-note svg{width:22px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.byat-render-pause{max-width:none;height:calc(100svh - var(--panel-top) - var(--panel-bottom));margin:0;overflow:auto;pointer-events:auto}
.static-byat-detail{display:none}
.static-journey .static-byat-detail{display:block}
html:not(.static-journey) .byat-panel:nth-child(-n+3){display:flex}
.interior-motion{display:block}
.byat-copy{max-height:65%;overflow:auto}
.butera-project{border-radius:0;box-shadow:none}
.butera-track{gap:48px}
.butera-copy h3{font-size:clamp(1.85rem,2.6vw,3rem)}
.butera-track .project-board{display:flex;flex-direction:column;gap:12px;flex:none;background:transparent}
.butera-track .project-board img{height:calc(var(--board-height) - 44px);object-fit:contain}
.butera-track figcaption{font-size:12px;line-height:1.4;color:inherit}
.butera-project .board-meter i{transform-origin:left}
.profile .approach-copy{width:auto}
.profile .body-copy{max-width:none}
.contact-paths{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-box-spacing-base-22);margin-top:32px}
.contact .contact-paths .eyebrow{display:block;margin-bottom:16px}
.contact-paths h3{font-size:var(--ds-heading-size-base-13);line-height:var(--ds-heading-line-base-7);margin-bottom:16px}
.contact-paths p{font-size:var(--ds-body-size-base-2);line-height:var(--ds-body-line-base-2);}
.contact-paths .project-link{margin-top:20px;gap:var(--ds-box-spacing-base-23);}
.contact-copy{max-width:none}
.contact-pin{padding-bottom:220px}
.contact footer{flex-wrap:wrap;line-height:1.6}
.contact-paths{grid-template-columns:1fr}
.static-journey .butera-project{height:auto!important}
.static-journey .butera-project .urban-pin{position:relative}
@media(max-width:899px){
 .editorial-dialog{padding:56px 24px 28px}
 .profile .approach-copy{width:100%}
 .contact-paths{grid-template-columns:1fr;gap:var(--ds-box-spacing-mobile-53);}
 .contact-pin{padding-bottom:280px}
 .byat-copy{max-height:70%}
}

/* User-requested refinement: timebar, reading panels and contrasting glass. */
:root{--timeline-margin:clamp(18px,6vw,96px);--glass-on-light:var(--brand-surface-light);--glass-on-dark:var(--brand-surface-dark)}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:var(--timeline-margin);right:var(--timeline-margin);display:block;padding:14px 24px;min-height:90px;color:var(--brand-white);background:var(--glass-on-light)}
.site-header.over-dark{background:var(--glass-on-dark);color:var(--brand-white)}
.site-header:not(.over-dark){color:var(--brand-white)}
.site-header .header-timeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;gap:0}
.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:clamp(12px,1.05vw,15px);line-height:1.25;min-height:60px;padding:0 5px 18px;letter-spacing:0}
.site-header .timeline-label{max-width:170px;min-height:38px;display:flex;align-items:center;justify-content:center;letter-spacing:0;text-shadow:none}
.site-header .timeline-home .brand-logo,.site-header:not(.over-dark) .brand-logo{width:38px;height:38px;filter:brightness(0) invert(1)}
.timeline-line{bottom:4px}.timeline-dot{bottom:0}
.journey-note{top:calc(var(--panel-top) + 24px);bottom:auto;left:52%;max-width:min(460px,calc(100% - 2 * var(--timeline-margin)));padding:24px 30px;background:var(--glass-on-light);border-color:color-mix(in srgb, var(--brand-white) 27.059%, transparent);box-shadow:var(--glass-shadow)}
.journey-note.on-dark{background:var(--glass-on-dark)}
.journey-note.location-note{width:max-content}
.journey-note.location-note strong{font-size:clamp(25px,2.8vw,38px);font-weight:500;line-height:1.15}
.journey-note svg{width:30px;height:34px}
.journey-note.project-note strong{font-size:clamp(19px,1.8vw,26px);font-weight:500}
.journey-note.project-note p+p{font-size:16px;line-height:1.6}
.world-transition .journey-pin{overflow:hidden}
.exterior-window{position:absolute;inset:var(--panel-top) 0 var(--panel-bottom);width:100%;overflow:hidden;z-index:3;opacity:0;visibility:hidden}
.exterior-track{display:flex;width:max-content;height:100%;gap:32px;padding:0 var(--timeline-margin);will-change:transform}
.exterior-meter{position:absolute;bottom:20px;left:var(--timeline-margin);right:var(--timeline-margin);margin:0;z-index:4;opacity:0}
.exterior-track .byat-panel,.byat-track .byat-panel{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);align-items:stretch;gap:var(--ds-box-spacing-base-12);padding:var(--ds-box-spacing-base-17);width:calc(var(--viewport-width,100vw) - 2 * var(--timeline-margin));height:100%;border-radius:calc(var(--brand-radius) * 1.0833333333333333);background:var(--glass-on-dark);border:var(--brand-border-width) solid var(--glass-border);box-shadow:var(--glass-shadow);overflow:hidden}
.byat-track{padding-inline:var(--timeline-margin)!important}
.byat-panel .byat-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--ds-box-spacing-base-6);grid-column:1;grid-row:1;order:0;padding:var(--ds-box-spacing-base-3);margin:0;min-width:0;max-height:100%;border:0;border-radius:0;box-shadow:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow-y:auto}
.byat-panel .byat-copy h2{font-size:var(--ds-heading-size-base-11);line-height:var(--ds-heading-line-base-5);}
.byat-panel .byat-copy p{font-size:var(--ds-body-size-base-7);line-height:var(--ds-body-line-base-2);margin:0}
.byat-panel .byat-copy .render-kicker{font-size:var(--ds-caption-size-base-2);letter-spacing:var(--ds-caption-tracking-base-1);line-height:var(--ds-caption-line-base-2);}
.byat-panel figure{grid-column:2;grid-row:1;order:1;min-height:0;height:100%;width:100%;margin:0;display:flex;align-items:center;justify-content:center;background:none;border-radius:calc(var(--brand-radius) * 0.5833333333333334);overflow:hidden}
.byat-panel figure img{width:100%;height:100%;object-fit:contain}
.exterior-window.over-image .byat-panel{background:var(--glass-on-light)}
#casa .byat-panel{background:var(--glass-on-light)}
.byat-meter{margin-inline:var(--timeline-margin)}
.interior-motion{opacity:1;filter:brightness(.85)}
.approach-copy h3{font-family:inherit;font-size:var(--ds-heading-size-base-12);line-height:var(--ds-heading-line-base-6);margin-bottom:22px;letter-spacing:var(--ds-heading-tracking-base-1);}
.approach-copy h2{margin-bottom:22px}
.approach-copy .body-copy{max-width:none}
.approach-pin{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
#approccio .approach-pin{padding-top:var(--panel-top)}
.butera-track .project-board{gap:0}
.butera-track .project-board img{height:var(--board-height)}
.contact-pin{padding-top:var(--panel-top);padding-bottom:180px}
.contact-copy{width:100%}
.contact-paths{grid-template-columns:1fr 1fr;gap:var(--ds-box-spacing-base-18);margin-top:32px}
.contact-path{padding:var(--ds-box-spacing-base-19);display:flex;flex-direction:column;align-items:flex-start;border-radius:var(--brand-radius);background:var(--glass-on-dark);color:var(--brand-white)}
.contact .contact-paths .eyebrow{font-size:var(--ds-caption-size-base-2);letter-spacing:var(--ds-caption-tracking-base-2);margin:0 0 20px;color:inherit}
.contact-paths h3{margin-bottom:20px}
.contact-paths p{margin-bottom:26px;color:var(--brand-paper)}
.contact-paths .contact-cta{display:flex;justify-content:space-between;align-items:center;gap:var(--ds-box-spacing-base-20);width:100%;margin-top:auto;padding:var(--ds-box-spacing-base-21);border-bottom:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 39.608%, transparent);font-size:15px;line-height:1.5}
.contact-cta span{font-size:22px}
.contact-cta:hover,.contact-cta:focus-visible{color:var(--bronze)}
.contact-manifesto{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:64px}
.contact-manifesto blockquote{margin:0}
.contact-manifesto blockquote p{font-size:clamp(30px,4.5vw,60px);line-height:1.1;letter-spacing:-.04em}
.contact-manifesto cite{display:block;font-size:14px;line-height:1.5;font-style:normal;margin-top:20px}
.contact-manifesto img{width:100%;height:auto;max-height:360px;object-fit:contain;background:transparent}
.static-journey .world-transition{height:auto!important}
.static-journey .world-transition .journey-pin{position:relative;height:auto;display:block;padding:var(--panel-top) 0 var(--panel-bottom)}
.static-journey .world-copy{margin:0 var(--page-margin) 48px;width:auto;max-width:680px}
.static-journey .world-visual{display:none}
.static-journey .exterior-window{position:relative;inset:auto;visibility:visible!important;opacity:1!important;overflow-x:auto;height:calc(100svh - var(--panel-top) - var(--panel-bottom));min-height:460px}
.static-journey .exterior-track{transform:none!important}
.static-journey .exterior-meter{display:none}
@media(max-width:899px){
 :root{--timeline-margin:16px;--panel-top:154px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{top:12px;padding:12px 6px;min-height:104px;border-radius:calc(var(--brand-radius) * 0.8333333333333334)}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:11px;line-height:1.25;min-height:78px;padding:0 3px 20px;letter-spacing:0}
 .site-header .timeline-label{max-width:100%;min-height:54px;overflow-wrap:normal;letter-spacing:0;line-height:1.25}
 .site-header .timeline-home .brand-logo{width:30px;height:30px}
 .journey-note{left:var(--timeline-margin);right:var(--timeline-margin);top:calc(var(--panel-top) + 12px);width:auto;max-width:none;padding:20px 24px}
 .journey-note.location-note{width:max-content;max-width:calc(100% - 2 * var(--timeline-margin))}
 .journey-note.project-note p+p{font-size:14px}
 .exterior-track .byat-panel,.byat-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);}
 .byat-panel .byat-copy{gap:var(--ds-box-spacing-mobile-10);justify-content:flex-start}
 .byat-panel .byat-copy h2{font-size:var(--ds-heading-size-mobile-21);}
 .byat-panel .byat-copy p{font-size:var(--ds-body-size-mobile-2);line-height:var(--ds-body-line-mobile-12);}
 .contact-paths{grid-template-columns:1fr}
 .contact-manifesto{gap:20px;margin-top:48px}
 .contact-pin{padding-bottom:250px}
}
@media(max-width:480px){
 :root{--timeline-margin:8px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{padding-inline:4px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:10px;padding-inline:1px}
 .site-header .header-timeline .timeline-label{letter-spacing:-.015em}
 .exterior-track .byat-panel,.byat-track .byat-panel{padding:var(--ds-box-spacing-mobile-51);gap:var(--ds-box-spacing-mobile-52);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .byat-panel .byat-copy h2{font-size:var(--ds-heading-size-mobile-22);}
 .byat-panel .byat-copy .render-kicker{font-size:var(--ds-caption-size-mobile-10);}
 .contact-manifesto{grid-template-columns:1fr}
 .contact-manifesto img{max-height:260px}
}

/* 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 :is(h2,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}
}

.site-header .header-timeline{grid-template-columns:repeat(8,minmax(0,1fr))}
.timeline-line{left:6.25%;right:6.25%}
.hero-glass{display:flex;align-items:center;gap:var(--ds-box-spacing-base-11);width:min(960px,calc(100vw - 2 * var(--page-margin)));max-width:none}
.hero-copy{flex:1;min-width:0}.hero-profile{width:clamp(120px,16vw,230px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;flex:none;border:3px solid color-mix(in srgb, var(--brand-white) 50.196%, transparent);box-shadow:0 8px 40px color-mix(in srgb, var(--brand-ink) 20%, transparent)}
.award-badge{width:78px;height:100px;object-fit:contain}
#citta .award-block .project-award{font-size:12px;line-height:1.5}
.journey-note.palm-note{left:calc(50% + 78px);transform:translateY(-50%)}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:8;width:44px;height:44px;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 50.196%, transparent);border-radius:50%;background:color-mix(in srgb, var(--brand-plum) 53.333%, transparent);backdrop-filter:blur(12px);color:var(--brand-white);font:32px/1 sans-serif;cursor:pointer;opacity:0;transition:opacity .18s,background .18s;display:grid;place-items:center}
.photo-arrow.previous{left:16px}.photo-arrow.next{right:16px}.photo-stage:hover .photo-arrow,.photo-stage:focus-within .photo-arrow,.project-dialog:hover .dialog-arrow,.project-dialog:focus-within .dialog-arrow{opacity:1}.photo-arrow:hover{background:color-mix(in srgb, var(--brand-plum) 80%, transparent)}.photo-arrow:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px;opacity:1}
.interior-minimize{position:absolute;top:12px;right:16px;z-index:10;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 56.471%, transparent);background:color-mix(in srgb, var(--brand-white) 40%, transparent);color:var(--brand-plum);border-radius:50%;width:32px;height:32px;font:24px/1 sans-serif;cursor:pointer}
.interior-panel{position:relative}.interior-mini{display:none}
#casa.is-minimized .byat-window{flex:none;height:var(--compact-header-height,84px);min-height:0;max-height:none;align-self:flex-start;margin-top:0}
#casa.is-minimized .byat-track,#casa.is-minimized .interior-panel{height:100%;min-height:0}
#casa.is-minimized .interior-panel{display:flex!important;flex-direction:row;padding:10px 62px 10px 18px;align-items:center;width:calc(var(--viewport-width,100vw) - 2 * var(--page-margin));border-radius:20px}
#casa.is-minimized .interior-panel>.byat-copy,#casa.is-minimized .interior-panel>.photo-gallery{display:none}
#casa.is-minimized .interior-mini{display:flex;align-items:center;gap:18px;font-size:clamp(16px,2vw,24px);font-weight:600}
.interior-mini img{height:calc(var(--compact-header-height,84px) - 22px);width:90px;object-fit:cover;border-radius:9px}
#casa.is-minimized .interior-minimize{top:50%;transform:translateY(-50%)}
.contact{height:190svh!important}.contact .contact-pin{position:sticky;top:0;height:100svh;isolation:isolate}
.contact-spoon-background{position:absolute;inset:4% 0;width:100%;height:92%;object-fit:contain;z-index:-1;pointer-events:none;opacity:0}
#devmode{position:fixed;right:12px;bottom:12px;z-index:100001;width:300px;max-width:calc(100vw - 24px);padding:12px;border:var(--brand-border-width) solid #ffffff55;border-radius:13px;color:var(--brand-white);background:#241b27ed;box-shadow:0 8px 30px #0004;font:12px/1.45 ui-monospace,monospace;backdrop-filter:blur(15px)}
#devmode summary{cursor:pointer;letter-spacing:.06em}#devmode summary span{color:#d4b778;float:right}#devmode code{display:block;overflow-wrap:anywhere;font-size:11px;margin:9px 0;color:#e7d5ac}#devmode label{display:inline-flex;gap:6px;align-items:center;margin:5px 10px 5px 0}#devmode button{border:var(--brand-border-width) solid #ffffff50;background:#ffffff15;color:white;border-radius:calc(var(--brand-radius-button) * 0.2);padding:6px 8px;cursor:pointer;font:inherit;margin:4px 3px 0 0}#devmode output{display:block;margin-top:7px;overflow-wrap:anywhere}#devmode input[type=number]{width:48px;background:#fff;color:#222;border:0;border-radius:3px;padding:3px}#dev-grid{position:fixed;inset:0;z-index:99998;pointer-events:none}.dev-drag-enabled [data-dev-id]{cursor:move!important}.dev-selected{outline:2px dashed #ffc75a!important;outline-offset:4px}
@media(hover:none){.photo-arrow{opacity:1}}
@media(max-width:650px){.hero-glass{gap:var(--ds-box-spacing-mobile-11);flex-wrap:wrap}.hero-profile{width:100px;order:-1}.hero-copy{flex-basis:100%}.hero-glass h1{font-size:var(--ds-display-size-mobile-3);}.journey-note.palm-note{left:calc(50% + 48px);max-width:calc(50vw - 60px);padding:10px!important;font-size:12px}.journey-note.dubai-note{left:calc(50% - 25px)}.photo-arrow{width:36px;height:36px}.contact{height:auto!important}.contact .contact-pin{height:auto;min-height:100svh;position:relative}.contact-spoon-background{opacity:var(--contact-spoon-opacity,0)}}
@media(prefers-reduced-motion:reduce){.contact{height:auto!important}.contact .contact-pin{position:relative;height:auto}.contact-spoon-background{opacity:.12!important}}
@media(max-width:650px){.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:8px}.header-timeline .timeline-label{overflow-wrap:normal;word-break:normal}.contact{height:calc(var(--contact-content-height,100svh) + 90svh)!important}.contact .contact-pin{position:sticky;top:min(0px,calc(100svh - var(--contact-content-height,100svh)))} }

.hero-glass{width:min(1240px,calc(100vw - 2 * var(--page-margin)));gap:var(--ds-box-spacing-base-12);}
.hero-profile{width:clamp(240px,32vw,460px);max-width:44%;height:auto}
.site-header .header-timeline{grid-template-columns:repeat(9,minmax(0,1fr))}
.timeline-line{left:calc(100% / 18);right:calc(100% / 18)}
.timeline-projects{position:relative;display:flex;min-width:0}.timeline-projects>[data-section]{width:100%}
.projects-menu{position:absolute;top:100%;right:-45px;padding:16px;width:280px;max-width:calc(100vw - 48px);border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 40%, transparent);border-radius:calc(var(--brand-radius) * 0.75);background:color-mix(in srgb, var(--brand-plum) 96.078%, transparent);backdrop-filter:blur(24px);box-shadow:0 16px 50px color-mix(in srgb, var(--brand-ink) 26.667%, transparent);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:15}
.timeline-projects.menu-open .projects-menu{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.site-header .header-timeline .projects-menu a,.site-header .header-timeline .projects-menu a:nth-child(n){display:block;min-height:0;padding:10px 12px;text-align:left;color:var(--brand-white);font-size:13px;line-height:1.4;border-radius:7px}
.site-header .header-timeline .projects-menu a:hover,.site-header .header-timeline .projects-menu a:focus-visible{background:color-mix(in srgb, var(--brand-white) 9.412%, transparent);color:var(--brand-primary)}
.dev-drag-enabled [data-dev-id]{pointer-events:auto!important;touch-action:none}
.dev-drag-enabled .journey-note{z-index:20}
#devmode{max-height:calc(100dvh - 24px);overflow-y:auto}
#devmode .dev-sizing label{display:flex;margin:9px 0;gap:8px;flex-wrap:wrap}#devmode select{width:100%;background:#332b39;color:var(--brand-white);border:var(--brand-border-width) solid #ffffff50;padding:6px;border-radius:5px;font:inherit}
#devmode input[type=range]{width:125px;accent-color:#dd955d}#devmode .dev-sizing output{display:inline;margin:0}
#casa.is-minimized .interior-mini{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.4fr);width:100%;height:100%;gap:24px}
.interior-mini-title{font-size:clamp(18px,2.3vw,34px);line-height:1.15;letter-spacing:-.035em;font-weight:650}
.interior-mini-thumbs{display:flex;align-items:stretch;gap:10px;height:100%;min-width:0;overflow-x:auto;padding:3px;scrollbar-width:thin}
.interior-mini-thumbs button{position:relative;flex:1 0 0;min-width:40px;border:2px solid color-mix(in srgb, var(--brand-white) 50.196%, transparent);border-radius:calc(var(--brand-radius-button) * 0.3333333333333333);overflow:hidden;background:color-mix(in srgb, var(--brand-white) 12.549%, transparent);padding:0;cursor:pointer}
.interior-mini-thumbs button[aria-pressed=true]{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-primary)}
.interior-mini-thumbs button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}
.interior-mini .interior-mini-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.contact-manifesto{min-height:80px}
.contact .contact-path{background:linear-gradient(125deg,color-mix(in srgb, var(--brand-ink) 90.98%, transparent),color-mix(in srgb, var(--brand-ink) 90.98%, transparent))}
@media(max-width:899px){.hero-profile{width:clamp(220px,32vw,360px)}.hero-glass h1{font-size:var(--ds-display-size-mobile-4);}.interior-mini-title{font-size:clamp(16px,2.3vw,22px)}#casa.is-minimized .interior-mini{gap:12px;grid-template-columns:minmax(135px,.75fr) minmax(0,1.5fr)}}
@media(max-width:650px){.hero-profile{width:200px;max-width:65%;order:-1}.hero-glass{gap:var(--ds-box-spacing-mobile-11);}.hero-glass h1{font-size:var(--ds-display-size-mobile-3);}.site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:8px;padding-inline:0}.site-header .header-timeline{grid-template-columns:repeat(9,minmax(0,1fr))}.projects-menu{right:-35px;width:250px}.interior-mini-title{font-size:14px}#casa.is-minimized .interior-mini{grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);gap:8px}.interior-mini-thumbs{gap:5px}.interior-mini-thumbs button{min-width:30px}#casa.is-minimized .interior-panel{padding-left:12px;padding-right:46px}.interior-minimize{right:8px}}
@media(prefers-reduced-motion:reduce){.contact-spoon-background{opacity:1!important}.projects-menu{transition:none}}
#page-scroll-indicator{position:fixed;right:max(3px,calc(var(--page-margin) / 2 - 20px));top:50%;transform:translateY(-50%);width:40px;height:68px;padding:0;border:0;background:none;z-index:45;cursor:pointer;filter:drop-shadow(0 1px 3px color-mix(in srgb, var(--brand-ink) 53.333%, transparent))}
#page-scroll-indicator[hidden]{display:none}#page-scroll-indicator img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .18s}#page-scroll-indicator .scroll-icon-viola{opacity:0}#page-scroll-indicator.is-on-light{filter:none}#page-scroll-indicator.is-on-light .scroll-icon-viola{opacity:1}#page-scroll-indicator.is-on-light .scroll-icon-bianca{opacity:0}#page-scroll-indicator:focus-visible{outline:2px solid var(--bronze);outline-offset:4px;border-radius:10px}
@media(max-width:650px){#page-scroll-indicator{width:24px;height:48px;right:1px}}
@media(prefers-reduced-motion:reduce){#page-scroll-indicator img{transition:none}}

/* Hero anchored to the shared left margin, using its actual readable type sizes. */
@media(min-width:901px){.hero-glass{scale:none;transform-origin:left center}}
@media(max-width:899px){.hero-profile{width:clamp(150px,24vw,270px)}}
#casa.is-minimized .interior-mini{grid-template-columns:minmax(140px,.7fr) minmax(0,1.5fr);align-items:center;gap:20px}
.interior-mini-title{font-size:clamp(16px,1.65vw,25px);line-height:1.2}
.interior-mini-thumbs{align-items:center;justify-content:flex-end;gap:10px;overflow-x:auto;overflow-y:hidden}
.interior-mini-thumbs button{flex:0 0 auto;height:100%;max-height:100%;width:auto;min-width:0;aspect-ratio:4/3}
.interior-mini .interior-mini-thumbs img{width:100%;height:100%;object-fit:contain;object-position:center}
.butera-window{width:100%;margin-inline:0;padding-inline:var(--page-margin);overflow:hidden}
.butera-track{gap:24px}
@media(max-width:650px){
 #casa.is-minimized .interior-mini{grid-template-columns:minmax(80px,.65fr) minmax(0,1.35fr);gap:10px}
 .interior-mini-title{font-size:14px}
 .interior-mini-thumbs{justify-content:flex-start;gap:6px}
 .interior-mini-thumbs button{height:52px}
 .butera-track{gap:12px}
 .butera-track .byat-panel{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,.8fr);gap:var(--ds-box-spacing-mobile-11);}
 .butera-track .byat-copy{min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
 .butera-track .photo-gallery,.butera-track .letter-preview{grid-column:1;grid-row:2}
 .butera-track .photo-stage{height:calc(100% - 42px);aspect-ratio:auto}
}

/* Controls stay available in code; only their visual UI is suspended. */
.photo-arrow,.dialog-arrow,.gallery-controls{display:none!important}
#casa.is-minimized .interior-mini{grid-template-columns:145px minmax(120px,1fr) minmax(0,1.3fr);gap:20px}
.interior-mini-title{font-size:18px;line-height:1.2}
.interior-mini-body{align-self:stretch;min-width:0;min-height:0;max-height:100%;overflow:hidden;margin:0;font-size:14px;line-height:1.45;font-weight:400}
#skip-animation{position:fixed;right:var(--page-margin);bottom:72px;z-index:44;background:color-mix(in srgb, var(--brand-plum) 25.098%, transparent);border:var(--brand-border-width) solid currentColor;border-radius:20px;padding:10px 16px;color:var(--brand-white);font-family:inherit;font-size:14px;line-height:1.2;font-weight:500;cursor:pointer;backdrop-filter:blur(8px);transition:color .18s,background .18s}
#skip-animation.is-on-light{color:var(--brand-plum);background:color-mix(in srgb, var(--brand-white) 70.196%, transparent)}
#skip-animation[hidden]{display:none}
#skip-animation:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:1000px){#casa.is-minimized .interior-mini{grid-template-columns:125px minmax(100px,1fr) minmax(0,1fr);gap:12px}.interior-mini-title{font-size:16px}}
@media(max-width:650px){#casa.is-minimized .interior-mini{grid-template-columns:110px minmax(0,1fr);gap:8px}.interior-mini-body{display:none}.interior-mini-title{font-size:14px}#skip-animation{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){#skip-animation{display:none}}

.interior-motion,.interior-poster{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;filter:none}
.interior-motion:not(.ready){visibility:hidden}
.interior-motion.ready + .interior-poster{visibility:hidden}
.static-journey .interior-motion,.static-journey .interior-poster{display:none}
@media(prefers-reduced-motion:reduce){.static-journey .contact{height:auto!important}.static-journey .contact .contact-pin{position:relative;top:auto}}
/* Fixed copy columns and a clipped thumbnail viewport, driven by vertical progress. */
#casa.is-minimized .byat-window{height:clamp(96px,10svh,120px)}
#casa.is-minimized .interior-panel{padding:12px 64px 12px 20px}
#casa.is-minimized .interior-mini{grid-template-columns:clamp(145px,12vw,190px) minmax(160px,1fr) minmax(280px,1.4fr);gap:clamp(16px,2vw,28px)}
.interior-mini-title{font-size:clamp(16px,1.4vw,21px);line-height:1.2}
.interior-mini-body{font-size:clamp(14px,1vw,16px);line-height:1.45}
.interior-mini-thumbs{justify-content:flex-start;overflow:hidden;scrollbar-width:none;padding:3px;gap:10px;min-width:0;isolation:isolate}
.interior-mini-thumbs::-webkit-scrollbar{display:none}
.interior-mini-thumbs button{flex:none;height:100%;max-height:100%;width:auto;min-width:0}
.interior-mini-title,.interior-mini-body{min-width:0}
.byat-panel .byat-copy{justify-content:safe center;overscroll-behavior-y:contain;scrollbar-width:thin}
.byat-panel .byat-copy>*{flex-shrink:0}
.byat-panel .byat-copy h2,.butera-track .byat-copy h3{font-size:var(--ds-heading-size-base-9);line-height:var(--ds-heading-line-base-5);}
.byat-panel .byat-copy p{font-size:var(--ds-body-size-base-5);line-height:var(--ds-body-line-base-3);}
.byat-panel .byat-copy .render-kicker{font-size:var(--ds-caption-size-base-1);line-height:var(--ds-caption-line-base-1);letter-spacing:var(--ds-caption-tracking-base-1);}
.photo-gallery{min-width:0;min-height:0}
.photo-stage .photo-slide{object-fit:contain}
.exterior-panel .photo-stage .photo-slide{object-fit:contain}
.contact-copy,.contact-path,.contact-paths,.contact footer>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.contact .contact-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact{height:calc(var(--contact-content-height,100svh) + 90svh)!important}
.contact .contact-pin{height:auto;min-height:100svh;flex-wrap:nowrap;top:min(0px,calc(100svh - var(--contact-content-height,100svh)))}
.approach-copy h2{font-size:var(--ds-heading-size-base-10);}
.approach-copy .body-copy{font-size:var(--ds-body-size-base-6);line-height:var(--ds-body-line-base-2);}
@media(min-width:1800px){
 .byat-panel .byat-copy{max-width:620px}
 .exterior-track .byat-panel,.byat-track .byat-panel,.butera-track .byat-panel{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--ds-box-spacing-desktop-1);}
 .photo-gallery{width:100%;max-width:1250px;justify-self:center}
}
@media(max-width:1100px){
 :root{--page-margin:clamp(20px,4vw,44px)}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:12px}
 .site-header .timeline-label{overflow-wrap:normal;line-height:1.2}
 #casa.is-minimized .interior-mini{grid-template-columns:155px minmax(0,1fr);gap:18px}
 .interior-mini-body{display:none}
 .byat-panel .byat-copy{gap:var(--ds-box-spacing-responsive-8);}
 .byat-panel .byat-copy h2,.butera-track .byat-copy h3{font-size:var(--ds-heading-size-responsive-6);}
 .byat-panel .byat-copy p{font-size:var(--ds-body-size-responsive-5);line-height:var(--ds-body-line-responsive-2);}
 .approach-pin{gap:32px}
}
@media(max-width:700px),(max-width:1100px) and (max-aspect-ratio:1/1){
 :root{--panel-bottom:64px}
 .exterior-track .byat-panel,.byat-track .byat-panel,.butera-track .byat-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,auto) minmax(0,1fr);gap:var(--ds-box-spacing-mobile-12);padding:var(--ds-box-spacing-mobile-13);}
 .byat-panel .byat-copy{grid-column:1;grid-row:1;align-self:start;justify-content:flex-start;max-height:min(42svh,360px);overflow:auto;gap:var(--ds-box-spacing-mobile-14);}
 .byat-panel .byat-copy h2,.butera-track .byat-copy h3{font-size:var(--ds-heading-size-mobile-11);}
 .byat-panel .byat-copy p{font-size:var(--ds-body-size-mobile-5);line-height:var(--ds-body-line-mobile-4);margin:0}
 .byat-panel .photo-gallery,.byat-panel .letter-preview{grid-column:1;grid-row:2;align-self:stretch;min-height:0;gap:var(--ds-box-spacing-mobile-15);justify-content:center}
 .byat-panel .photo-stage{height:calc(100% - 36px);max-height:calc(100% - 36px);aspect-ratio:auto;width:100%}
 .byat-panel .photo-slide{object-fit:contain}
 .byat-panel .letter-preview img{object-fit:contain;max-height:100%}
 .approach-pin{display:flex;flex-direction:column;height:auto;gap:28px;padding-bottom:60px}
 .approach-image{width:100%;height:auto;aspect-ratio:4/3;max-height:50svh;min-height:0}
 .approach-copy{width:100%}
 .approach-copy h2{font-size:var(--ds-heading-size-mobile-12);}
 .approach-copy .body-copy{font-size:var(--ds-body-size-mobile-5);line-height:var(--ds-body-line-mobile-5);}
}
@media(max-width:600px){
 :root{--page-margin:16px;--panel-top:148px;--panel-bottom:64px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{top:10px;min-height:0;padding:8px 12px;border-radius:calc(var(--brand-radius) * 0.8333333333333334)}
 .site-header .header-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 6px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){display:flex;align-items:center;justify-content:center;min-height:36px;padding:4px 2px;font-size:12px;line-height:1.15;border-radius:7px}
 .site-header .timeline-label{min-height:0;max-width:100%;white-space:normal;letter-spacing:0}
 .site-header .timeline-home .brand-logo{width:26px;height:26px}
 .site-header .timeline-dot,.site-header .timeline-line{display:none}
 .site-header [aria-current=location]{background:color-mix(in srgb, var(--brand-white) 14.118%, transparent);color:var(--brand-white)}
 .timeline-projects{grid-column:auto;grid-row:auto}
 .projects-menu{right:50%;top:100%;width:260px;transform:translate(50%,4px)}
 .timeline-projects.menu-open .projects-menu{transform:translateX(50%)}
 .site-header .header-timeline .projects-menu a{min-height:44px;justify-content:flex-start;font-size:14px}
 .journey-hero .journey-pin{padding:var(--panel-top) var(--page-margin) 64px;align-items:center}
 .hero-glass{display:grid;grid-template-columns:minmax(0,1fr) clamp(88px,26vw,112px);gap:var(--ds-box-spacing-mobile-16);padding:var(--ds-box-spacing-mobile-17);scale:none;border-radius:calc(var(--brand-radius) * 0.9166666666666666);width:100%;max-width:100%}
 .hero-copy{display:contents}
 .hero-glass h1{grid-column:1;grid-row:1;font-size:var(--ds-display-size-mobile-5);line-height:var(--ds-display-line-mobile-2);letter-spacing:var(--ds-display-tracking-mobile-1);align-self:center}
 .hero-profile{grid-column:2;grid-row:1;width:100%;height:auto;max-width:100%;order:0}
 .hero-intro{grid-column:1/-1;grid-row:2;margin:0;font-size:var(--ds-body-size-mobile-6);line-height:var(--ds-body-line-mobile-6);max-width:none}
 .exterior-track .byat-panel,.byat-track .byat-panel,.butera-track .byat-panel{padding:var(--ds-box-spacing-mobile-7);gap:var(--ds-box-spacing-mobile-6);border-radius:calc(var(--brand-radius) * 0.9166666666666666)}
 .byat-panel .byat-copy h2,.butera-track .byat-copy h3{font-size:var(--ds-heading-size-mobile-13);}
 .byat-panel .byat-copy p{font-size:var(--ds-body-size-mobile-7);line-height:var(--ds-body-line-mobile-6);}
 .byat-panel .byat-copy .render-kicker{font-size:var(--ds-caption-size-mobile-4);}
 #casa.is-minimized .byat-window{height:84px}
 #casa.is-minimized .interior-panel{padding:10px 46px 10px 12px;border-radius:18px}
 #casa.is-minimized .interior-mini{grid-template-columns:110px minmax(0,1fr);gap:10px}
 .interior-mini-title{font-size:14px;line-height:1.22}
 .interior-mini-thumbs{gap:8px}
 .interior-mini-thumbs button{height:100%;max-height:100%}
 .interior-minimize{width:30px;height:30px;right:8px}
 .project-intro,.project-outro{padding:22px;overflow:auto;overscroll-behavior:contain}
 #citta .project-intro :is(h2,h3){font-size:28px}
 #citta .project-intro>p{font-size:14px;line-height:1.5}
 #citta .copy-capacity{display:none}
 .furniture-lead{padding:var(--ds-box-spacing-mobile-18);gap:var(--ds-box-spacing-mobile-19);overflow:auto}
 .furniture-lead h2{font-size:var(--ds-heading-size-mobile-14);}
 .furniture-lead p{font-size:var(--ds-body-size-mobile-6);line-height:var(--ds-body-line-mobile-6);}
 .project-card-label{font-size:18px}
 .contact .contact-pin{padding-top:var(--panel-top);gap:20px}
 .contact-copy h2{font-size:clamp(30px,8vw,42px)}
 .contact .contact-paths{grid-template-columns:minmax(0,1fr);gap:var(--ds-box-spacing-mobile-6);}
 .contact-paths h3{font-size:var(--ds-heading-size-mobile-5);}
 .contact-paths p{font-size:var(--ds-body-size-mobile-7);}
 .contact footer{grid-template-columns:1fr;gap:14px;overflow-wrap:anywhere;font-size:13px}
 .contact footer a:last-child{justify-self:start}
 .project-dialog{width:calc(100vw - 24px);height:86dvh;padding:62px 12px 82px}
 .dialog-thumbs{scrollbar-width:none}
 .dialog-thumbs::-webkit-scrollbar{display:none}
 #skip-animation{bottom:56px;right:var(--page-margin);font-size:13px}
 #devmode{max-width:calc(100vw - 24px);width:auto;right:12px;bottom:8px}
 #devmode:not([open]) summary{font-size:10px;padding:7px 10px}
 #devmode:not([open]) summary span{display:none}
}
@media(max-height:700px) and (min-width:601px){
 :root{--panel-top:108px;--panel-bottom:40px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{top:10px;min-height:70px;padding:8px 14px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){min-height:50px;font-size:11px}
 .byat-panel .byat-copy{gap:var(--ds-box-spacing-desktop-2);justify-content:flex-start}
 .byat-panel .byat-copy h2,.butera-track .byat-copy h3{font-size:var(--ds-heading-size-desktop-1);}
 .byat-panel .byat-copy p{font-size:var(--ds-body-size-desktop-1);line-height:var(--ds-body-line-desktop-1);}
 .hero-glass h1{font-size:var(--ds-display-size-desktop-1);}
 .hero-intro{font-size:var(--ds-body-size-desktop-2);line-height:var(--ds-body-line-desktop-1);}
 .hero-profile{width:clamp(120px,24vh,210px)}
 #skip-animation{bottom:58px}
}
@media(max-width:600px) and (max-height:740px){
 .hero-glass{padding:var(--ds-box-spacing-mobile-20);gap:var(--ds-box-spacing-mobile-21);}
 .hero-intro{font-size:var(--ds-body-size-mobile-8);}
 .byat-panel .byat-copy{max-height:36svh}
}

/* Keep navigation and controls outside the content viewport. */
:root{--panel-bottom:76px}
#skip-animation{bottom:12px;right:var(--page-margin);margin:0}
#devmode{left:12px;right:auto;bottom:12px;width:auto;max-width:calc(100vw - 24px)}
#devmode:not([open]) summary{font-size:9px;padding:7px 8px}
#devmode:not([open]) summary span{display:none}
#devmode:not([open]){padding:0;width:auto}
.mobile-menu-toggle,.mobile-sections{display:none}
.project-card-label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.project-card-label>span:first-child{min-width:0;overflow-wrap:anywhere}
.project-card-label .gallery-open{position:static;margin:0;justify-self:end;flex:none}
.eyebrow,.render-kicker,.project-place{overflow-wrap:anywhere}
.approach-copy>.eyebrow,.byat-copy>.render-kicker{margin:12px 0 16px;padding-top:12px;border-top:var(--brand-border-width) solid currentColor;font-size:var(--ds-caption-size-base-2);line-height:var(--ds-caption-line-base-1);letter-spacing:var(--ds-caption-tracking-base-1);}
.pan-icon{display:none}
@media(max-width:1100px){
 #page-scroll-indicator>img{display:none}
 #page-scroll-indicator .pan-icon{display:block;width:30px;height:54px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:pan-hint 2s ease-in-out infinite}
 #page-scroll-indicator{color:var(--brand-white);width:30px}
 #page-scroll-indicator.is-on-light{color:var(--brand-plum)}
}
@keyframes pan-hint{0%,100%{transform:translateY(-3px)}60%{transform:translateY(4px)}}
@media(max-width:900px){
 :root{--panel-top:108px;--panel-bottom:72px}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{top:10px;min-height:0;padding:10px 12px;border-radius:calc(var(--brand-radius) * 0.8333333333333334);display:block}
 .site-header .header-timeline{display:grid;grid-template-columns:42px 16px repeat(3,minmax(0,1fr));gap:0;width:100%;height:64px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){display:flex;flex-direction:column;min-height:64px;padding:0 3px 20px;border-radius:0;font-size:12px;line-height:1.15;background:none}
 .site-header .timeline-label{margin:auto 0;white-space:normal;max-width:100%;min-height:0;line-height:1.15}
 .site-header .timeline-home{grid-column:1;grid-row:1}
 .site-header .timeline-home .brand-logo{width:28px;height:28px}
 .site-header .timeline-dot{display:block;bottom:3px;width:9px;height:9px}
 .site-header .timeline-line{display:block;left:21px;right:calc((100% - 58px)/6);bottom:6px;height:2px}
 .site-header .timeline-line i{display:none}
 .site-header .header-timeline:after{content:'';grid-column:2;grid-row:1;border-bottom:2px dotted var(--brand-muted);align-self:end;margin-bottom:6px;z-index:1;background:var(--brand-plum)}
 .site-header .header-timeline .mobile-rail-hidden{display:none!important}
 .site-header .timeline-projects{grid-row:1;grid-column:auto;display:flex}
 .site-header .header-timeline>.mobile-rail-item{grid-row:1}
 .site-header .projects-menu{display:none}
 .site-header [aria-current=location] .timeline-label{color:var(--brand-primary)}
 .mobile-menu-toggle{display:flex;align-items:center;gap:8px;position:fixed;bottom:12px;right:var(--page-margin);height:40px;padding:8px 12px;border:var(--brand-border-width) solid currentColor;border-radius:var(--brand-radius);background:color-mix(in srgb, var(--brand-plum) 86.275%, transparent);color:var(--brand-white);z-index:45;font-size:13px;backdrop-filter:blur(var(--brand-blur))}
 .mobile-menu-toggle.is-on-light{color:var(--brand-plum);background:color-mix(in srgb, var(--brand-white) 90.196%, transparent)}
 #skip-animation{bottom:12px;right:calc(var(--page-margin) + 96px);height:40px;padding:8px 12px;font-size:12px}
 #devmode:not([open]){bottom:18px;left:5px;max-width:48px}
 #devmode:not([open]) summary{font-size:0;padding:5px}
 #devmode:not([open]) summary:after{content:'DEV';font-size:8px}
 .mobile-sections[open]{display:block;position:fixed;inset:auto var(--page-margin) 64px auto;width:min(340px,calc(100vw - 2 * var(--page-margin)));max-height:calc(100dvh - 180px);margin:0;padding:20px;overflow:auto;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 37.647%, transparent);border-radius:calc(var(--brand-radius) * 0.9166666666666666);background:color-mix(in srgb, var(--brand-plum) 92.941%, transparent);color:var(--brand-white);backdrop-filter:blur(20px)}
 .mobile-sections::backdrop{background:color-mix(in srgb, var(--brand-ink) 46.667%, transparent)}
 .mobile-sections header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:18px}
 .mobile-sections header button{font-size:24px;width:36px;height:36px}
 .mobile-sections nav{display:grid;gap:4px}
 .mobile-sections nav a{display:block;padding:12px;border-radius:10px;font-size:15px}
 .mobile-sections nav a[aria-current=location]{background:color-mix(in srgb, var(--brand-white) 12.549%, transparent);color:var(--brand-primary)}
 .project-card-label{padding:14px;font-size:17px;gap:10px}
 .project-card-label .gallery-open{font-size:11px;padding:8px 10px}
 .contact .contact-pin{position:sticky;top:0;height:100svh;min-height:0;padding:var(--panel-top) var(--page-margin) var(--panel-bottom);gap:12px;overflow:hidden}
 .contact .contact-copy{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}
 .contact-copy h2{font-size:clamp(28px,4.5vw,40px);line-height:1.05;margin:0 0 12px}
 .contact .contact-manifesto{display:none}
 .contact .contact-paths{margin:0;gap:var(--ds-box-spacing-mobile-22);flex:1;min-height:0}
 .contact .contact-path{padding:var(--ds-box-spacing-mobile-23);min-height:0;gap:var(--ds-box-spacing-mobile-24);}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-15);line-height:var(--ds-heading-line-mobile-3);margin:0}
 .contact .contact-path h3 br{display:none}
 .contact .contact-path p{font-size:var(--ds-body-size-mobile-9);line-height:var(--ds-body-line-mobile-7);margin:0}
 .contact .contact-paths .eyebrow{font-size:var(--ds-caption-size-mobile-5);letter-spacing:var(--ds-caption-tracking-mobile-1);margin:0}
 .contact .contact-paths .contact-cta{font-size:12px;line-height:1.25;padding:var(--ds-box-spacing-mobile-25);gap:var(--ds-box-spacing-mobile-22);}
 .contact footer{position:static;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;flex:none;padding-top:9px;font-size:10px;line-height:1.3;margin:0}
 .contact footer>a:first-child{margin:0}
 .contact footer>a[href^='mailto:']{grid-column:1/-1;font-size:11px}
 .contact footer>a:last-child{display:none}
 .contact footer>span:nth-last-child(2){position:absolute;right:var(--page-margin);bottom:var(--panel-bottom);font-size:9px}
}
@media(min-width:601px) and (max-width:899px){
 .hero-glass{display:grid;grid-template-columns:minmax(0,1fr) clamp(140px,24vw,210px);flex-wrap:nowrap;gap:var(--ds-box-spacing-mobile-26);padding:var(--ds-box-spacing-mobile-27);scale:none;width:100%;max-width:100%}
 .hero-copy{display:contents}
 .hero-glass h1{grid-column:1;grid-row:1;font-size:var(--ds-display-size-mobile-6);align-self:center}
 .hero-profile{grid-column:2;grid-row:1;order:0;width:100%;max-width:100%;height:auto}
 .hero-intro{grid-column:1/-1;grid-row:2;font-size:var(--ds-body-size-mobile-10);line-height:var(--ds-body-line-mobile-8);margin:0;max-width:none}
 .journey-hero .journey-pin{padding:var(--panel-top) var(--page-margin) var(--panel-bottom)}
 .contact .contact-copy{justify-content:center}
 .contact .contact-paths{flex:none;min-height:260px;max-height:380px}
}
@media(max-width:600px){
 :root{--panel-top:108px;--panel-bottom:72px}
 .contact .contact-paths{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
 .hero-scroll-hint{bottom:76px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){font-size:11px}
 .contact .contact-path{padding:var(--ds-box-spacing-mobile-28);}
}
@media(max-width:900px) and (max-height:570px){
 .journey-hero .journey-pin{padding:var(--panel-top) var(--page-margin) var(--panel-bottom)}
 .hero-glass{grid-template-columns:minmax(0,1fr) 100px;padding:var(--ds-box-spacing-mobile-29);gap:var(--ds-box-spacing-mobile-30);}
 .hero-glass h1{font-size:var(--ds-display-size-mobile-7);}
 .hero-profile{width:100px;max-width:100px}
 .hero-intro{font-size:var(--ds-body-size-mobile-11);line-height:var(--ds-body-line-mobile-9);}
 .hero-scroll-hint{display:none}
 .contact .contact-copy{overflow:auto;flex:1;padding-bottom:8px}
 .contact .contact-copy>h2{position:sticky;top:0;background:var(--brand-ink);z-index:2;font-size:24px;padding:5px 0}
 .contact .contact-paths{flex:none;grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0;max-height:none}
 .contact .contact-copy{justify-content:flex-start}
 .contact footer{font-size:9px;gap:2px 8px;padding-top:4px}
 .contact .contact-path{padding:var(--ds-box-spacing-mobile-31);gap:var(--ds-box-spacing-mobile-32);}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-16);}
 .contact .contact-path>p:not(.eyebrow){display:none}
 .contact .contact-paths .contact-cta{font-size:11px}
 .contact .contact-copy>h2{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.pan-icon{animation:none!important}.static-journey .contact .contact-pin{height:auto;overflow:visible;min-height:100svh}}

.hero-scroll-hint{display:none!important}
#page-scroll-indicator{position:fixed;left:50%;right:auto;top:auto;bottom:12px;transform:translateX(-50%);width:28px;height:40px;z-index:1}
#page-scroll-indicator .pan-icon{width:26px;height:40px}
.hero-glass,.world-copy,.journey-note,.board-window,.gallery-window,.byat-window,.exterior-window,.approach-image,.approach-copy,.contact-copy{position:relative;z-index:2}
.journey-note,.exterior-window{position:absolute}
.contact footer{z-index:2}
@media(max-width:900px){
 #skip-animation{left:var(--page-margin);right:auto;max-width:calc(50vw - var(--page-margin) - 25px);font-size:11px;padding:8px}
 #devmode-launcher{bottom:1px!important;left:5px!important;font-size:7px!important;line-height:1!important;padding:1px 3px!important}
}

#chatbot-dock,#chatbot-section{font-family:var(--brand-font,Inter,Arial,sans-serif);font-size:14px;line-height:1.5;color:var(--brand-white)}
#chatbot-dock{position:fixed;left:calc(50% + 36px);bottom:max(12px,env(safe-area-inset-bottom));width:min(280px,calc(50vw - 160px));z-index:100}
#chatbot-panel{background:var(--brand-plum);border:var(--brand-border-width) solid var(--brand-border);border-radius:var(--brand-radius,24px);box-shadow:0 10px 50px color-mix(in srgb, var(--brand-ink) 20%, transparent);overflow:hidden;color:var(--brand-white);text-align:left}
#chatbot-panel *{box-sizing:border-box}#chatbot-panel button,#chatbot-reopen{font:inherit;color:inherit;background:transparent;border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 27.059%, transparent);border-radius:calc(var(--brand-radius-button) * 0.4666666666666667);padding:8px 12px;cursor:pointer;line-height:1.3}
#chatbot-panel button:hover{background:color-mix(in srgb, var(--brand-white) 9.412%, transparent)}#chatbot-panel button:disabled{opacity:.45;cursor:default}#chatbot-panel :focus-visible,#chatbot-reopen:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-3px}
.chatbot-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 14.51%, transparent)}.chatbot-header strong{font-size:17px;font-weight:500}.chatbot-header small{display:block;color:var(--brand-muted);font-size:11px}.chatbot-tools{display:flex;gap:5px;flex-shrink:0}#chatbot-panel .chatbot-tools button{padding:6px 9px;min-height:36px}.chatbot-tools [aria-pressed=true]{background:var(--brand-primary)!important;color:var(--brand-ink)!important}
#chatbot-form{display:flex;gap:8px;padding:9px;align-items:center}#chatbot-input{min-width:0;width:100%;border:0!important;border-radius:15px;background:color-mix(in srgb, var(--brand-white) 5.098%, transparent)!important;color:var(--brand-white)!important;padding:11px 13px!important;font:inherit!important;line-height:1.4!important}#chatbot-input::placeholder{color:var(--brand-paper)}#chatbot-form button{background:var(--brand-primary);color:var(--brand-ink);border:0;min-width:40px;min-height:40px}
.chatbot-body{display:flex;min-height:0;flex:1}#chatbot-messages{flex:1;min-width:0;padding:18px;overflow:auto;overscroll-behavior:contain;max-height:45dvh;scrollbar-width:thin}.chatbot-message{margin:0 35px 16px 0;padding:12px 14px;border-radius:16px;background:color-mix(in srgb, var(--brand-white) 4.706%, transparent);overflow-wrap:anywhere}.chatbot-message.user{margin:0 0 16px 45px;background:color-mix(in srgb, var(--brand-white) 12.549%, transparent)}.chatbot-message p{font-size:14px!important;line-height:1.6!important;margin:4px 0!important;color:inherit!important;white-space:pre-line;max-width:none!important}.chatbot-message small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-muted)}.chatbot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}#chatbot-panel .chatbot-actions button{font-size:12px;text-align:left}.chatbot-footer{display:flex;align-items:center;gap:10px;padding:0 18px 12px;color:var(--brand-muted);font-size:10px;flex-wrap:wrap}.chatbot-footer button{font-size:10px!important;padding:3px 7px!important;margin-left:auto}
#chatbot-dock[data-mode=compact] .chatbot-header,#chatbot-dock[data-mode=compact] .chatbot-body,#chatbot-dock[data-mode=compact] .chatbot-footer{display:none}#chatbot-dock[data-mode=compact] #chatbot-form{padding:3px}#chatbot-dock[data-mode=compact] #chatbot-input{padding:8px!important;background:transparent!important}#chatbot-dock[data-mode=compact] #chatbot-form button{min-height:32px;min-width:32px;padding:4px}
#chatbot-dock[data-mode=popup]{left:50%;transform:translateX(-50%);bottom:max(30px,env(safe-area-inset-bottom));width:min(600px,calc(100vw - 32px))}#chatbot-dock[data-mode=minimized]{left:auto;right:20px;width:auto}#chatbot-reopen{background:var(--brand-plum);width:50px;height:50px;border-radius:50%;color:var(--brand-white)}
body.chatbot-active #page-scroll-indicator{visibility:hidden!important}#chatbot-section[hidden],#chatbot-panel [hidden],#chatbot-panel[hidden],#chatbot-reopen[hidden]{display:none!important}
#chatbot-section{background:var(--brand-white);padding:100px clamp(16px,5vw,80px) 30px;min-height:100dvh;box-sizing:border-box}#chatbot-section-intro{color:var(--brand-plum);margin-bottom:20px}#chatbot-section-intro h2{font-size:clamp(24px,3vw,42px);margin:0;font-weight:500}#chatbot-section-intro p{margin:4px 0;font-size:14px}
body.chatbot-expanded #chatbot-section{position:fixed;inset:0;z-index:80;overflow:auto;overscroll-behavior:contain}html.chatbot-dev-preview body.chatbot-expanded #chatbot-section{position:relative;inset:auto;z-index:auto}
#chatbot-section #chatbot-panel{display:flex;flex-direction:column;height:calc(100dvh - 225px);min-height:360px;max-width:1400px;margin:auto}#chatbot-section #chatbot-messages{max-height:none}#chatbot-section .chatbot-body{overflow:hidden}#chatbot-section #chatbot-form{flex-shrink:0}#chatbot-media{width:45%;margin:0;padding:20px;align-self:center;min-width:0}#chatbot-media img{width:100%;height:clamp(140px,35dvh,500px);object-fit:contain;border-radius:var(--brand-radius-photo,12px)}#chatbot-media figcaption{font-size:12px;margin-top:8px}#chatbot-media nav{display:flex;justify-content:space-between;align-items:center;margin-top:12px}#chatbot-panel:not(.has-media) #chatbot-messages{max-width:900px;margin:0 auto;width:100%}.chatbot-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.chatbot-copy-fallback{width:100%;height:100px}
@media(max-width:900px){#chatbot-dock{left:82px;width:calc(50vw - 105px)}#chatbot-dock[data-mode=compact] #chatbot-form button{display:none}#chatbot-dock[data-mode=compact] #chatbot-input{font-size:10px!important;padding:9px 5px!important}#skip-animation{max-width:62px!important}#chatbot-dock[data-mode=popup]{bottom:max(14px,env(safe-area-inset-bottom));left:50%;width:calc(100vw - 24px)}.chatbot-header{padding:12px;gap:6px}.chatbot-header strong{font-size:15px}.chatbot-tools{gap:3px}#chatbot-panel .chatbot-tools button{padding:6px;min-width:32px}.chatbot-message{margin-right:12px}.chatbot-message.user{margin-left:25px}#chatbot-section{padding:85px 12px 16px}#chatbot-section #chatbot-panel{height:calc(100dvh - 190px)}#chatbot-section .has-media .chatbot-body{flex-direction:column}#chatbot-media{width:100%;padding:8px 16px;flex:0 0 auto}#chatbot-media img{height:20dvh}#chatbot-media nav{margin-top:4px}#chatbot-section-intro h2{font-size:24px}}
.chatbot-footer{position:static!important;inset:auto!important;width:auto!important;transform:none!important;flex-shrink:0;margin:0!important;background:transparent!important}
#chatbot-section{padding-top:130px}#chatbot-section #chatbot-panel{height:calc(100dvh - 255px)}
@media(max-width:900px){#chatbot-section{padding-top:100px}#chatbot-section #chatbot-panel{height:calc(100dvh - 205px)}}
@media(max-height:550px){#chatbot-messages{max-height:30dvh}#chatbot-section #chatbot-panel{height:75dvh;min-height:240px}#chatbot-section{padding-top:100px}}

/* Shared bottom controls inherit the section layer, including its transition occlusion. */
#page-scroll-indicator{width:94px;height:44px;bottom:12px;color:var(--brand-white);display:flex;align-items:center;justify-content:center;gap:10px;overflow:visible;padding:3px;filter:drop-shadow(0 1px 3px color-mix(in srgb, var(--brand-ink) 46.667%, transparent))}
#page-scroll-indicator[hidden]{display:none}#page-scroll-indicator.is-on-light{color:var(--brand-plum);filter:none}
#page-scroll-indicator svg{position:static;flex:none;height:36px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
#page-scroll-indicator .hud-mouse{width:26px}#page-scroll-indicator .hud-keys{width:52px}#page-scroll-indicator .hud-pan,#page-scroll-indicator .pan-icon{display:none}
#page-scroll-indicator[data-input=mouse] .hud-keys,#page-scroll-indicator[data-input=keyboard] .hud-mouse{display:none}
#skip-animation{left:var(--page-margin);right:auto;max-width:80px!important}
#chatbot-dock[data-mode=compact]{left:auto;right:var(--page-margin);width:min(280px,calc(50vw - var(--page-margin) - 65px));transform:none;z-index:1}
#chatbot-dock[data-mode=compact] #chatbot-form{height:44px}
#chatbot-dock[hidden]{display:none!important}
#chatbot-dock #chatbot-media{display:none!important}
@media(min-width:901px){.contact .contact-pin{padding-bottom:78px}}
#chatbot-panel .chatbot-typing{display:flex;align-items:center;gap:5px;margin:0 35px 16px 0;padding:16px;color:var(--brand-muted)}
.chatbot-typing span{width:6px;height:6px;background:currentColor;border-radius:50%;animation:chatbot-dot 1s ease-in-out infinite}.chatbot-typing span:nth-child(2){animation-delay:.15s}.chatbot-typing span:nth-child(3){animation-delay:.3s}
@keyframes chatbot-dot{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}
@media(max-width:900px){
 #page-scroll-indicator{width:36px;height:44px;padding:3px}
 #page-scroll-indicator .hud-mouse,#page-scroll-indicator .hud-keys{display:none}
 #page-scroll-indicator .hud-pan{display:block;width:30px;height:38px}
 #page-scroll-indicator[data-axis=vertical] .pan-horizontal,#page-scroll-indicator[data-axis=horizontal] .pan-vertical{display:none}
 #chatbot-dock[data-mode=compact]{right:var(--page-margin);width:calc(50vw - var(--page-margin) - 28px)}
 #chatbot-dock[data-mode=compact] #chatbot-input{font-size:12px!important;padding:9px!important}
 #chatbot-dock[data-mode=compact] #chatbot-form button{display:none}
 .mobile-menu-toggle{right:auto;left:calc(var(--page-margin) + 58px);width:36px;justify-content:center;padding:6px;font-size:0;gap:0}.mobile-menu-toggle span{font-size:18px}
 #skip-animation{font-size:11px;max-width:52px!important}
}
@media(prefers-reduced-motion:reduce){.chatbot-typing span{animation:none}}

/* Assistant: clear glass popup and an editorial, two-column workspace. */
#chatbot-dock[data-mode=popup] #chatbot-panel{background:color-mix(in srgb, var(--brand-white) 16%, transparent);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);border-color:color-mix(in srgb, var(--brand-white) 50.196%, transparent);color:var(--brand-plum)}
#chatbot-dock[data-mode=popup] .chatbot-header{background:color-mix(in srgb, var(--brand-white) 43.922%, transparent);border-color:color-mix(in srgb, var(--brand-white) 37.647%, transparent)}
#chatbot-dock[data-mode=popup] .chatbot-message{background:color-mix(in srgb, var(--brand-plum) 86%, transparent);color:var(--brand-white)}
#chatbot-dock[data-mode=popup] .chatbot-message.user{background:color-mix(in srgb, var(--brand-plum) 80%, transparent)}
#chatbot-dock[data-mode=popup] #chatbot-input{background:color-mix(in srgb, var(--brand-plum) 80%, transparent)!important}
#chatbot-panel .chatbot-actions button,#chatbot-panel #chatbot-media-page,#chatbot-panel #chatbot-form button{background:var(--brand-primary);color:var(--brand-plum);border-color:transparent}
#chatbot-panel .chatbot-actions button:hover,#chatbot-panel #chatbot-media-page:hover{filter:brightness(1.08)}
#chatbot-panel .chatbot-message.chatbot-consent{background:var(--brand-primary);color:var(--brand-plum);border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 50.196%, transparent)}
#chatbot-panel .chatbot-consent small{color:inherit}
#chatbot-panel .chatbot-consent button{border-color:currentColor;background:color-mix(in srgb, var(--brand-white) 18.824%, transparent)}
#chatbot-section{padding:120px var(--page-margin,5vw) 24px;background:var(--brand-white)}
#chatbot-section-intro{margin:0 0 20px}
#chatbot-section-intro h2{font-size:clamp(26px,3vw,42px);line-height:1.15}
#chatbot-section #chatbot-panel{height:calc(100dvh - 214px);min-height:0;max-width:none;background:color-mix(in srgb, var(--brand-plum) 76%, transparent);backdrop-filter:blur(22px);border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 53.333%, transparent);box-shadow:0 16px 48px color-mix(in srgb, var(--brand-plum) 9.412%, transparent)}
#chatbot-section .chatbot-header{display:none}
#chatbot-section .chatbot-body{min-height:0}
#chatbot-section .chatbot-message{background:color-mix(in srgb, var(--brand-white) 85.098%, transparent);color:var(--brand-plum);border:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 60%, transparent);backdrop-filter:blur(10px)}
#chatbot-section .chatbot-message.user{background:color-mix(in srgb, var(--brand-white) 65.882%, transparent)}
#chatbot-section .chatbot-message small{color:inherit;opacity:.65}
#chatbot-section #chatbot-messages{padding:24px;order:2}
#chatbot-section #chatbot-media{order:1;width:50%;height:100%;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:24px;border-right:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 18.824%, transparent);overflow:auto}
#chatbot-section #chatbot-media img{height:auto;min-height:0;max-height:calc(100% - 140px);flex:1;object-fit:contain}
#chatbot-section #chatbot-media figcaption{flex-shrink:0}
#chatbot-section #chatbot-media nav{flex-shrink:0}
#chatbot-section #chatbot-media-page{align-self:flex-start;margin-top:12px;font-size:12px}
#chatbot-section .has-media #chatbot-form{width:50%;align-self:flex-end}
#chatbot-section #chatbot-form{padding:10px 24px}
#chatbot-section #chatbot-input{background:color-mix(in srgb, var(--brand-white) 85.098%, transparent)!important;color:var(--brand-plum)!important}
#chatbot-section #chatbot-input::placeholder{color:var(--brand-plum)}
#chatbot-section .chatbot-footer{padding:0 24px 14px}
.chatbot-tools svg{display:block}
@media(max-width:900px){
 #chatbot-dock[data-mode=compact] #chatbot-input{font-size:11px!important}
 #chatbot-section{padding:95px var(--page-margin,16px) 16px}
 #chatbot-section #chatbot-panel{height:calc(100dvh - 163px)}
 #chatbot-section .has-media .chatbot-body{flex-direction:column}
 #chatbot-section #chatbot-messages{padding:12px}
 #chatbot-section #chatbot-media{width:100%;height:42%;flex:0 0 42%;padding:10px 14px;border-right:0;border-bottom:var(--brand-border-width) solid color-mix(in srgb, var(--brand-white) 26.667%, transparent);display:grid;grid-template-columns:1fr auto;grid-template-rows:minmax(40px,1fr) auto auto;gap:4px 10px}
 #chatbot-section #chatbot-media img{grid-column:1 / -1;width:100%;height:100%;max-height:100%}
 #chatbot-section #chatbot-media figcaption{grid-column:1 / -1;font-size:10px;margin:0}
 #chatbot-section #chatbot-media nav{margin:0;gap:12px}
 #chatbot-section #chatbot-media-page{margin:0;align-self:center;font-size:10px;padding:7px}
 #chatbot-section #chatbot-form,#chatbot-section .has-media #chatbot-form{width:100%;padding:8px 12px}
 #chatbot-section .chatbot-footer{padding:0 12px 8px}
}

/* Site materials only; preserve geometry and DevMode. */
:root{--glass:var(--brand-surface-dark);--glass-on-light:var(--brand-surface-light);--glass-on-dark:var(--brand-surface-dark)}
.glass-panel,.hero-glass,.site-header,.site-header.solid,.site-header.light,.site-header.solid.light,
.journey-note,.byat-render-pause,.projects-menu,.mobile-sections[open],.contact-dialog,
#chatbot-panel,#chatbot-dock[data-mode=popup] #chatbot-panel,#chatbot-section #chatbot-panel{
 backdrop-filter:var(--brand-glass-blur);
 -webkit-backdrop-filter:var(--brand-glass-blur);
 box-shadow:var(--brand-shadow);
 border-color:var(--brand-border);
}
.hero-glass,.world-copy,.journey-note.project-note,.journey-note.project-note.on-dark,
.exterior-track .byat-panel,.exterior-window.over-image .byat-panel,.byat-render-pause,
.project-dialog,.contact-dialog,.projects-menu,.mobile-sections[open]{background:var(--brand-surface-light);color:var(--brand-white)}
.board-track .project-intro,.board-track .project-outro,.contact .contact-path{background:var(--brand-surface-dark);color:var(--brand-white)}
#casa .byat-panel,.furniture-lead,.interior-title,.interior-note,.house-chapter .chapter-copy{background:var(--brand-glass-white);color:var(--brand-plum);backdrop-filter:var(--brand-glass-blur);-webkit-backdrop-filter:var(--brand-glass-blur)}
#chatbot-dock[data-mode=popup] #chatbot-panel{background:var(--brand-glass-clear)}
#chatbot-section #chatbot-panel{background:var(--brand-surface-light);color:var(--brand-white)}
#chatbot-dock[data-mode=popup] .chatbot-message,#chatbot-dock[data-mode=popup] .chatbot-message.user{background:var(--brand-surface-light);color:var(--brand-white)}
#chatbot-dock[data-mode=popup] .chatbot-message.user{box-shadow:inset 0 0 0 1px var(--brand-border)}
#chatbot-dock[data-mode=popup] .chatbot-message.chatbot-consent{background:var(--brand-primary);color:var(--brand-plum)}
#chatbot-dock[data-mode=popup] .chatbot-footer{color:var(--brand-plum)}
#chatbot-panel .chatbot-actions button:hover,#chatbot-panel #chatbot-media-page:hover{filter:none;box-shadow:inset 0 0 0 1px var(--brand-plum)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass-panel,.hero-glass,.site-header,.journey-note,.projects-menu,.mobile-sections[open],.contact .contact-path,#chatbot-dock[data-mode=popup] #chatbot-panel,#chatbot-section #chatbot-panel{background:var(--brand-plum);color:var(--brand-white)}
 #casa .byat-panel,.furniture-lead,.interior-title,.interior-note,.house-chapter .chapter-copy{background:var(--brand-paper);color:var(--brand-plum)}
 #chatbot-dock[data-mode=popup] .chatbot-footer{color:var(--brand-muted)}
}
@media(prefers-reduced-transparency:reduce){
 .glass-panel,.hero-glass,.site-header,.journey-note,.projects-menu,.mobile-sections[open],.contact .contact-path,#chatbot-dock[data-mode=popup] #chatbot-panel,#chatbot-section #chatbot-panel{background:var(--brand-plum);color:var(--brand-white);backdrop-filter:none;-webkit-backdrop-filter:none}
 #casa .byat-panel,.furniture-lead,.interior-title,.interior-note,.house-chapter .chapter-copy{background:var(--brand-paper);color:var(--brand-plum)}
 #chatbot-dock[data-mode=popup] .chatbot-footer{color:var(--brand-muted)}
}

/* Requested layout changes, layered over the existing brand materials. */

#casa .byat-panel{background:color-mix(in srgb,var(--brand-white) 32%,transparent)}
.world-transition .journey-note,.exterior-window.over-image .byat-panel{background:color-mix(in srgb,var(--brand-plum) 41%,transparent)}
.journey-note.palm-note{translate:-467px 0px}
#chatbot-section{position:relative!important;inset:auto!important;min-height:100dvh;padding:110px var(--page-margin,5vw) 28px;z-index:auto!important;background:var(--brand-white)}
body.chatbot-expanded #chatbot-section-intro{display:none}
#chatbot-section #chatbot-panel{height:calc(100dvh - 138px);background:var(--brand-paper);color:var(--brand-plum);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-plum) 7.843%,transparent);box-shadow:0 16px 60px color-mix(in srgb,var(--brand-plum) 6.275%,transparent)}
#chatbot-section .chatbot-header{display:flex;background:var(--brand-white);color:var(--brand-plum);border-bottom:var(--brand-border-width) solid color-mix(in srgb,var(--brand-plum) 7.843%,transparent);padding:18px 24px}
#chatbot-section .chatbot-header strong{font-size:20px}#chatbot-section .chatbot-footer{color:var(--brand-plum)}
#chatbot-section .chatbot-message{background:var(--brand-white);border:0;box-shadow:0 2px 10px color-mix(in srgb,var(--brand-plum) 1.961%,transparent)}#chatbot-section .chatbot-message.user{background:color-mix(in srgb,var(--brand-plum) 4.706%,transparent)}
#chatbot-section #chatbot-media{position:relative;background:var(--brand-white);border-radius:18px;margin:12px 0 12px 12px;height:calc(100% - 24px);padding:28px 20px 16px;border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-plum) 6.275%,transparent)}
#chatbot-panel [data-cb=hide-media]{position:absolute;right:8px;top:6px;border:0;padding:4px 10px;font-size:22px}#chatbot-media img{cursor:zoom-in}
#chatbot-messages,#chatbot-media{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand-plum) 25.098%,transparent) transparent}#chatbot-messages::-webkit-scrollbar,#chatbot-media::-webkit-scrollbar{width:6px}#chatbot-messages::-webkit-scrollbar-thumb,#chatbot-media::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--brand-plum) 25.098%,transparent);border-radius:20px}
#chatbot-dots{position:static;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;transform:none;padding:4px}
#chatbot-dots button,.chatbot-lightbox .photo-dots button{padding:0;min-width:7px;width:7px;height:7px;border:0;border-radius:50%;background:color-mix(in srgb,var(--brand-plum) 18.824%,transparent)}
#chatbot-dots button[aria-pressed=true],.chatbot-lightbox .photo-dots button[aria-pressed=true]{background:var(--brand-primary)}
.chatbot-lightbox{width:94vw;max-width:1500px;height:92dvh;max-height:92dvh;background:var(--brand-white);border:0;border-radius:24px;padding:36px 24px 16px;color:var(--brand-plum)}.chatbot-lightbox::backdrop{background:color-mix(in srgb,var(--brand-plum) 65.882%,transparent);backdrop-filter:blur(14px)}.chatbot-lightbox img{width:100%;height:calc(100% - 80px);object-fit:contain}.chatbot-lightbox p{text-align:center;font-size:13px;margin:8px}.chatbot-lightbox nav{display:flex;justify-content:center;align-items:center;gap:22px}.chatbot-lightbox button{cursor:pointer;border:0;background:transparent;color:var(--brand-plum);padding:8px}.chatbot-lightbox .lightbox-close{position:absolute;right:12px;top:5px;font-size:28px}.chatbot-lightbox .photo-dots{position:static;transform:none;display:flex;gap:8px;flex-wrap:wrap}
#chatbot-start{border:0;border-radius:20px;padding:16px 24px;background:var(--brand-primary);color:var(--brand-plum);cursor:pointer}
.projects-menu{padding:10px;border-radius:calc(var(--brand-radius) * 0.75);min-width:220px;background:var(--brand-white);color:var(--brand-plum);box-shadow:0 16px 48px color-mix(in srgb,var(--brand-plum) 14.51%,transparent)}.projects-menu a,.projects-menu button{display:block;width:100%;padding:12px 14px;border:0;border-radius:calc(var(--brand-radius-button) * 0.3333333333333333);text-align:left;color:var(--brand-plum);background:transparent;font:inherit;font-size:13px;cursor:pointer}.projects-menu a:hover,.projects-menu button:hover{background:color-mix(in srgb,var(--brand-plum) 3.529%,transparent)}
.header-timeline{grid-template-columns:repeat(10,minmax(0,1fr))}.timeline-label{white-space:normal}
.board-meter{height:3px!important;border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--brand-primary) 14.51%,transparent)!important}.board-meter i{border-radius:20px;background:var(--brand-primary)!important}
.mobile-sections nav{position:relative;padding-left:25px}.mobile-sections nav:before,.mobile-sections nav:after{content:'';position:absolute;top:16px;bottom:16px;left:7px;width:2px;background:color-mix(in srgb,var(--brand-white) 18.824%,transparent);transform-origin:top}.mobile-sections nav:after{background:var(--brand-primary);transform:scaleY(var(--menu-progress,0))}.mobile-sections nav a{position:relative}.mobile-sections nav a:before{content:'';position:absolute;left:-22px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--brand-muted);border:2px solid var(--brand-plum)}.mobile-sections nav a[aria-current]:before{background:var(--brand-primary)}
@media(max-width:900px){.mobile-menu-toggle{left:auto!important;right:var(--page-margin)!important;bottom:max(12px,env(safe-area-inset-bottom))!important}#chatbot-dock[data-mode=compact]:not(.in-hero){left:var(--page-margin);right:auto;width:calc(50vw - var(--page-margin) - 28px)}#skip-animation{left:auto!important;right:calc(var(--page-margin) + 48px)!important}.journey-note.palm-note{left:max(var(--page-margin),calc(50% - 467px));translate:0 0;max-width:calc(100vw - 2 * var(--page-margin))}#chatbot-section{padding:90px 12px 16px}#chatbot-section #chatbot-panel{height:calc(100dvh - 106px)}#chatbot-section .chatbot-header{padding:12px}#chatbot-section .chatbot-header strong{font-size:16px}#chatbot-section #chatbot-media{margin:8px;width:calc(100% - 16px);height:40%;flex:0 0 40%;padding:22px 12px 8px}}
@media(prefers-reduced-transparency:reduce){#casa .byat-panel{background:var(--brand-paper)}.world-transition .journey-note,.exterior-window.over-image .byat-panel{background:var(--brand-plum)}}


@media(max-width:900px){.mobile-sections[open]{background:var(--brand-plum)}}
#chatbot-section{scroll-margin-top:0}#chatbot-section .chatbot-header,#chatbot-section .chatbot-header strong{color:var(--brand-plum)}
body:is(.chatbot-expanded,.on-assistant-section) .site-header,body:is(.chatbot-expanded,.on-assistant-section) .site-header a,body:is(.chatbot-expanded,.on-assistant-section) .site-header .timeline-label{background:var(--brand-white);color:var(--brand-plum)!important;text-shadow:none}
body:is(.chatbot-expanded,.on-assistant-section) .site-header .brand-logo{filter:brightness(0) saturate(100%)}
body:is(.chatbot-expanded,.on-assistant-section) .site-header .timeline-dot{background:var(--brand-plum)}
body:is(.chatbot-expanded,.on-assistant-section) .site-header [aria-current] .timeline-dot,body:is(.chatbot-expanded,.on-assistant-section) .site-header .is-passed .timeline-dot{background:var(--brand-primary)}
#chatbot-dots button[aria-pressed=true],.chatbot-lightbox .photo-dots button[aria-pressed=true]{background:var(--brand-primary)!important;border:0!important}
@media(max-width:900px){#chatbot-section #chatbot-panel{height:calc(100dvh - 154px)}#chatbot-section #chatbot-media{flex-basis:clamp(170px,30dvh,240px);height:clamp(170px,30dvh,240px)}#chatbot-section #chatbot-media figcaption{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
@media(max-width:900px) and (max-height:570px){#chatbot-section .has-media .chatbot-body{flex-direction:row}#chatbot-section #chatbot-media{display:flex;flex-direction:column;flex:0 0 42%;height:calc(100% - 16px);width:42%;padding:18px 8px 6px;overflow:auto}#chatbot-section #chatbot-media img{min-height:55px;max-height:none;flex:1}#chatbot-section #chatbot-media figcaption{display:none}#chatbot-section #chatbot-media nav{gap:4px}#chatbot-section #chatbot-media-page{display:none}#chatbot-section .chatbot-header{padding:8px 12px}#chatbot-section #chatbot-panel{height:calc(100dvh - 146px)}}

.projects-menu .menu-title{display:block;padding:10px 14px 6px;font-size:11px;letter-spacing:.04em;opacity:.65}

/* v25: shared plum glass, independent chat scroll, explicit image controls. */
body:is(.chatbot-expanded,.on-assistant-section) .site-header{background:var(--brand-surface-light);color:var(--brand-white)!important}
body:is(.chatbot-expanded,.on-assistant-section) .site-header a,body:is(.chatbot-expanded,.on-assistant-section) .site-header .timeline-label{background:transparent;color:var(--brand-white)!important}
body:is(.chatbot-expanded,.on-assistant-section) .site-header .brand-logo{filter:brightness(0) invert(1)}
body:is(.chatbot-expanded,.on-assistant-section) .site-header .timeline-dot{background:var(--brand-muted)}
#chatbot-section-intro{display:none}
#chatbot-section #chatbot-panel,#chatbot-dock[data-mode=popup] #chatbot-panel{background:var(--brand-surface-light);color:var(--brand-white);border:var(--brand-border-width) solid var(--brand-border);backdrop-filter:var(--brand-glass-blur);box-shadow:var(--brand-shadow)}
#chatbot-section .chatbot-header,#chatbot-dock[data-mode=popup] .chatbot-header{background:transparent;color:var(--brand-white);border-bottom:var(--brand-border-width) solid var(--brand-border)}
#chatbot-section .chatbot-header strong,#chatbot-section .chatbot-footer,#chatbot-dock[data-mode=popup] .chatbot-footer{color:var(--brand-white)}
#chatbot-section [data-cb=compact],#chatbot-section [data-cb=expand]{display:none}
#chatbot-section .chatbot-message{background:color-mix(in srgb,var(--brand-white) 5.098%,transparent);color:var(--brand-white);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 7.843%,transparent);box-shadow:none;backdrop-filter:none}
#chatbot-section .chatbot-message.user{background:color-mix(in srgb,var(--brand-white) 9.02%,transparent);border-color:color-mix(in srgb,var(--brand-white) 16.078%,transparent)}
#chatbot-section #chatbot-messages{max-width:none;margin:0;scrollbar-gutter:stable;padding:24px clamp(16px,3vw,44px)}

#chatbot-section #chatbot-input{background:color-mix(in srgb,var(--brand-white) 7.059%,transparent)!important;color:var(--brand-white)!important;border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 18.824%,transparent)!important}
#chatbot-section #chatbot-input::placeholder{color:var(--brand-muted)}
#chatbot-messages,#chatbot-media{scrollbar-color:var(--brand-primary) transparent}
#chatbot-messages::-webkit-scrollbar-thumb,#chatbot-media::-webkit-scrollbar-thumb{background:var(--brand-primary)}
#chatbot-section #chatbot-media{background:color-mix(in srgb,var(--brand-plum) 23.922%,transparent);color:var(--brand-white);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 14.902%,transparent);overflow:hidden;display:flex;flex-direction:column;padding:36px 14px 12px;gap:8px}
#chatbot-section #chatbot-media img{width:100%;min-height:0;flex:1;max-height:none;margin:0}
#chatbot-media figcaption{margin:0;padding:0 42px;font-size:12px;line-height:1.4}
#chatbot-panel [data-cb=previous],#chatbot-panel [data-cb=next]{position:absolute;top:42%;width:44px;height:44px;border-radius:50%;padding:0;font-size:24px;background:var(--brand-plum);color:var(--brand-white);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 43.922%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--brand-plum) 25.098%,transparent);z-index:2}
#chatbot-panel [data-cb=previous]{left:10px}#chatbot-panel [data-cb=next]{right:10px}
#chatbot-panel [data-cb=hide-media]{color:var(--brand-white);z-index:3;min-width:32px;min-height:32px}
#chatbot-media nav{justify-content:center;margin:0;gap:8px;flex-wrap:wrap}
#chatbot-count{position:static;width:auto;height:auto;clip-path:none;font-variant-numeric:tabular-nums;font-size:12px;color:var(--brand-muted)}
#chatbot-dots{gap:2px;flex-wrap:nowrap;max-width:100%;overflow:auto;padding:2px}
#chatbot-panel #chatbot-dots button,.chatbot-lightbox .photo-dots button{width:24px;min-width:24px;height:24px;border:0!important;background:transparent!important;position:relative;padding:0}
#chatbot-dots button:after,.chatbot-lightbox .photo-dots button:after{content:'';display:block;width:7px;height:7px;margin:auto;border-radius:8px;background:color-mix(in srgb,var(--brand-white) 43.922%,transparent);transition:width .15s}
#chatbot-dots button[aria-pressed=true]:after,.chatbot-lightbox .photo-dots button[aria-pressed=true]:after{width:18px;background:var(--brand-primary)}
.projects-menu{background:var(--brand-surface-light);color:var(--brand-white);border:var(--brand-border-width) solid var(--brand-border);backdrop-filter:var(--brand-glass-blur);padding:10px;border-radius:calc(var(--brand-radius) * 0.75);min-width:240px}
.site-header .projects-menu a,.site-header .projects-menu button{color:var(--brand-white)!important;background:transparent;font:inherit;font-size:13px;line-height:1.4;padding:12px 14px;border:0;border-radius:calc(var(--brand-radius-button) * 0.3333333333333333);width:100%;text-align:left}
.site-header .projects-menu a:hover,.site-header .projects-menu button:hover{background:color-mix(in srgb,var(--brand-white) 7.843%,transparent)}
.projects-menu .menu-title{color:var(--brand-muted);opacity:1}
.chatbot-lightbox{background:var(--brand-surface-light);color:var(--brand-white);backdrop-filter:var(--brand-glass-blur)}
.chatbot-lightbox button{color:var(--brand-white)}
.chatbot-lightbox [data-step]{position:absolute;top:45%;background:var(--brand-plum);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 43.922%,transparent);border-radius:50%;width:48px;height:48px;font-size:24px}
.chatbot-lightbox [data-step='-1']{left:16px}.chatbot-lightbox [data-step='1']{right:16px}
.chatbot-lightbox .photo-dots{gap:2px;max-width:80%;flex-wrap:nowrap;overflow:auto}
@media(max-width:900px){#chatbot-section #chatbot-messages{padding:12px}#chatbot-section #chatbot-media{padding:30px 10px 8px;gap:4px}#chatbot-media figcaption{padding:0 32px;font-size:10px}#chatbot-section #chatbot-media-page{margin:0;font-size:11px;padding:6px 10px}#chatbot-panel [data-cb=previous],#chatbot-panel [data-cb=next]{width:36px;height:36px}#chatbot-dots{max-width:75%}}
@media(prefers-reduced-transparency:reduce){#chatbot-section #chatbot-panel,#chatbot-dock[data-mode=popup] #chatbot-panel,.projects-menu,.chatbot-lightbox,body:is(.chatbot-expanded,.on-assistant-section) .site-header{background:var(--brand-plum);backdrop-filter:none}}

body.chatbot-expanded #chatbot-section{overflow:visible;overscroll-behavior:auto}

#chatbot-section #chatbot-panel:not(.has-media) #chatbot-messages{max-width:none;margin:0;width:100%}
@media(min-width:901px){.site-header .header-timeline{grid-template-columns:repeat(10,minmax(0,1fr))}}
#chatbot-dots button:before,.chatbot-lightbox .photo-dots button:before{display:none!important}
#chatbot-section #chatbot-media #chatbot-dots button,.chatbot-lightbox .photo-dots button{background:transparent!important;box-shadow:none!important}
@media(max-width:900px) and (min-height:571px){#chatbot-section #chatbot-media{flex-basis:clamp(205px,34dvh,290px);height:clamp(205px,34dvh,290px)}}
.site-header .header-timeline .projects-menu :is(a,button):nth-child(n){display:block;min-height:44px;padding:12px 14px;font:inherit;font-size:13px;line-height:1.4;border-radius:calc(var(--brand-radius-button) * 0.3333333333333333);text-align:left;color:var(--brand-white)!important}

/* Message roles remain aligned to opposite edges in full width and split view. */
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message{width:fit-content;max-width:86%;margin:0 auto 18px 0;padding:14px 18px;background:color-mix(in srgb,var(--brand-white) 78%,transparent);color:var(--brand-plum);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 56.471%,transparent);backdrop-filter:var(--brand-glass-blur);box-shadow:0 3px 12px color-mix(in srgb,var(--brand-plum) 3.922%,transparent);border-radius:6px 18px 18px 18px}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message.user{max-width:76%;margin-left:auto;margin-right:0;background:color-mix(in srgb,var(--brand-white) 58%,transparent);border-color:color-mix(in srgb,var(--brand-white) 39.608%,transparent);border-radius:18px 6px 18px 18px}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message small{color:var(--brand-plum);opacity:.7}
#chatbot-section #chatbot-messages{padding:24px}
@media(min-width:901px){#chatbot-section #chatbot-panel:not(.has-media) .chatbot-message{max-width:78%}#chatbot-section #chatbot-panel:not(.has-media) .chatbot-message.user{max-width:70%}}
@media(max-width:900px){#chatbot-section #chatbot-messages{padding:12px}:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message{max-width:92%;padding:12px 14px}:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message.user{max-width:86%}}

/* Reading plateaus: native scrolling moves through 1800px with a stationary screen. */
#approccio,#chatbot-section{height:calc(100svh + 1800px);overflow:visible}
#approccio .approach-pin{position:sticky;top:var(--reading-top,0px);min-height:100svh}
#chatbot-section{padding:0!important}
#chatbot-section-slot{position:sticky;top:var(--reading-top,0px);height:100dvh;padding:110px var(--page-margin,5vw) 28px;box-sizing:border-box}
@media(max-width:900px){#chatbot-section-slot{padding:90px 12px 64px}}
@media(max-width:900px) and (max-height:570px){#chatbot-section-slot{padding-bottom:56px}}

/* Image workspace: white glass, top title and full-height alignment with the log. */
#chatbot-section .has-media .chatbot-body{padding:16px 0 12px}
#chatbot-section .has-media #chatbot-messages{padding-top:0;padding-bottom:0}
#chatbot-section #chatbot-media{height:100%;margin:0 0 0 12px;padding:18px 16px 14px;gap:12px;align-self:stretch;background:color-mix(in srgb,var(--brand-white) 72%,transparent);color:var(--brand-plum);border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-white) 56.471%,transparent);backdrop-filter:blur(14px);box-shadow:var(--brand-shadow)}
#chatbot-section #chatbot-media figcaption{order:0;display:block;padding:0 36px 0 2px;margin:0;font-size:18px;font-weight:500;line-height:1.35;flex:none;color:var(--brand-plum)}
#chatbot-section #chatbot-media img{order:1;flex:1;min-height:0;width:100%;height:0;max-height:none;border-radius:12px}
#chatbot-section #chatbot-media nav{order:2;flex:none;width:100%;justify-content:center}
#chatbot-section #chatbot-media-page{order:3;margin:0;flex:none}
#chatbot-section #chatbot-count{display:none}
#chatbot-section #chatbot-dots{max-width:100%}
#chatbot-section #chatbot-dots button:after{background:color-mix(in srgb,var(--brand-plum) 38%,transparent)}
#chatbot-section #chatbot-dots button[aria-pressed=true]:after{background:var(--brand-primary)}
#chatbot-section #chatbot-panel [data-cb=hide-media]{top:10px;right:10px;color:var(--brand-plum)}
@media(max-width:900px){#chatbot-section .has-media .chatbot-body{padding:8px 0}#chatbot-section #chatbot-media{height:clamp(220px,35dvh,300px);flex-basis:clamp(220px,35dvh,300px);margin:0 8px 10px;width:calc(100% - 16px);padding:12px;gap:6px}#chatbot-section #chatbot-media figcaption{font-size:16px}#chatbot-section .has-media #chatbot-messages{padding-top:0;padding-bottom:0}}
@media(max-width:900px) and (max-height:570px){#chatbot-section #chatbot-media{height:100%;flex-basis:42%;width:42%;margin:0 0 0 8px;padding:8px;gap:4px}#chatbot-section #chatbot-media figcaption{display:block;font-size:14px}}
@media(max-width:900px) and (max-height:570px){#chatbot-section #chatbot-panel{height:calc(100dvh - 122px)}#chatbot-section-slot{padding-bottom:32px}#chatbot-section .chatbot-header{padding:6px 12px}#chatbot-section #chatbot-form{padding:4px 12px}#chatbot-section #chatbot-input{padding:7px 10px!important}#chatbot-section #chatbot-media{gap:2px;padding:6px 8px}#chatbot-section #chatbot-media figcaption{font-size:13px}#chatbot-section #chatbot-media nav{min-height:24px}}

/* Pop-up grows from the dock, preserving its bottom edge and outer page margin. */
#chatbot-dock[data-mode=popup]{left:auto;right:var(--popup-right,var(--page-margin));bottom:var(--popup-bottom,12px);transform:none;width:min(520px,calc(100vw - 2 * var(--page-margin)));z-index:100}
#chatbot-dock[data-mode=popup] #chatbot-panel{transform-origin:bottom right;max-height:calc(100dvh - 120px);display:flex;flex-direction:column}
#chatbot-dock[data-mode=popup] .chatbot-body{min-height:0;overflow:hidden}
#chatbot-dock[data-mode=popup] #chatbot-form,#chatbot-dock[data-mode=popup] .chatbot-header{flex-shrink:0}
@media(max-width:900px){#chatbot-dock[data-mode=popup]{left:var(--popup-left,var(--page-margin));right:auto;width:calc(100vw - 2 * var(--page-margin));bottom:var(--popup-bottom,max(12px,env(safe-area-inset-bottom)))}#chatbot-dock[data-mode=popup] #chatbot-panel{transform-origin:bottom left}}

/* Shared section rhythm and typography; the conversation has its own branded rail. */
#chatbot-section-slot{padding-top:var(--panel-top);padding-bottom:var(--panel-bottom)}
#chatbot-section #chatbot-panel{height:100%;min-height:0}
#chatbot-section .chatbot-header{padding:18px 24px;flex-shrink:0}
#chatbot-section .chatbot-header strong{font-family:var(--brand-font);font-size:clamp(26px,2.5vw,48px);font-weight:var(--brand-heading-weight);line-height:1.08;letter-spacing:-.045em}
#chatbot-section #chatbot-messages{overscroll-behavior-y:auto}
#chatbot-messages{scrollbar-width:thin;scrollbar-color:var(--brand-primary) color-mix(in srgb,var(--brand-white) 12%,transparent)}
@supports selector(::-webkit-scrollbar){#chatbot-messages{scrollbar-width:auto}#chatbot-messages::-webkit-scrollbar{width:10px}#chatbot-messages::-webkit-scrollbar-track{background:color-mix(in srgb,var(--brand-white) 7.059%,transparent);border-radius:12px;margin-block:8px}#chatbot-messages::-webkit-scrollbar-thumb{background:var(--brand-primary);border:3px solid transparent;background-clip:padding-box;border-radius:12px;min-height:36px}#chatbot-messages::-webkit-scrollbar-thumb:hover{background-color:var(--brand-white)}#chatbot-messages::-webkit-scrollbar-button{display:none;width:0;height:0}}
@media(max-width:900px){#chatbot-section .chatbot-header{padding:12px}#chatbot-section .chatbot-header strong{font-size:clamp(25px,5vw,38px)}}
@media(max-width:900px) and (max-height:570px){#chatbot-section .chatbot-header{padding:6px 12px}#chatbot-section .chatbot-header strong{font-size:26px}#chatbot-section-slot{padding-bottom:32px}}

/* Review: retain palette and layout; give each material one semantic role. */
.projects-menu{max-height:calc(100dvh - 150px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--brand-primary) transparent}
.projects-menu .menu-subtitle{display:block;font-size:11px;font-weight:500;color:var(--brand-muted);padding:12px 14px 4px;border-top:var(--brand-border-width) solid var(--brand-border);margin-top:4px}
.mobile-furniture-projects{display:grid;gap:4px;padding:0 10px 12px 22px;border-bottom:var(--brand-border-width) solid var(--brand-border)}
.mobile-furniture-projects button{min-height:44px;padding:10px 12px;text-align:left;font-size:14px;border-radius:calc(var(--brand-radius-button) * 0.3333333333333333);color:var(--brand-white)}
.mobile-furniture-projects button:hover{background:var(--brand-surface-dark)}
.world-transition .journey-note,
.world-transition .journey-note.on-dark{
 background:var(--brand-glass-plum);color:var(--brand-white);
 border:var(--brand-border-width) solid var(--brand-border);box-shadow:var(--brand-shadow);
 backdrop-filter:var(--brand-glass-blur);-webkit-backdrop-filter:var(--brand-glass-blur);
}
.furniture-lead,.furniture-card{
 background:var(--brand-glass-white);color:var(--brand-plum);
 border:var(--brand-border-width) solid var(--brand-glass-edge-on-light);border-radius:var(--brand-radius);
 box-shadow:var(--brand-shadow);backdrop-filter:var(--brand-glass-blur);-webkit-backdrop-filter:var(--brand-glass-blur);
}
.furniture-card{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--ds-box-spacing-base-13);padding:var(--ds-box-spacing-base-14);cursor:pointer}
.furniture-card>img{position:relative;inset:auto;width:100%;height:100%;min-height:0;border-radius:var(--brand-radius-photo);object-fit:cover}
.furniture-card:hover>img,.furniture-card:focus-visible>img{transform:none}
.furniture-card .project-card-label{position:relative;inset:auto;min-height:78px;padding:var(--ds-box-spacing-base-15);background:transparent}
.furniture-card:focus-visible{outline:3px solid var(--brand-primary);outline-offset:-4px}
.project-card-label .gallery-open{border-color:var(--brand-glass-edge-on-light)}
.project-gallery[open]{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:20px 28px}
.project-gallery{width:calc(100vw - 2 * var(--page-margin));height:min(84dvh,850px);max-height:calc(100dvh - 32px);padding:28px;background:var(--brand-glass-plum);border-radius:var(--brand-radius);color:var(--brand-white)}
.project-gallery .dialog-heading{grid-column:1/-1;position:static;display:block;padding:0 52px 0 0;pointer-events:auto;color:var(--brand-white);text-shadow:none}
.project-gallery #gallery-title{margin:0;font:var(--brand-heading-weight) clamp(25px,2.8vw,40px)/1.12 var(--brand-font);letter-spacing:-.04em}
.project-gallery .dialog-category{margin:10px 0 0;color:var(--brand-muted);font-size:13px;line-height:1.5}
.project-gallery .dialog-visual{position:relative;min-width:0;min-height:0;grid-column:1;grid-row:2}
.project-gallery .dialog-image{display:block;width:100%;height:100%;object-fit:contain}
.project-gallery .dialog-copy{grid-column:2;grid-row:2/4;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--brand-primary) transparent;padding:0 10px 8px 0}
.project-gallery .dialog-copy p{font-size:16px;line-height:1.7;margin:0 0 18px;color:var(--brand-white)}
.project-gallery .dialog-footer{grid-column:1;grid-row:3;display:flex;align-items:center;gap:12px;min-width:0}
.project-gallery .dialog-thumbs{position:static;transform:none;min-width:0;max-width:100%;margin:0;padding:6px;background:var(--brand-surface-dark);border-color:var(--brand-border)}
.project-gallery .dialog-thumbs button{width:56px;height:44px;min-width:44px;opacity:.8}
.project-gallery .dialog-thumbs button[aria-pressed=true]{opacity:1}
.project-gallery .dialog-count{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;color:var(--brand-muted)}
.project-gallery .dialog-close{top:18px;right:18px;width:44px;height:44px;background:var(--brand-surface-dark);border:var(--brand-border-width) solid var(--brand-border)}
.project-gallery .dialog-arrow{display:grid!important;opacity:1;background:var(--brand-glass-plum);border-color:var(--brand-border);backdrop-filter:var(--brand-glass-blur)}
.project-gallery .dialog-arrow.previous{left:8px}.project-gallery .dialog-arrow.next{right:8px}
.project-gallery .dialog-arrow:disabled{opacity:.3;cursor:default}
.approach-image img{object-fit:cover;object-position:center}
.approach-image>span{background:var(--brand-glass-plum);color:var(--brand-white);border:var(--brand-border-width) solid var(--brand-border);border-radius:var(--brand-radius-photo);backdrop-filter:var(--brand-glass-blur);-webkit-backdrop-filter:var(--brand-glass-blur);letter-spacing:.03em;line-height:1.5}
@media(max-width:700px){
 .project-gallery{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:none;padding:18px 14px}
 .project-gallery[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(140px,35dvh) auto minmax(90px,1fr);gap:12px}
 .project-gallery #gallery-title{font-size:26px}
 .project-gallery .dialog-category{font-size:12px;margin-top:6px}
 .project-gallery .dialog-close{top:12px;right:12px}
 .project-gallery .dialog-copy{grid-column:1;grid-row:4;padding:2px 6px 0 0}
 .project-gallery .dialog-copy p{font-size:14px;line-height:1.6;margin-bottom:14px}
 .project-gallery .dialog-thumbs{gap:5px}.project-gallery .dialog-thumbs button{width:44px;height:44px}
 .furniture-card{padding:var(--ds-box-spacing-mobile-33);}.furniture-card .project-card-label{padding:var(--ds-box-spacing-mobile-34);min-height:86px}
}
@media(max-height:570px) and (min-width:701px){.project-gallery{height:calc(100dvh - 24px);padding:16px}.project-gallery[open]{gap:10px 20px}.project-gallery #gallery-title{font-size:24px}.project-gallery .dialog-category{margin-top:4px}.project-gallery .dialog-copy p{font-size:14px;line-height:1.6}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .world-transition .journey-note,.world-transition .journey-note.on-dark,.project-gallery,.approach-image>span{background:var(--brand-plum)}
 .furniture-lead,.furniture-card{background:var(--brand-paper)}
}
@media(prefers-reduced-transparency:reduce){
 .world-transition .journey-note,.world-transition .journey-note.on-dark,.project-gallery,.approach-image>span{background:var(--brand-plum);backdrop-filter:none;-webkit-backdrop-filter:none}
 .furniture-lead,.furniture-card{background:var(--brand-paper);backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* Mobile interaction layer. Stable scene sizes, native vertical momentum. */
[data-cb=dismiss-keyboard]{display:none!important}
#hold-animation{display:none}
.mobile-carousel-hint{display:none}
.dialog-image-strip{display:none}
@media(max-width:900px){
 html{scroll-behavior:auto;scroll-padding-top:104px;overflow-anchor:none}
 :root{--panel-top:calc(108px + env(safe-area-inset-top));--panel-bottom:calc(84px + env(safe-area-inset-bottom))}
 .site-header{top:max(10px,env(safe-area-inset-top))!important}
 .board-window,.gallery-window,.byat-window,.exterior-window{touch-action:pan-y pinch-zoom}
 .photo-stage,.project-gallery .dialog-visual{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
 .mobile-menu-toggle{width:auto;min-width:76px;height:44px;font-size:14px;gap:7px;padding:8px 12px;bottom:max(12px,env(safe-area-inset-bottom))!important}
 .mobile-menu-toggle span{font-size:18px}
 .mobile-sections[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden;padding:12px;overscroll-behavior:contain}
 .mobile-sections>header{position:static;flex:none;background:var(--brand-plum);z-index:2;padding:4px 8px 12px}
 .mobile-sections nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--brand-primary) transparent;padding-right:4px}
 .mobile-sections>header button{min-width:44px;min-height:44px}
 .mobile-sections nav a{min-height:48px;font-size:16px;transition:background-color .15s,color .15s,box-shadow .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .mobile-sections nav a:hover{background:color-mix(in srgb,var(--brand-white) 18%,transparent);color:var(--brand-white)}
 .mobile-sections nav a:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}
 .mobile-sections nav a:active{background:var(--brand-primary);color:var(--brand-plum);box-shadow:inset 0 0 0 2px var(--brand-primary);transition:none}
 #chatbot-dock[data-mode=compact]:not(.in-hero){width:min(180px,calc(100vw - 206px))}
 #chatbot-dock[data-mode=popup]{bottom:calc(68px + env(safe-area-inset-bottom))!important}
 #chatbot-dock[data-mode=popup] #chatbot-panel{max-height:calc(100dvh - 172px - env(safe-area-inset-bottom));overflow:hidden}
 #chatbot-dock[data-mode=compact] #chatbot-input{font-size:16px!important;min-height:44px;padding:10px 12px!important;text-overflow:ellipsis}
 #chatbot-panel #chatbot-input{font-size:16px!important;min-height:44px}
 #chatbot-panel #chatbot-form button{min-width:44px;min-height:44px}
 #chatbot-panel .chatbot-tools button{min-width:44px;min-height:44px}
 #chatbot-section #chatbot-panel .chatbot-header strong{font-size:clamp(20px,5.6vw,28px);line-height:1.12}
 #chatbot-section-slot{height:100svh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 #chatbot-section #chatbot-panel{height:100%;min-height:0}
 #chatbot-section #chatbot-messages{overscroll-behavior-y:auto}
 #chatbot-panel .chatbot-message p{font-size:16px!important;line-height:1.55!important}
 #chatbot-panel .chatbot-actions button{font-size:14px;min-height:44px}
 #chatbot-panel .chatbot-footer button{font-size:12px!important;min-height:32px}
 #chatbot-section .has-media #chatbot-media{flex-basis:min(30svh,240px);height:min(30svh,240px)}
 #page-scroll-indicator{display:none!important}
 #skip-animation{right:calc(var(--page-margin) + 88px)!important;min-width:44px;min-height:44px;max-width:none!important}
 #hold-animation:not([hidden]){display:block;position:fixed;z-index:46;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));transform:translateX(-50%);border:var(--brand-border-width) solid var(--brand-border);border-radius:24px;padding:10px 18px;min-height:44px;background:var(--brand-plum);color:var(--brand-white);font:500 14px var(--brand-font);white-space:nowrap;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
 #hold-animation.is-playing{background:var(--brand-primary);color:var(--brand-plum)}
 .photo-dots button{position:relative;min-width:32px;min-height:36px;background:transparent!important;border:0!important;border-radius:0}
 .photo-dots button:before{display:none!important}
 .photo-dots button:after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.35;left:50%;top:50%;transform:translate(-50%,-50%)}
 .photo-dots button[aria-pressed=true]:after{opacity:1;background:var(--brand-primary)}
 .photo-arrow{display:grid!important;place-items:center;min-width:44px;min-height:44px;opacity:1!important}
 .byat-panel .byat-copy{overflow-y:auto!important;overscroll-behavior-y:auto;touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:var(--brand-primary) transparent;scroll-padding:var(--ds-box-spacing-mobile-5);padding-right:8px}
 .project-intro,.project-outro{overscroll-behavior-y:auto}
 .byat-copy p{font-size:var(--ds-body-size-mobile-3)!important;line-height:var(--ds-body-line-mobile-1)!important;}
 .byat-copy .render-kicker{font-size:var(--ds-caption-size-mobile-1)!important;}
 #approccio .approach-pin{position:relative;top:auto;min-height:0;padding-bottom:110px}
 #chatbot-section{min-height:100svh}
 .project-gallery .dialog-copy p{font-size:16px;line-height:1.55}
 .project-gallery .dialog-copy{scrollbar-gutter:stable}
 .project-gallery .dialog-arrow{width:44px;height:44px}
 .project-gallery .dialog-visual>.dialog-image{display:none}
 .project-gallery .dialog-image-strip{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-y pinch-zoom;overscroll-behavior:contain;scroll-snap-type:none}
 .dialog-image-strip::-webkit-scrollbar{display:none}
 .project-gallery .dialog-image-strip>img{display:block;flex:0 0 100%;width:100%;height:100%;min-width:0;object-fit:contain}
 .contact-dialog input,.contact-dialog textarea,.contact-dialog select{font-size:16px!important}
}
@media(max-width:600px){
 .contact{height:auto!important}
 .contact .contact-pin{position:relative;top:auto;height:auto;min-height:100svh;overflow:visible;gap:24px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .contact .contact-copy{overflow:visible;flex:none}
 .contact .contact-copy>h2{position:static;font-size:28px;margin-bottom:18px}
 .contact .contact-paths{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0;max-height:none;gap:var(--ds-box-spacing-mobile-6);}
 .contact .contact-path{min-height:190px;padding:var(--ds-box-spacing-mobile-7);gap:var(--ds-box-spacing-mobile-8);}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-5);line-height:var(--ds-heading-line-mobile-1);}
 .contact .contact-path h3 br{display:initial}
 .contact .contact-path>p:not(.eyebrow){display:block;font-size:var(--ds-caption-size-mobile-2);line-height:var(--ds-caption-line-mobile-1);}
 .contact .contact-paths .eyebrow{font-size:var(--ds-caption-size-mobile-3);}
 .contact .contact-paths .contact-cta{font-size:14px;min-height:44px;align-items:center}
 .contact footer{font-size:12px;line-height:1.45;gap:10px}
 .contact footer>a[href^='mailto:']{font-size:14px;min-height:44px;display:flex;align-items:center}
 .contact footer>span:nth-last-child(2){position:static;font-size:12px}
}
/* Writing mode uses VisualViewport dimensions rather than guessing keyboard size. */
@media(max-width:900px){
 html.chat-writing #chat-writing-layer{position:fixed;inset:0;z-index:200;pointer-events:none}
 html.chat-writing #chat-writing-layer #chatbot-panel{pointer-events:auto}
 html.chat-writing #chatbot-panel{position:fixed!important;inset:auto!important;top:var(--chat-visible-top,0px)!important;left:var(--chat-visible-left,0px)!important;width:var(--chat-visible-width,100vw)!important;height:var(--chat-visible-height,100dvh)!important;max-width:none!important;max-height:none!important;min-height:0!important;margin:0!important;transform:none!important;border-radius:0!important;z-index:200;display:flex!important;flex-direction:column;box-sizing:border-box;background:var(--brand-plum)!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}
 html.chat-writing #chatbot-panel .chatbot-header{display:flex!important;flex:none;padding:6px 12px;min-height:54px}
 html.chat-writing #chatbot-panel .chatbot-header strong{font-size:20px!important;color:var(--brand-white)}
 html.chat-writing #chatbot-panel .chatbot-tools>[data-cb]{display:none!important}
 html.chat-writing #chatbot-panel .chatbot-tools>[data-cb=dismiss-keyboard]{display:block!important;font-size:14px}
 html.chat-writing #chatbot-panel .chatbot-body{flex:1;min-height:0;overflow:hidden;padding:0!important}
 html.chat-writing #chatbot-panel #chatbot-messages{max-height:none!important;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px!important;box-sizing:border-box}
 html.chat-writing #chatbot-panel #chatbot-media,html.chat-writing #chatbot-panel .chatbot-footer{display:none!important}
 html.chat-writing #chatbot-panel #chatbot-form{flex:none;padding:8px 12px max(8px,env(safe-area-inset-bottom));margin:0;border-top:var(--brand-border-width) solid var(--brand-border)}
 html.chat-keyboard-open #chatbot-panel #chatbot-form{padding-bottom:8px}
 html.chat-writing :is(.site-header,.mobile-menu-toggle,#hold-animation,#skip-animation){visibility:hidden!important}
}
@media(max-width:360px){
 .byat-panel .byat-copy h2{font-size:var(--ds-heading-size-mobile-6)!important;line-height:var(--ds-heading-line-mobile-2)!important;}
 .project-gallery[open]{grid-template-rows:auto minmax(100px,28svh) auto minmax(80px,1fr)}
 .project-gallery #gallery-title{font-size:23px}
}
@media(max-width:900px) and (max-height:500px){
 #chatbot-section-slot{padding-top:100px;padding-bottom:64px}
 #chatbot-section .chatbot-footer{display:none}
}
@media(max-width:900px){
 :is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-bottom:calc(120px + env(safe-area-inset-bottom))}
 :is(#citta .board-window,#arredi .gallery-window,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-window){overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:none;overscroll-behavior-x:contain}
 :is(#citta .board-window,#arredi .gallery-window,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-window)::-webkit-scrollbar{display:none}
 .mobile-carousel-hint{display:flex;position:absolute;z-index:20;bottom:calc(70px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);align-items:center;gap:12px;width:max-content;max-width:90vw;pointer-events:none;color:var(--brand-white);font:500 13px var(--brand-font);opacity:0;transition:opacity .3s}
 .mobile-carousel-hint.is-visible{opacity:1}
 .mobile-carousel-hint small{display:block;font-size:11px;opacity:.75;margin-top:3px}
 .swipe-cue{font-size:30px}
 #hold-animation:not([hidden]){display:flex;flex-direction:row;align-items:center;gap:8px;top:auto;bottom:calc(70px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);padding:8px 13px;border-radius:24px;background:rgba(35,18,34,.86);white-space:nowrap;width:max-content;max-width:calc(100vw - 32px);font-size:12px;text-align:center;box-shadow:0 4px 18px #0002}
 #hold-animation svg{flex:none;width:28px;height:28px;animation:hold-invite 2s ease-in-out infinite}
 #hold-animation.is-playing{opacity:.35;color:var(--brand-white)}
 #hold-animation.is-playing svg{animation:none}
 .hold-scene-active :is(#mondo,#casa){-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
}
@keyframes hold-invite{50%{opacity:.55;transform:scale(.94)}}
@media(max-width:700px){
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy{height:100%;min-height:0}
}
@media(max-width:900px){
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-stage{flex:1;min-height:0;height:auto;max-height:none;aspect-ratio:auto}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-dots{flex:none}
}
@media(max-width:900px) and (max-height:500px){
 :is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-bottom:84px}
 .mobile-carousel-hint{bottom:64px;font-size:11px;gap:6px}
 .mobile-carousel-hint small{display:none}
 .swipe-cue{font-size:20px}
}
@media(prefers-reduced-motion:reduce){#hold-animation svg{animation:none}.mobile-carousel-hint{transition:none}}

/* Shared gallery pagination: one definition for inline images and fullscreen. */
.photo-dots{display:flex!important;justify-content:center;align-items:center;gap:2px;color:inherit}
.photo-dots button{position:relative!important;flex:0 0 30px!important;width:30px!important;height:32px!important;min-width:30px!important;min-height:32px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.photo-dots button:before{display:none!important}
.photo-dots button:after{content:'';position:absolute;width:8px;height:8px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:currentColor;opacity:.5}
.photo-dots button[aria-pressed=true]:after{background:var(--brand-primary);opacity:1;width:10px;height:10px}
.photo-dots button:focus-visible{outline:2px solid var(--brand-primary)!important}
#chatbot-panel .chatbot-footer:has([data-cb=copy][hidden]){display:none!important}
#chatbot-panel .chatbot-body{display:flex!important;flex-direction:column!important;min-height:0}
#chatbot-panel #chatbot-messages{flex:1;min-height:0;width:100%!important;max-height:none!important}
#chatbot-panel #chatbot-media:not([hidden]){display:flex!important;position:relative!important;flex-direction:column;flex:none!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;margin:14px 0!important;padding:12px!important;box-sizing:border-box;background:var(--brand-surface-dark)!important;color:var(--brand-white)!important;border-radius:calc(var(--brand-radius) * 0.6666666666666666)}
#chatbot-panel #chatbot-media img{position:static!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:48dvh!important;object-fit:contain;align-self:center;margin:8px auto}
#chatbot-panel #chatbot-media nav{position:static!important;flex:none}
#chatbot-panel #chatbot-media figcaption{padding-right:30px;font-size:15px}
#chatbot-panel #chatbot-media-page{font-size:13px;padding:7px 12px;align-self:flex-start}
#chat-launcher{display:none}
#contact-dialog #contact-form{filter:blur(7px);pointer-events:none;user-select:none;opacity:.35}
.contact-coming-soon{position:absolute;z-index:3;inset:50% 20px auto;transform:translateY(-50%);padding:24px;border-radius:20px;background:var(--brand-plum);color:var(--brand-white);box-shadow:0 12px 60px #0005;text-align:center}
.contact-coming-soon p{font-size:16px;line-height:1.5;margin:0 0 18px}
.contact-coming-soon a{display:block;color:inherit;overflow-wrap:anywhere;margin:12px 0}
.contact-coming-soon button{background:var(--brand-primary);color:var(--brand-plum);padding:12px 20px;border-radius:calc(var(--brand-radius-button) * 1.0);border:0;font:inherit}
.contact-close{z-index:5}
#arredi .mobile-carousel-hint{color:var(--brand-plum)}
@media(max-width:900px){
 :root,:is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-bottom:64px!important;--panel-top:108px}
 :is(.urban-pin,.furniture-pin,.byat-pin,.journey-pin){height:100dvh!important}
 .urban-pin{--board-height:calc(100dvh - var(--panel-top) - 64px)!important}
 .site-header .timeline-label{display:flex;align-items:center;justify-content:center;min-height:30px!important;font-size:clamp(9px,2.5vw,12px);line-height:1.15!important;text-wrap:balance}
 .site-header .timeline-line i{display:block!important;background:var(--brand-primary);transform:scaleX(var(--mobile-progress,0))!important;transform-origin:left}
 #chatbot-dock[data-mode=compact]{display:none!important}
 #chat-launcher{display:grid;place-items:center;position:fixed;z-index:90;right:var(--page-margin);bottom:calc(var(--hud-inset,0px) + 66px);width:44px;height:44px;padding:10px;border:var(--brand-border-width) solid var(--brand-primary);border-radius:50%;background:var(--brand-plum);color:var(--brand-primary)}
 #chat-launcher svg{width:24px;height:24px}
 .mobile-menu-toggle,#skip-animation{position:fixed!important;bottom:calc(var(--hud-inset,0px) + 12px)!important;height:44px!important;min-height:44px!important}
 #skip-animation{right:auto!important;left:var(--page-margin)!important}
 #page-scroll-indicator:not([hidden]){display:flex!important;position:fixed!important;inset:auto!important;bottom:calc(var(--hud-inset,0px) + 10px)!important;left:50%!important;transform:translateX(-50%)!important;height:44px!important;z-index:45;pointer-events:auto}
 #page-scroll-indicator .hud-mouse,#page-scroll-indicator .hud-keys,#page-scroll-indicator .pan-icon{display:none!important}
 #page-scroll-indicator .hud-pan{display:block!important;height:38px}
 #page-scroll-indicator[data-axis=horizontal] .pan-vertical{display:block;animation:cue-alternate 4s infinite}
 #page-scroll-indicator[data-axis=horizontal] .pan-horizontal{animation:cue-alternate 4s 2s infinite}
 .mobile-carousel-hint{display:none!important}
 #hold-animation:not([hidden]){bottom:calc(var(--hud-inset,0px) + 64px)!important;max-width:calc(100vw - 120px);font-size:11px}
 html.chat-writing #chat-writing-layer{background:var(--brand-plum);pointer-events:auto}
 html.chat-writing :is(#chat-launcher,#page-scroll-indicator){visibility:hidden!important}
 html.chat-writing #chatbot-panel #chatbot-media:not([hidden]){display:flex!important}
 html.chat-writing #chatbot-panel .chatbot-body{overflow:hidden!important;flex:1!important;min-height:0!important}
 html.chat-writing #chatbot-panel #chatbot-messages{height:auto!important;flex:1!important}
 #chatbot-section-slot{height:100dvh!important;padding-bottom:64px!important}
 #chatbot-panel .chatbot-message{padding:12px!important;margin-bottom:12px!important;border-radius:16px}
 #chatbot-panel .chatbot-actions{gap:6px}
 #chatbot-panel .chatbot-actions button{min-height:36px;font-size:13px!important;padding:8px 10px}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel{display:flex!important;flex-direction:column;overflow-y:auto!important;overscroll-behavior:contain;gap:14px;padding:18px!important}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy{flex:none!important;overflow:visible!important;height:auto!important;padding:var(--ds-box-spacing-mobile-35)!important;}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy h3{font-size:var(--ds-heading-size-mobile-17);line-height:var(--ds-heading-line-mobile-4);}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy p{font-size:var(--ds-body-size-mobile-12)!important;line-height:var(--ds-body-line-mobile-10)!important;margin-top:12px}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-gallery{flex:none!important;min-height:200px;width:100%}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-stage{height:clamp(180px,30dvh,340px)!important;flex:none!important}
 .photo-stage{padding-left:0!important;padding-right:0!important;width:100%!important}
 .photo-arrow{position:absolute!important;z-index:5;top:50%!important;transform:translateY(-50%);width:40px!important;height:40px!important;background:var(--brand-glass-plum)!important;color:var(--brand-white)!important;backdrop-filter:blur(8px)}
 .photo-arrow:first-of-type{left:6px!important}.photo-arrow:last-of-type{right:6px!important}
 .contact-spoon-background{display:none!important}
 .contact .contact-pin{padding-bottom:66px!important;gap:12px!important;min-height:100dvh}
 .contact .contact-paths{gap:var(--ds-box-spacing-mobile-22)!important;}
 .contact .contact-path{position:relative;min-height:0!important;padding:var(--ds-box-spacing-mobile-23)!important;gap:var(--ds-box-spacing-mobile-24)!important;}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-18)!important;line-height:var(--ds-heading-line-mobile-5)!important;padding-right:38px}
 .contact .contact-path .eyebrow{font-size:var(--ds-caption-size-mobile-6)!important;}
 .contact .contact-path>p:not(.eyebrow){font-size:var(--ds-caption-size-mobile-7)!important;line-height:var(--ds-caption-line-mobile-2)!important;}
 .contact .contact-cta{position:absolute;right:12px;top:14px;gap:3px!important;min-height:0!important}
 .contact footer{margin-top:0!important;padding-top:12px!important;gap:6px!important;font-size:11px!important}
 .contact footer>a[href^=mailto]{min-height:26px!important;font-size:13px!important}
}
@keyframes cue-alternate{0%,40%{opacity:1}50%,90%{opacity:0}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){#page-scroll-indicator *{animation:none!important}}
.photo-dots button{color:inherit!important}
.contact .contact-path .contact-cta{width:auto!important;left:auto!important;display:flex;justify-content:flex-end;gap:var(--ds-box-spacing-base-16)!important;}
.contact .contact-path .contact-cta>span{position:static!important;transform:none!important}
@media(max-width:900px){
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-gallery{flex:1!important;display:flex;flex-direction:column}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-stage{flex:1!important;height:auto!important;min-height:200px!important}
 #arredi .furniture-intro,#arredi .gallery-intro{color:var(--brand-plum)!important;border-color:var(--brand-glass-edge-on-light)!important}
}

/* Stable page geometry and a single bottom control row. */
#chatbot-dock[data-mode=compact] #chatbot-panel .chatbot-body,
#chatbot-dock[data-mode=compact] #chatbot-panel .chatbot-header,
#chatbot-dock[data-mode=compact] #chatbot-panel .chatbot-footer{display:none!important}
#chatbot-dock[data-mode=compact] #chatbot-panel{height:auto!important;min-height:0!important}
#chat-launcher[hidden],body.on-assistant-section #chat-launcher{display:none!important}
#chatbot-media img,.chatbot-lightbox>img{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#chatbot-section-slot{overflow:hidden;contain:layout}
#chatbot-panel .chatbot-body{min-height:0;flex:1;overflow:hidden}
#chatbot-panel #chatbot-media img{flex:none!important}
#chatbot-panel #chatbot-media figcaption,#chatbot-panel [data-cb=hide-media]{color:inherit!important}
@media(max-width:900px){
 :root,:is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-bottom:60px!important;--panel-top:calc(var(--compact-header-height,84px) + 24px)!important;--mobile-panel-height:calc(100dvh - var(--panel-top) - var(--panel-bottom))}
 .urban-pin{--board-height:var(--mobile-panel-height)!important;gap:8px!important;padding-bottom:var(--panel-bottom)!important}
 .board-window,.butera-window{height:var(--mobile-panel-height)!important;flex:0 0 var(--mobile-panel-height)!important}
 .board-track,.butera-track{height:100%!important}
 .project-intro,.project-outro,.project-board,.butera-panel{height:100%!important;max-height:none!important}
 .board-meter{flex:none;height:2px!important;margin-top:0!important}
 .gallery-window,.exterior-window,#casa:not(.is-minimized) .byat-window{height:var(--mobile-panel-height)!important;max-height:none!important;flex-shrink:0!important}
 .gallery-track,.exterior-track,#casa:not(.is-minimized) .byat-track{height:100%!important}
 .furniture-lead,.furniture-card,.exterior-panel,#casa:not(.is-minimized) .interior-panel{height:100%!important;max-height:none!important}
 .furniture-pin,.byat-pin{padding-bottom:var(--panel-bottom)!important}
 .byat-copy,.butera-panel,.project-intro,.project-outro{overscroll-behavior-y:contain!important}
 .exterior-panel .photo-stage .photo-slide:nth-of-type(2){object-fit:cover!important;object-position:center}
 #hold-animation:not([hidden]){bottom:calc(var(--hud-inset,0px) + 12px)!important;min-height:44px!important;height:44px!important;width:136px;max-width:calc(100vw - 176px);padding:4px 7px!important;gap:5px!important;font-size:10px!important;line-height:1.1;white-space:normal!important;justify-content:center;box-sizing:border-box}
 #hold-animation svg{width:24px!important;height:24px!important}
 html.hud-hold-visible #page-scroll-indicator{display:none!important}
 #chatbot-section{height:var(--scene-height,100svh)!important;min-height:var(--scene-height,100svh)!important;padding:0!important;overflow:visible!important}
 #chatbot-section-slot{position:sticky!important;top:0!important;height:min(100dvh,var(--scene-height,100svh))!important;min-height:0!important;padding:var(--panel-top) var(--page-margin) var(--panel-bottom)!important;box-sizing:border-box}
 #chatbot-section #chatbot-panel{height:100%!important;min-height:0!important;margin:0!important;width:100%}
 #chatbot-dock[data-mode=popup]{left:12px!important;right:12px!important;bottom:calc(var(--hud-inset,0px) + 64px)!important;transform:none!important;width:auto!important}
 #chatbot-dock[data-mode=popup] #chatbot-panel{display:flex;flex-direction:column;height:calc(100dvh - 176px);max-height:calc(100dvh - 176px)!important}
 html.chat-writing #chatbot-panel{height:var(--chat-visible-height,100dvh)!important;max-height:none!important}
}
@media(hover:hover) and (pointer:fine){
 .furniture-card>img{transition:transform .35s ease,filter .35s ease!important;transform:scale(1)!important}
 .furniture-card:is(:hover,:focus-visible)>img{transform:scale(1.035)!important;filter:brightness(1.035)}
}
@media(prefers-reduced-motion:reduce){.furniture-card>img{transition:none!important}.furniture-card:is(:hover,:focus-visible)>img{transform:none!important}}
/* Image collections are permanent conversation messages, each with its own index. */
#chatbot-panel .chatbot-media-message{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;margin:0 0 16px;padding:14px;border:var(--brand-border-width) solid var(--brand-border);border-radius:calc(var(--brand-radius) * 0.6666666666666666);background:var(--brand-surface-dark);color:var(--brand-white);box-sizing:border-box;overflow:hidden;flex:none}
#chatbot-panel .chatbot-media-message>small{text-transform:uppercase;letter-spacing:.08em;font-size:10px;opacity:.7}
#chatbot-panel .chatbot-media-message>figcaption{font-size:16px;line-height:1.3;color:inherit}
#chatbot-panel .chatbot-media-message>img{display:block;flex:none;align-self:center;width:auto;height:auto;max-width:100%;max-height:min(48dvh,440px);object-fit:contain;border-radius:10px;cursor:zoom-in;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#chatbot-panel .chatbot-media-message>nav{display:flex;align-items:center;gap:6px;width:100%;min-width:0}
#chatbot-panel .chatbot-media-message [data-image-step]{flex:none;width:36px;height:36px;padding:4px;display:grid;place-items:center}
#chatbot-panel .chatbot-media-message .photo-dots{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;justify-content:safe center!important;overscroll-behavior:contain}
#chatbot-panel .chatbot-media-message .chatbot-media-page{align-self:flex-start;font-size:13px;padding:7px 12px;background:var(--brand-primary);color:var(--brand-plum);border:0}

/* Interaction and reading surfaces. Palette remains bound to the brand tokens. */
:root{--chat-surface:var(--brand-plum);--chat-message:var(--brand-paper);--chat-user:color-mix(in srgb,var(--brand-primary) 25%,var(--brand-paper))}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}
button:disabled{cursor:default}
.photo-arrow[hidden]{display:none!important}
.photo-arrow:disabled{opacity:.35!important;pointer-events:none}
.photo-dots{flex-wrap:nowrap!important;min-width:0;max-width:100%;overflow-x:auto;justify-content:safe center!important;scrollbar-width:none;color:inherit}
.photo-dots button{flex:0 0 44px!important;min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important}
.photo-gallery:has(.photo-slide:only-of-type)>.photo-dots{display:none!important}
:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-dots,.exterior-panel .photo-dots{color:var(--brand-white)}
.photo-stage{overflow:hidden}
.project-board img,.photo-slide.is-current{cursor:zoom-in}
.photo-slide:not(.is-current){pointer-events:none}
.mobile-project-list summary{cursor:pointer;min-height:44px;padding:12px 16px;font-size:14px;color:var(--brand-muted)}
.mobile-project-list summary:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px;border-radius:10px}
.mobile-project-list .mobile-furniture-projects{padding-left:12px}
.approach-image img{object-fit:contain!important;background:var(--brand-muted)}

/* Chat: one visual system and one bounded scroller in every host. */
:is(#chatbot-section,#chatbot-dock) #chatbot-panel{display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--brand-white);background:var(--brand-glass-plum);font:400 16px/1.5 var(--brand-font);isolation:isolate}
#chatbot-dock[data-mode=popup]{bottom:24px!important;right:var(--page-margin)!important;left:auto!important;transform:none!important;width:min(480px,calc(100vw - 32px));z-index:100}
#chatbot-dock[data-mode=popup] #chatbot-panel{height:min(640px,calc(100dvh - 150px));max-height:calc(100dvh - 150px)!important;background:var(--brand-plum)}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-header{display:flex;flex:none;min-height:64px;gap:8px;padding:12px 18px;border-bottom:var(--brand-border-width) solid var(--brand-border);background:transparent;color:var(--brand-white)}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-header strong{font:500 21px/1.2 var(--brand-font);letter-spacing:-.025em;color:inherit}
#chatbot-panel .chatbot-tools button{min-width:44px;min-height:44px;flex:none}
#chatbot-panel .chatbot-tools [data-cb=compact]{font-size:26px;line-height:1}
#chatbot-panel .chatbot-body{position:relative;display:flex!important;flex:1 1 0!important;min-height:0!important;overflow:hidden!important}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel #chatbot-messages{display:block;flex:1;min-height:0;width:100%;max-height:none!important;max-width:none!important;margin:0;padding:20px max(18px,calc((100% - 920px)/2))!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain!important;overflow-anchor:none;scrollbar-gutter:stable;scrollbar-width:thin;order:0}
#chatbot-section #chatbot-panel #chatbot-messages{overscroll-behavior-y:auto!important}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message{width:fit-content;max-width:88%;margin:0 auto 16px 0!important;padding:14px 16px!important;border:0;border-radius:6px 18px 18px 18px!important;background:var(--chat-message)!important;color:var(--brand-plum)!important;backdrop-filter:none;box-shadow:none}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message.user{max-width:80%;margin:0 0 16px auto!important;background:var(--chat-user)!important;border-radius:18px 6px 18px 18px!important}
#chatbot-panel .chatbot-message p{font-size:16px!important;line-height:1.55!important;margin:4px 0 0!important}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message small{font-size:12px;color:var(--brand-plum)!important;opacity:.7;letter-spacing:.05em}
#chatbot-panel .chatbot-actions{gap:8px;margin-top:14px}
#chatbot-panel .chatbot-actions button{min-height:44px;font-size:14px!important;line-height:1.3;padding:10px 12px;background:var(--brand-primary);color:var(--brand-plum);border:0}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel #chatbot-form{display:flex;flex:none;width:100%;padding:12px max(18px,calc((100% - 920px)/2));gap:8px;margin:0;border-top:var(--brand-border-width) solid var(--brand-border);background:transparent}
:is(#chatbot-section,#chatbot-dock) #chatbot-panel #chatbot-input{height:46px;min-height:46px;min-width:0;font:400 16px/1.4 var(--brand-font)!important;padding:10px 12px!important;background:var(--brand-surface-dark)!important;color:var(--brand-white)!important;border:var(--brand-border-width) solid var(--brand-border)!important}
#chatbot-panel #chatbot-input::placeholder{color:var(--brand-muted)!important;opacity:1}
#chatbot-panel #chatbot-form button{flex:none;width:46px;min-height:46px;font-size:22px;background:var(--brand-primary);color:var(--brand-plum)}
#chatbot-panel .chatbot-latest{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:2;min-height:44px;white-space:nowrap;background:var(--brand-primary);color:var(--brand-plum);box-shadow:0 4px 20px color-mix(in srgb,var(--brand-ink) 20%,transparent)}
#chatbot-panel .chatbot-latest[hidden]{display:none!important}
#chatbot-panel .chatbot-media-message{width:min(100%,640px);padding:12px!important;background:var(--brand-surface-dark);color:var(--brand-white)}
#chatbot-panel .chatbot-media-message>img{width:100%;height:auto;aspect-ratio:4/3;max-height:320px;object-fit:contain;background:color-mix(in srgb,var(--brand-ink) 20%,transparent)}
#chatbot-panel .chatbot-media-message>small{font-size:12px}
#chatbot-panel .chatbot-media-message [data-image-step]{width:44px;height:44px;min-width:44px;min-height:44px}
#chatbot-panel .chatbot-media-message .chatbot-media-page{min-height:44px;font-size:14px}
#chatbot-dock[data-mode=compact] #chatbot-panel #chatbot-form{border:0;padding:3px 5px}
#chatbot-dock[data-mode=compact] #chatbot-panel #chatbot-input{background:transparent!important;border:0!important;font-size:14px!important;padding:6px!important}
#chatbot-dock[data-mode=compact] #chatbot-panel #chatbot-form button{width:38px;min-height:38px}
#chatbot-panel .chatbot-typing{flex:none}
.chatbot-lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;padding:56px 20px 16px;box-sizing:border-box}
.chatbot-lightbox>img{min-height:0;height:100%!important;width:100%;object-fit:contain}
.chatbot-lightbox>p{margin:0;max-height:4.5em;overflow:auto;font-size:14px;line-height:1.5}
.chatbot-lightbox>nav{position:static!important;min-width:0;min-height:44px;gap:8px}
.chatbot-lightbox nav>[data-step]{position:static!important;transform:none!important;width:44px;height:44px;flex:none}
.chatbot-lightbox .photo-dots{max-width:calc(100% - 104px)}
.chatbot-lightbox .lightbox-close{top:8px;right:8px;width:44px;height:44px}

/* Enlarge plans and inline project images without changing their framing. */
.portfolio-lightbox{width:min(1400px,calc(100vw - 24px));height:calc(100dvh - 24px);max-width:none;max-height:none;padding:12px;border:var(--brand-border-width) solid var(--brand-border);border-radius:var(--brand-radius);background:var(--brand-plum);color:var(--brand-white)}
.portfolio-lightbox[open]{display:flex;flex-direction:column;gap:8px}
.portfolio-lightbox::backdrop{background:color-mix(in srgb,var(--brand-ink) 75%,transparent)}
.portfolio-lightbox header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}
.portfolio-lightbox button{min-width:44px;min-height:44px;border:var(--brand-border-width) solid var(--brand-border);border-radius:calc(var(--brand-radius-button) * 0.4);padding:8px 12px;color:inherit;font:inherit;background:var(--brand-surface-dark)}
.portfolio-lightbox header button:last-child{font-size:26px;line-height:1}
.portfolio-lightbox .lightbox-canvas{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;text-align:center}
.portfolio-lightbox img{display:block;width:100%;height:100%;object-fit:contain;margin:auto}
.portfolio-lightbox.is-zoomed img{width:auto;height:auto;max-width:none;max-height:none;min-width:100%;max-inline-size:none}
.portfolio-lightbox footer{display:flex;align-items:center;gap:12px;flex:none;font-size:14px}
.portfolio-lightbox footer span{flex:1;text-align:center}
.contact-dialog #contact-form{display:none}
.contact-dialog{height:fit-content!important;max-height:calc(100dvh - 32px);overflow:auto}
.contact-coming-soon{position:static;inset:auto;transform:none;margin-top:20px;padding:20px;box-shadow:none;text-align:left;border:var(--brand-border-width) solid var(--brand-border)}
.contact-coming-soon a{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.contact-coming-soon [role=status]{display:block;min-height:24px;font-size:14px;margin-top:8px}
.contact-close,.editorial-dialog .dialog-close{min-width:44px;min-height:44px}

@media(max-width:900px){
 :root{--mobile-control-bottom:max(12px,env(safe-area-inset-bottom));--panel-bottom:calc(64px + env(safe-area-inset-bottom))!important}
 .site-header .timeline-label{font-size:12px!important;line-height:1.2!important}
 .site-header .header-timeline:after{display:none}
 .mobile-menu-toggle,#skip-animation{bottom:var(--mobile-control-bottom)!important}
 #chat-launcher{right:var(--page-margin)!important;left:auto!important;bottom:calc(66px + env(safe-area-inset-bottom))!important;width:44px;height:44px;background:var(--brand-plum);z-index:90}
 #page-scroll-indicator:not([hidden]){bottom:var(--mobile-control-bottom)!important;min-width:44px;min-height:44px}
 #hold-animation:not([hidden]){bottom:var(--mobile-control-bottom)!important;width:144px;max-width:calc(100vw - 156px);font-size:12px!important;line-height:1.15;gap:6px!important;padding:4px 8px!important;color:var(--brand-white);background:var(--brand-plum);--hold-icon-surface:var(--brand-plum)}
 #hold-animation:not([hidden]) svg{width:32px!important;height:32px!important;animation:none}
 #hold-animation.is-playing{opacity:1!important;background:var(--brand-plum)!important;color:var(--brand-white)!important;--hold-icon-surface:var(--brand-plum)}
 #hold-animation.is-on-light{background:var(--brand-paper);color:var(--brand-plum);--hold-icon-surface:var(--brand-paper)}
 #hold-animation.is-playing .press-halo{opacity:.3}
 .project-intro,.project-outro,.furniture-lead{overflow-y:auto!important;overscroll-behavior-y:auto!important;padding:var(--ds-box-spacing-mobile-36)!important;}
 .project-intro>p,.project-outro>p,.furniture-lead>p,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy p{font-size:var(--ds-body-size-mobile-3)!important;line-height:var(--ds-body-line-mobile-1)!important;}
 .award-block{gap:12px;margin-top:24px!important;padding-top:16px}
 .award-block .project-award{font-size:14px!important;line-height:1.45!important}
 .award-badge{width:56px!important;max-height:76px;object-fit:contain}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy{max-height:none!important;flex:0 0 auto!important;gap:var(--ds-box-spacing-mobile-37);}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy h3{font-size:var(--ds-heading-size-mobile-19)!important;}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy .render-kicker,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy>p:first-of-type{font-size:var(--ds-caption-size-mobile-1)!important;letter-spacing:var(--ds-caption-tracking-mobile-2);line-height:var(--ds-caption-line-mobile-2)!important;}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-gallery{flex:0 0 auto!important;min-height:264px!important}
 .photo-dots{gap:0!important}
 .photo-stage .photo-arrow{width:44px!important;height:44px!important;min-width:44px!important}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .photo-stage{min-height:220px!important}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel{overscroll-behavior-y:auto!important}
 .interior-minimize{min-width:44px;min-height:44px;top:8px!important;right:8px!important}
 .interior-panel .byat-copy h2{padding-right:40px}
 .contact .contact-path>p:not(.eyebrow){font-size:var(--ds-caption-size-mobile-8)!important;line-height:var(--ds-caption-line-mobile-3)!important;}
 .contact .contact-path .eyebrow{font-size:var(--ds-caption-size-mobile-1)!important;}
 .contact footer{font-size:12px!important;line-height:1.5}
 .contact footer>a[href^=mailto]{min-height:44px!important;font-size:14px!important}
 .contact .contact-pin{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
 #chatbot-section-slot{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
 :is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-header{padding:10px 12px;min-height:58px}
 :is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-header strong{font-size:20px!important}
 :is(#chatbot-section,#chatbot-dock) #chatbot-panel #chatbot-messages{padding:14px 12px!important;scrollbar-gutter:auto}
 :is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message{max-width:94%;padding:12px!important}
 :is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-message.user{max-width:88%}
 :is(#chatbot-section,#chatbot-dock) #chatbot-panel #chatbot-form{padding:10px 12px;gap:8px}
 html.chat-keyboard-open #chatbot-panel #chatbot-form{padding-bottom:8px}
 .chatbot-lightbox{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none;max-width:none;border-radius:18px}
 .chatbot-lightbox[open]{padding:56px 12px 12px}
 .project-gallery .dialog-footer{grid-row:3}
}
@media(max-width:900px) and (max-height:500px){
 .site-header .header-timeline{height:44px}
 .site-header .header-timeline a,.site-header .header-timeline a:nth-child(n){min-height:44px;padding-bottom:12px}
 .site-header .timeline-label{min-height:26px!important}
 :root,:is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-top:calc(var(--compact-header-height,64px) + 18px)!important}
 .contact .contact-pin{height:auto!important;min-height:100dvh;overflow:visible!important;position:relative!important}
 .contact .contact-copy{overflow:visible!important}
 #chatbot-panel .chatbot-header{min-height:52px!important;padding:4px 12px!important}
 #chatbot-panel #chatbot-form{padding-top:6px!important;padding-bottom:6px!important}
}
@media(prefers-reduced-motion:reduce){#hold-animation svg,.press-halo{animation:none!important}html:focus-within{scroll-behavior:auto}}
@media(prefers-reduced-transparency:reduce){:is(#chatbot-section,#chatbot-dock) #chatbot-panel{background:var(--brand-plum);backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Final mobile reading layout and in-section keyboard accommodation. */
.photo-stage .photo-slide{transition:opacity 180ms ease,visibility 0s linear 180ms}
.photo-stage .photo-slide.is-current{transition-delay:0s}
.photo-stage .photo-arrow{display:grid!important;place-items:center;padding:0!important;line-height:1}
.photo-arrow svg{display:block;flex:none}
.byat-copy h2,.byat-copy h3{margin-bottom:0!important;padding-bottom:8px!important}
.byat-copy .render-kicker,.byat-copy .project-place{margin-top:6px!important;margin-bottom:16px!important;padding-top:0!important}
.project-gallery .dialog-count{display:none!important}
.project-gallery .dialog-footer{justify-content:center;align-items:center}
.project-gallery .dialog-thumbs{margin-inline:auto;width:max-content;max-width:100%;align-items:center;justify-content:safe center}
#chatbot-panel [data-cb=dismiss-keyboard]{display:none!important}
.contact-intro{display:none}
@media(max-width:900px){
 .hero-glass{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;gap:var(--ds-box-spacing-mobile-37)!important;padding:var(--ds-box-spacing-mobile-38)!important;align-items:center!important;height:auto!important}
 .hero-copy{display:flex!important;flex-direction:column;gap:var(--ds-box-spacing-mobile-22)!important;grid-column:1!important;grid-row:1!important;min-width:0;text-align:left!important}
 .hero-copy h1{font-size:var(--ds-display-size-mobile-8)!important;line-height:var(--ds-display-line-mobile-3)!important;margin:0!important;text-align:left!important}
 .hero-copy .hero-intro{font-size:var(--ds-body-size-mobile-13)!important;line-height:var(--ds-body-line-mobile-10)!important;margin:0!important;text-align:left!important;max-width:none!important}
 .hero-profile{grid-column:2!important;grid-row:1!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:1;align-self:center!important;object-fit:cover}
 #hold-animation.is-on-light,#hold-animation.is-on-light.is-playing{background:var(--brand-paper)!important;color:var(--brand-plum)!important;--hold-icon-surface:var(--brand-paper)}
 .project-gallery[open]{grid-template-rows:auto minmax(140px,1.65fr) auto minmax(90px,1fr)!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important}
 .project-gallery .dialog-visual{min-height:0!important;height:100%!important}
 .project-gallery .dialog-copy{min-height:0!important;overflow-y:auto!important}
 html.chat-inline-writing #chatbot-section-slot{height:var(--chat-inline-height,100dvh)!important}
 html.chat-inline-writing #chatbot-section #chatbot-panel{height:100%!important;max-height:none!important}
 html.chat-inline-writing #chatbot-panel [data-cb=dismiss-keyboard]{display:block!important;font-size:14px}
 html.chat-keyboard-open .mobile-menu-toggle,html.chat-keyboard-open #chat-launcher{visibility:hidden!important;pointer-events:none!important}
 html.chat-inline-writing #chatbot-section #chatbot-messages{overscroll-behavior:contain!important}
 .contact .contact-pin{position:relative!important;height:auto!important;min-height:100svh!important;max-height:none!important;overflow:visible!important;padding-top:var(--panel-top)!important;gap:24px!important}
 .contact .contact-copy{overflow:visible!important;max-height:none!important;height:auto!important;flex:none!important}
 .contact #contact-title{font-size:clamp(34px,8.4vw,52px)!important;line-height:1.08!important;margin-bottom:12px!important}
 .contact-intro{display:block;color:var(--brand-muted);font-size:20px;line-height:1.45;margin:0 0 24px;max-width:34em}
 .contact .contact-manifesto{display:none!important}
 .contact .contact-paths{display:flex!important;flex-direction:column;gap:var(--ds-box-spacing-mobile-39)!important;}
 .contact .contact-path{display:flex!important;flex-direction:column;align-items:flex-start;padding:var(--ds-box-spacing-mobile-40)!important;gap:var(--ds-box-spacing-mobile-41)!important;min-height:0!important;text-align:left;background:var(--brand-surface-dark)!important;border:var(--brand-border-width) solid var(--brand-border)!important;border-radius:calc(var(--brand-radius) * 1.0)!important}
 .contact .contact-path h3{font-size:var(--ds-heading-size-mobile-20)!important;line-height:var(--ds-heading-line-mobile-6)!important;padding-right:0!important;margin:0!important}
 .contact .contact-path .eyebrow{font-size:var(--ds-caption-size-mobile-1)!important;letter-spacing:var(--ds-caption-tracking-mobile-3)!important;margin:0!important}
 .contact .contact-path>p:not(.eyebrow){font-size:var(--ds-caption-size-mobile-9)!important;line-height:var(--ds-caption-line-mobile-3)!important;margin:0!important}
 .contact .contact-path .contact-cta{position:static!important;display:flex!important;align-items:center;justify-content:center;gap:var(--ds-box-spacing-mobile-42)!important;min-height:48px;width:fit-content!important;padding:var(--ds-box-spacing-mobile-43)!important;margin-top:4px;background:var(--brand-primary);color:var(--brand-white);border-radius:calc(var(--brand-radius) * 1.25);font-size:18px!important;transform:none!important}
 .contact .contact-path .contact-cta>span{font-size:24px!important}
 .contact footer{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;padding:22px!important;background:var(--brand-surface-dark);border:var(--brand-border-width) solid var(--brand-border)!important;border-radius:calc(var(--brand-radius) * 1.0);font-size:14px!important}
 .contact footer>a:first-child{grid-column:1/-1;font-size:18px!important;line-height:1.5}
 .contact footer>span:nth-child(2){grid-column:1/-1;font-size:15px!important;line-height:1.5}
 .contact footer>a[href^=mailto]{grid-column:1/-1;font-size:14px!important;overflow-wrap:anywhere;border-top:var(--brand-border-width) solid var(--brand-border);padding-top:14px}
}
@media(max-width:360px){.hero-copy .hero-intro{font-size:var(--ds-body-size-mobile-14)!important;}.hero-glass{gap:var(--ds-box-spacing-mobile-44)!important;padding:var(--ds-box-spacing-mobile-45)!important;}.contact .contact-path{padding:var(--ds-box-spacing-mobile-46)!important;}}
@media(prefers-reduced-motion:reduce){.photo-stage .photo-slide{transition:none!important}}

@media(max-width:900px){html.chat-keyboard-open #chatbot-section-slot{padding-bottom:12px!important}}
/* Body copy uses justified text, with the final line aligned to the left. */
.hero-copy .hero-intro,
main p:not(.eyebrow):not(.render-kicker):not(.project-place),
.dialog-copy p,.contact-dialog p:not(.render-kicker),
#chatbot-panel .chatbot-message p,.interior-mini-body{
 text-align:start!important;text-align-last:auto;hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;
}
@media(max-width:900px){.hero-copy h1{align-self:flex-start!important;width:100%!important;max-width:none!important;text-align:left!important}}
.byat-panel .byat-copy{gap:var(--ds-box-spacing-base-13)!important;}
.byat-copy h2,.byat-copy h3{padding-bottom:0!important}
.byat-copy .render-kicker,.byat-copy .project-place{padding-top:6px!important;margin-top:8px!important;margin-bottom:18px!important}
.byat-copy>p+p:not(.render-kicker):not(.project-place){margin-top:14px!important}
@media(max-width:900px) and (max-height:500px){
 .hero-glass{grid-template-columns:minmax(0,1fr) auto!important;padding:var(--ds-box-spacing-mobile-47)!important;gap:var(--ds-box-spacing-mobile-48)!important;max-height:calc(100svh - 140px)!important}
 .hero-profile{width:auto!important;height:min(190px,calc(100svh - 172px))!important;max-width:30vw!important}
 .hero-copy h1{font-size:var(--ds-display-size-mobile-9)!important;}
 .hero-copy .hero-intro{font-size:var(--ds-body-size-mobile-15)!important;line-height:var(--ds-body-line-mobile-11)!important;}
 .hero-copy{gap:var(--ds-box-spacing-mobile-49)!important;}
 .project-gallery[open]{grid-template-rows:auto minmax(0,1fr) auto!important}
}
.contact footer>span:nth-child(2){text-align:justify;text-align-last:left;hyphens:none;-webkit-hyphens:none}

/* Preserve layout geometry; only the writing panel responds to the keyboard. */
.site-header .header-timeline a .timeline-label{color:var(--brand-white)!important;opacity:var(--timeline-opacity,.5);transform:scale(var(--timeline-scale,1));transform-origin:center;transition:transform 90ms linear,opacity 90ms linear;will-change:transform}
.site-header .header-timeline .timeline-home .timeline-label{opacity:1;transform:none}
.site-header .timeline-home .brand-logo{transform:scale(1.3);transform-origin:center}
#chatbot-panel .chatbot-disclaimer{flex:none;margin:0!important;padding:8px 18px 5px!important;font:400 11px/1.4 var(--brand-font)!important;color:var(--brand-muted)!important;text-align:center!important;text-align-last:center}
.chatbot-disclaimer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
#chatbot-dock[data-mode=compact] .chatbot-disclaimer{display:none!important}
#chatbot-dock[data-mode=compact] #chatbot-panel #chatbot-form button{width:36px;height:36px;min-height:36px;aspect-ratio:1;border-radius:50%!important;display:grid;place-items:center;padding:0!important;font-size:23px;line-height:1}
#earth-autoplay-control{position:fixed;z-index:91;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:var(--brand-border-width) solid var(--brand-border);border-radius:24px;background:var(--brand-glass-plum);color:var(--brand-white);font:400 13px/1.2 var(--brand-font);backdrop-filter:var(--brand-glass-blur)}
#earth-autoplay-control[hidden]{display:none}
html.earth-autoplay-visible #page-scroll-indicator{visibility:hidden}
#earth-autoplay-control[data-state=paused] svg{animation:hud-breathe 2.4s ease-in-out infinite;color:var(--brand-primary)}
@keyframes hud-breathe{0%,100%{opacity:.25}50%{opacity:1}}
@media(min-width:901px) and (hover:hover){.furniture-card{overflow:hidden}.furniture-card:is(:hover,:focus-visible)>img{transform:scale(1.085)!important}}
@media(max-width:900px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin{position:relative!important;inset:auto!important;height:var(--scene-height,100svh)!important;min-height:var(--scene-height,100svh)!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{opacity:1!important;visibility:visible!important;transform:none!important}
 #chatbot-section{height:var(--scene-height,100svh)!important;min-height:var(--scene-height,100svh)!important;overflow-anchor:none}
 #chatbot-section-slot,html.chat-inline-writing #chatbot-section-slot{height:var(--scene-height,100svh)!important;min-height:0!important}
 html.chat-keyboard-open .site-header{visibility:hidden!important;pointer-events:none!important}
 html.chat-keyboard-open #chatbot-section-slot{height:var(--chat-inline-height)!important;top:var(--chat-inline-top,0px)!important;padding-top:8px!important;padding-bottom:8px!important}
 html.chat-keyboard-open #chatbot-panel .chatbot-header{min-height:44px!important;padding:4px 12px!important}
 html.chat-keyboard-open #chatbot-panel .chatbot-disclaimer{font-size:10px!important;padding:4px 12px!important}
 html.chat-keyboard-open #chatbot-panel #chatbot-form{padding-top:6px!important;padding-bottom:6px!important}
 #citta{--panel-bottom:calc(70px + env(safe-area-inset-bottom))!important;--mobile-panel-height:calc(var(--scene-height,100svh) - var(--panel-top) - var(--panel-bottom))!important}
 #citta .board-window{box-sizing:border-box!important;padding-bottom:0!important;overflow-y:hidden!important}
 #citta .board-track{box-sizing:border-box!important}
 #citta .project-board{box-sizing:border-box!important;padding-bottom:0!important}
 #earth-autoplay-control{bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100vw - 170px);font-size:11px;padding:6px 9px;gap:5px}
}
@media(prefers-reduced-motion:reduce){.site-header .timeline-label{transition:none!important;will-change:auto}#earth-autoplay-control{display:none!important}.furniture-card:is(:hover,:focus-visible)>img{transform:none!important}}
.hud-directions{display:none}
html.modal-open{overscroll-behavior:none}
dialog{overscroll-behavior:contain}
@media(min-width:901px){
 #page-scroll-indicator{width:68px;height:56px!important;min-height:56px!important;position:fixed}
 #page-scroll-indicator .hud-mouse{width:22px!important;height:32px!important;align-self:center}
 #page-scroll-indicator .hud-mouse>path:last-child{display:none}
 #page-scroll-indicator .hud-directions{position:absolute;inset:0;width:56px!important;height:56px!important;margin:auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}
 #page-scroll-indicator[data-input=keyboard] .hud-directions{display:none}
 #page-scroll-indicator .hud-directions path{opacity:0}
 #page-scroll-indicator:not(.is-input-active) .hud-directions [data-direction=down]{opacity:1;stroke:var(--brand-primary);animation:hud-breathe 2.5s ease-in-out infinite}
 #page-scroll-indicator[data-direction=up].is-input-active [data-direction=up],#page-scroll-indicator[data-direction=down].is-input-active [data-direction=down],#page-scroll-indicator[data-direction=left].is-input-active [data-direction=left],#page-scroll-indicator[data-direction=right].is-input-active [data-direction=right]{opacity:1}
 #page-scroll-indicator.is-input-active .hud-keys rect[data-direction]{fill:transparent}
 #page-scroll-indicator[data-direction=up].is-input-active .hud-keys rect[data-direction=up],#page-scroll-indicator[data-direction=down].is-input-active .hud-keys rect[data-direction=down],#page-scroll-indicator[data-direction=left].is-input-active .hud-keys rect[data-direction=left],#page-scroll-indicator[data-direction=right].is-input-active .hud-keys rect[data-direction=right]{fill:var(--brand-primary);fill-opacity:.85}
 #page-scroll-indicator:not(.is-input-active) .hud-keys rect[data-direction=down]{fill:var(--brand-primary);stroke:var(--brand-primary);animation:hud-breathe 2.5s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){#page-scroll-indicator *{animation:none!important}}
@media(max-width:900px){#citta .urban-pin{height:var(--scene-height,100svh)!important;min-height:0!important;box-sizing:border-box}}
@media(max-width:900px){#earth-autoplay-control{left:calc(50% - 16px);max-width:calc(100vw - 190px)}#earth-autoplay-control svg{flex:none}}

/* Scene dimensions follow width/orientation changes, never browser chrome or rail labels. */
#chatbot-section-slot{height:var(--scene-height,100svh)}
@media(max-width:900px){
 :root,:is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-top:110px!important;--mobile-panel-height:calc(var(--scene-height,100svh) - var(--panel-top) - var(--panel-bottom))!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie){height:var(--scene-height,100svh)!important;min-height:var(--scene-height,100svh)!important}
 :is(.urban-pin,.furniture-pin,.byat-pin,.journey-pin){height:var(--scene-height,100svh)!important}
 #approccio .approach-pin{min-height:var(--scene-height,100svh)}
 #arredi{--panel-bottom:calc(108px + env(safe-area-inset-bottom))!important}
 #arredi .gallery-window{flex:0 0 var(--mobile-panel-height)!important;scroll-behavior:auto}
 #arredi :is(.gallery-track,.furniture-lead,.furniture-card){min-height:0!important;box-sizing:border-box}
 #arredi .furniture-lead{justify-content:safe center}
 #arredi .furniture-card>img{height:100%!important;min-height:0;object-fit:contain}
 #arredi .mobile-carousel-hint{bottom:calc(62px + env(safe-area-inset-bottom));font-size:12px;gap:8px}
 #arredi .mobile-carousel-hint small{font-size:10px}
 #chatbot-section-slot{padding-top:110px!important}
 #chatbot-panel .chatbot-media-message>img{max-height:min(calc(var(--scene-height,100svh) * .48),440px)}
}

/* BYAT shares the existing panel layout and nested gallery interaction. */
.exterior-track{width:max-content}
.exterior-track .exterior-panel{flex:none}
#byat .exterior-drawings .photo-stage .photo-slide{object-fit:contain!important}
@media(max-width:900px){
 .exterior-window{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:none;overscroll-behavior-x:contain}
 .exterior-window::-webkit-scrollbar{display:none}
}

/* Optional Main-Box compact state. Interni retains its existing scene wrapper. */
.byat-panel.main-box-minimized{position:relative;display:flex!important;align-items:center!important;height:clamp(96px,10svh,120px)!important;min-height:0!important;padding:12px 64px 12px 20px!important}
.byat-panel.main-box-minimized>.byat-copy,.byat-panel.main-box-minimized>.photo-gallery,.byat-panel.main-box-minimized>.letter-preview{display:none!important}
.byat-panel.main-box-minimized>.interior-mini{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(0,1fr) minmax(160px,1.4fr);gap:24px;width:100%;height:100%;align-items:center}
.main-box-minimized .interior-mini-thumbs{display:flex;height:100%}
.main-box-minimized .interior-mini-thumbs img{height:100%;width:auto}
.byat-panel .interior-minimize[hidden]{display:none!important}
@media(max-width:900px){.byat-panel.main-box-minimized>.interior-mini{grid-template-columns:1fr 1fr}.main-box-minimized .interior-mini-body{display:none}}

/* Main-Box shared geometry v2 — one definition for BAYT, Interni and Butera.
   Instance data and photo controls remain individual. */

@media(min-width:901px){
 :is(.exterior-track,.byat-track,.butera-track)>.byat-panel:not(.main-box-minimized){
    display:grid!important;
    grid-template-columns:minmax(0,var(--ds-main-box-copy-width)) minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    column-gap:var(--ds-main-box-column-gap)!important;
    align-items:stretch!important;
    padding:var(--ds-main-box-inset)!important;
 }
 .byat-panel:not(.main-box-minimized)>.byat-copy{
    grid-column:1!important;grid-row:1!important;align-self:start!important;justify-content:flex-start!important;
    display:flex!important;flex-direction:column!important;
    gap:var(--ds-main-box-copy-gap)!important;
    padding:0!important;margin:0!important;max-width:none!important;width:100%!important;
 }
 .byat-panel:not(.main-box-minimized)>.photo-gallery,
 .byat-panel:not(.main-box-minimized)>.letter-preview{
    grid-column:2!important;grid-row:1!important;width:100%!important;max-width:none!important;
    height:100%!important;min-height:0!important;align-self:stretch!important;
 }
 .byat-panel:not(.main-box-minimized) .photo-stage{width:100%!important;max-width:none!important}
 .byat-panel:not(.main-box-minimized) .byat-copy :is(h2,h3){
    margin:0!important;padding:0!important;font-size:clamp(29px,2.8vw,51px)!important;
    line-height:1.02!important;letter-spacing:-.035em;
 }
 .byat-panel:not(.main-box-minimized) .byat-copy :is(.render-kicker,.project-place){
    padding:0!important;margin:0 0 clamp(6px,.8vw,13px)!important;
    line-height:1.4!important;
 }
 .byat-panel:not(.main-box-minimized) .byat-copy>p:not(.render-kicker):not(.project-place){margin:0!important}
}
@media(min-width:901px){
 /* ID specificity counteracts legacy per-section title sizing: every Main-Box
    now inherits the same editorial scale without modifying other components. */
 :is(#mondo,#casa,#palazzo-butera) :is(.exterior-track,.byat-track,.butera-track)>.byat-panel:not(.main-box-minimized)>.byat-copy :is(h2,h3){
    font-size:clamp(29px,2.8vw,51px)!important;
    line-height:1.02!important;
 }
 :is(#mondo,#casa,#palazzo-butera) :is(.exterior-track,.byat-track,.butera-track)>.byat-panel:not(.main-box-minimized)>.byat-copy>p:not(.render-kicker):not(.project-place){
    font-size:clamp(13px,.98vw,16px)!important;
    line-height:1.5!important;
 }
}

/* Shared image-gallery controls. One reusable component across all Main Boxes. */
.photo-gallery .photo-arrow.gallery-nav, .project-gallery .photo-arrow.gallery-nav{
  width:var(--ds-gallery-nav-size)!important;height:var(--ds-gallery-nav-size)!important;
  min-width:var(--ds-gallery-nav-size)!important;min-height:var(--ds-gallery-nav-size)!important;
  padding:0!important;border:1px solid var(--ds-gallery-nav-stroke)!important;
  border-radius:var(--ds-gallery-nav-radius)!important;
  color:var(--ds-gallery-nav-ink)!important;
  background:var(--ds-gallery-nav-glass)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);
  box-shadow:0 2px 12px color-mix(in srgb,var(--brand-plum) 13%,transparent);
  transition:opacity .2s ease,background .2s ease,transform .2s ease;
}
.photo-gallery .photo-arrow.gallery-nav:hover{background:color-mix(in srgb,var(--brand-white) 90%,transparent)!important}
.photo-gallery .photo-arrow.gallery-nav svg{width:18px!important;height:18px!important;stroke-width:2!important}
@media(hover:none){.photo-gallery .photo-arrow.gallery-nav{opacity:.88}}

/* Confirmed editorial copy: improve legibility without changing the section navigation.
   Layout-specific implementation identifiers and OMNI component selectors remain intact. */
.hero-copy .hero-quote{font-size:clamp(13px,1.05vw,16px);line-height:1.5;font-style:italic;font-weight:500;max-width:58ch;margin:16px 0 10px;color:var(--brand-paper)}
.hero-copy .hero-body-paragraph{font-size:var(--ds-body-size-base-3);line-height:var(--ds-body-line-base-2);color:var(--brand-paper);margin-top:12px;max-width:58ch}
.hero-copy .hero-intro{margin-top:12px}
/* Preserve panel heights and allow all approved paragraphs to be read. */
.hero-glass{max-height:calc(100svh - 150px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
.world-copy{max-height:calc(100svh - 165px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
.world-copy p + p{margin-top:12px}
.project-intro{overflow-y:auto;overscroll-behavior-y:contain;justify-content:safe center;scrollbar-width:thin}
.project-intro>p:not(.project-place)+p:not(.project-place){margin-top:0}
.byat-panel .byat-copy{overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
@media(max-width:900px){
  /* Copy gets a full-width reading column beneath the existing title/photo. */
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{grid-template-columns:minmax(0,1fr) minmax(90px,30%)!important;align-content:start!important;max-height:calc(100svh - 156px)!important;overflow-y:auto!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:contents!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy h1{grid-column:1;grid-row:1;align-self:center!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-profile{grid-column:2!important;grid-row:1!important;width:100%!important;align-self:center!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .hero-quote{grid-column:1/-1;grid-row:2;margin:12px 0 0!important;font-size:13px!important;line-height:1.45!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .hero-intro,:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .hero-body-paragraph{grid-column:1/-1;font-size:var(--ds-body-size-mobile-13)!important;line-height:var(--ds-body-line-mobile-10)!important;margin:0!important;max-width:none!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .hero-intro{grid-row:3}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .hero-body-paragraph{margin-top:8px!important}
  #mondo .world-copy{max-height:calc(100svh - 154px)!important;overflow-y:auto!important}
  #mondo .world-copy p + p{margin-top:10px!important}
  #citta .project-intro{justify-content:safe flex-start!important;overflow-y:auto!important}
}
@media(max-height:600px){:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{max-height:calc(100svh - 140px)!important}}

/* Editorial refinements — approved compact copy, zero nested text scroll.
   Do not alter desktop timeline or section routing. */
.editorial-mobile{display:none!important}
@media(min-width:901px){
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{overflow:visible!important;max-height:none!important}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy h1{font-size:clamp(29px,3.2vw,55px)!important;line-height:1.13!important;letter-spacing:-.045em}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-attribution{font-size:clamp(12px,.95vw,15px);font-style:italic;letter-spacing:.025em;color:var(--brand-primary);margin-top:6px}
  :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-intro,:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-body-paragraph{font-size:clamp(13px,1.06vw,16px);line-height:1.55;margin-top:16px;max-width:55ch}
  #mondo .world-copy{overflow:visible!important;max-height:none!important;padding:clamp(18px,2.2vw,32px)!important}
  #mondo .world-copy h2{font-size:clamp(32px,3.1vw,55px)!important;line-height:1.04!important}
  #mondo .world-copy p{font-size:clamp(13px,1.05vw,16px)!important;line-height:1.55!important;margin-top:15px!important}
  #citta .project-intro{width:clamp(460px,36vw,610px);overflow:visible!important;justify-content:center!important;gap:clamp(8px,.9vw,14px)!important;padding:clamp(16px,2.1vw,34px)!important}
  #citta .project-intro :is(h2,h3){font-size:clamp(29px,3vw,52px)!important;line-height:1.03!important}
  #citta .project-intro>p{font-size:clamp(12px,.94vw,15px)!important;line-height:1.45!important}
  #citta .project-intro .award-block{margin-top:7px!important;padding-top:8px!important}
  #citta .project-intro .award-block p{font-size:clamp(11px,.85vw,13px)!important;line-height:1.35!important}
}
/* No scrollable text is hidden inside the mentioned cards. */
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass,#citta .project-intro,#mondo .world-copy{overscroll-behavior:initial!important;scrollbar-width:none!important}
#mondo .byat-note,#mondo .shadow-note{overflow:visible!important}
/* Elevations: title remains visible, one active facade per image. */
.elevation-editorial .elevation-description{transition:color .23s ease,opacity .23s ease;font-size:clamp(12px,.93vw,14px)!important;line-height:1.38!important}
.elevation-editorial .elevation-description.is-active{color:var(--brand-primary)!important;opacity:1}
.elevation-editorial .elevation-description.is-inactive{opacity:.65}
.elevation-editorial .elevation-lead{font-size:clamp(12px,1vw,15px)!important;line-height:1.4!important}
.elevation-editorial .elevation-materials{font-size:clamp(11px,.82vw,13px)!important;line-height:1.35!important}
.interior-panel .interior-description{display:none;min-width:0}
.interior-panel .interior-description.is-active{display:flex;flex-direction:column;gap:10px}
.interior-panel .interior-description-label{font-size:11px!important;font-weight:700;letter-spacing:.12em;color:var(--brand-primary)!important;margin:0!important}
.interior-panel .interior-description>p{margin:0!important;line-height:1.55!important}
.interior-panel .interior-minimize{z-index:10;top:calc(var(--ds-main-box-inset) + 1px)!important;right:calc(var(--ds-main-box-inset) + 1px)!important}
#casa.is-minimized .interior-minimize{position:absolute!important;top:50%!important;right:14px!important;transform:translateY(-50%)!important}
@media(max-width:900px){
 .editorial-desktop{display:none!important}.editorial-mobile{display:block!important}
 /* Hero: quote full width, photo stays useful, biography flows below. */
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(112px,34%)!important;
     column-gap:clamp(12px,3.5vw,24px)!important;row-gap:clamp(7px,1.1svh,12px)!important;
     padding:clamp(14px,3vw,24px)!important;align-content:start!important;align-items:start!important;
     overflow:visible!important;max-height:none!important;height:auto!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:contents!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{grid-column:1/-1!important;grid-row:1!important;display:block!important;
    font-size:clamp(23px,6.1vw,34px)!important;line-height:1.11!important;margin:0!important;padding:0!important;letter-spacing:-.035em!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-attribution{grid-column:1/-1;grid-row:2;font-size:11px;line-height:1.25;font-style:italic;color:var(--brand-primary);margin:0}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-profile{grid-column:2!important;grid-row:3/5!important;justify-self:end;align-self:start!important;
   width:100%!important;max-width:180px!important;min-width:112px!important;height:auto!important;aspect-ratio:1;object-fit:cover}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-intro-mobile{grid-column:1;grid-row:3;margin:0!important;font-size:clamp(12px,3.2vw,15px)!important;line-height:1.42!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-body-paragraph.editorial-mobile{grid-column:1/-1;grid-row:5;margin:0!important;font-size:clamp(12px,3.25vw,15px)!important;line-height:1.48!important}
 #citta .project-intro{overflow:visible!important;overflow-y:visible!important;justify-content:center!important;
    gap:clamp(8px,1.55svh,14px)!important;padding:clamp(14px,3.6vw,22px)!important}
 #citta .project-intro :is(h2,h3){font-size:clamp(27px,7.2vw,40px)!important;line-height:1.02!important}
 #citta .project-intro .project-place{font-size:clamp(11px,3vw,13px)!important;margin:0!important}
 #citta .mobile-city-description{font-size:clamp(12px,3.25vw,14px)!important;line-height:1.46!important;margin:0!important}
 #citta .award-block{margin-top:2px!important;padding-top:8px!important;gap:8px!important}
 #citta .award-badge{width:40px!important;max-height:56px}
 #citta .award-block .project-award.editorial-mobile{font-size:clamp(10px,2.65vw,12px)!important;line-height:1.35!important;margin:0!important}
 #citta .board-window{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:none!important;scroll-behavior:auto!important;-webkit-overflow-scrolling:touch}
 #citta .board-window .board-track{transform:none!important}
 #mondo .world-transition .journey-pin,#mondo .journey-pin{align-items:flex-start!important;justify-content:flex-start!important}
 #mondo .world-copy{width:100%!important;max-width:none!important;max-height:none!important;
    overflow:visible!important;flex:none!important;padding:clamp(14px,3vw,22px)!important;
    position:relative!important;align-self:flex-start!important;margin:0!important}
 #mondo .world-copy h2{font-size:clamp(28px,7vw,39px)!important;line-height:1.04!important;margin:0 0 8px!important}
 #mondo .world-copy p{font-size:clamp(12px,3.15vw,14px)!important;line-height:1.46!important;margin:8px 0 0!important}
 #mondo .world-visual{top:0!important;bottom:0;left:0!important;width:100%!important;height:100%!important;z-index:-1}
 .elevation-editorial .elevation-description.is-inactive{display:none!important}
 .elevation-editorial .elevation-description.is-active{display:block!important;color:var(--brand-paper)!important;font-size:13px!important}
 .elevation-editorial .elevation-materials.editorial-mobile{font-size:11px!important}
 .interior-panel .interior-description.is-active{gap:5px}
 .interior-panel .interior-description>p.editorial-mobile{font-size:clamp(12px,3vw,14px)!important;line-height:1.4!important}
 .interior-panel .interior-minimize{right:10px!important;top:10px!important}
 #casa.is-minimized .interior-minimize{right:10px!important;top:50%!important}
}
@media(max-width:900px) and (max-height:680px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{font-size:clamp(21px,5.5vw,29px)!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{padding:12px!important;row-gap:5px!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-intro-mobile,:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-body-paragraph.editorial-mobile{font-size:12px!important;line-height:1.3!important}
 #citta .project-intro{padding:12px!important;gap:6px!important}
 #citta .project-intro :is(h2,h3){font-size:25px!important}
 #citta .mobile-city-description{font-size:12px!important;line-height:1.32!important}
}

/* Refinement V2 — targeted repairs; shared gallery controls live in the design system. */
#byat .exterior-panel:first-child .byat-epigraph{
 margin:1px 0 0!important;font-style:italic;font-size:clamp(13px,1.1vw,17px)!important;
 line-height:1.35!important;color:var(--brand-paper);letter-spacing:.008em;
}
#byat .exterior-panel:first-child .byat-epigraph-author{
 margin:0 0 6px!important;font-size:clamp(10px,.75vw,12px)!important;
 line-height:1.3!important;color:var(--brand-muted);letter-spacing:.025em;
}
#byat .exterior-panel:first-child .bayt-sea-view-label{
 margin:0!important;font-size:11px!important;line-height:1.2!important;
 letter-spacing:.12em;font-weight:600;color:var(--brand-plum);opacity:.82;flex:none;
}
/* This gallery is atmospheric photography, not elevation/plan drawings. */
#byat .exterior-panel:not(.exterior-drawings) .photo-stage .photo-slide{
 object-fit:cover!important;object-position:center center!important;
}
#byat .exterior-panel:first-child .byat-copy{gap:clamp(6px,.7vw,11px)!important}
#byat .exterior-panel:first-child .byat-copy>p:not(.render-kicker){margin:0!important}
#byat .exterior-panel:first-child .byat-copy .render-kicker{margin:0 0 6px!important}
/* Every photo/gallery uses the same glass/ink palette via the gallery-nav component. */
@media(max-width:900px){
 /* Force natural, rag-left mobile typography: avoid stretched spaces and mid-word breaks. */
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) :is(.hero-glass,.hero-copy,h1,p){
  text-align:left!important;text-align-last:left!important;hyphens:none!important;
  -webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;
  letter-spacing:normal;
 }
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,37%)!important;
  column-gap:clamp(12px,3.5vw,18px)!important;row-gap:clamp(9px,1.2svh,14px)!important;
  align-items:start!important;align-content:start!important;
  box-sizing:border-box!important;
  width:100%!important;max-width:560px!important;
  max-height:none!important;min-height:0!important;height:auto!important;
  overflow:visible!important;padding:clamp(16px,4.2vw,24px)!important;
 }
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:contents!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{
  grid-column:1/-1!important;grid-row:1!important;
  font-size:clamp(23px,6.1vw,32px)!important;
  line-height:1.1!important;letter-spacing:-.035em!important;
  margin:0!important;min-width:0!important;
 }
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-attribution{grid-column:1/-1!important;grid-row:2!important;
  margin:0!important;font-size:12px!important;line-height:1.25!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-intro-mobile{
  grid-column:1!important;grid-row:3!important;align-self:center!important;
  font-size:clamp(13px,3.5vw,15px)!important;line-height:1.5!important;
  min-width:0!important;margin:0!important;
 }
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-profile{
  grid-column:2!important;grid-row:3!important;
  width:min(100%,158px)!important;min-width:0!important;max-width:158px!important;
  aspect-ratio:1!important;height:auto!important;justify-self:end!important;align-self:center!important;
 }
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-body-paragraph.editorial-mobile{
  grid-column:1/-1!important;grid-row:4!important;
  font-size:clamp(13px,3.5vw,15px)!important;line-height:1.48!important;
  margin:0!important;
 }
 /* Make elevation drawings narrow in height so they stop stealing reading space. */
 #byat .exterior-drawings.elevation-editorial .byat-copy{
  order:0!important;flex:none!important;min-height:0!important;
  overflow:visible!important;padding:clamp(14px,4vw,20px)!important;
  gap:clamp(5px,1svh,10px)!important;
 }
 #byat .exterior-drawings.elevation-editorial .byat-copy :is(h2,p){margin:0!important}
 #byat .exterior-drawings.elevation-editorial .byat-copy h2{
  font-size:clamp(25px,6vw,33px)!important;line-height:1.04!important;
 }
 #byat .exterior-drawings.elevation-editorial .byat-copy .render-kicker{display:none!important}
 #byat .exterior-drawings.elevation-editorial .elevation-description.is-active{
  color:var(--brand-plum)!important;font-size:clamp(13px,3.5vw,15px)!important;line-height:1.4!important;
 }
 #byat .exterior-drawings.elevation-editorial .elevation-materials.editorial-mobile{
  font-size:clamp(11px,3vw,13px)!important;line-height:1.4!important;
 }
 #byat .exterior-drawings.elevation-editorial .photo-gallery{
  order:1!important;flex:1 1 auto!important;min-height:0!important;
  display:flex!important;justify-content:flex-start!important;gap:6px!important;
 }
 #byat .exterior-drawings.elevation-editorial .photo-stage{
  height:clamp(145px,26svh,250px)!important;max-height:clamp(145px,26svh,250px)!important;
  min-height:0!important;flex:0 1 auto!important;aspect-ratio:auto!important;
  border-radius:var(--brand-radius-photo)!important;
 }
 #byat .exterior-drawings.elevation-editorial .photo-stage .photo-slide{object-fit:contain!important}
 #byat .exterior-drawings.elevation-editorial .photo-dots{min-height:27px!important;height:27px!important}
 #byat .exterior-panel:first-child .byat-epigraph{font-size:13px!important}
 #byat .exterior-panel:first-child .bayt-sea-view-label{font-size:10px!important}
 /* Prevent 1px strips of adjacent scenes caused by fractional transforms and rounding. */
 html,body{max-width:100%;overflow-x:clip!important;background:var(--brand-plum)}
 #mondo,#mondo .journey-pin,#mondo .world-visual{
  background:var(--brand-plum)!important;backface-visibility:hidden;
 }
 #mondo .world-visual{
  left:-2px!important;width:calc(100% + 4px)!important;
  right:-2px!important;overflow:hidden!important;
 }
 #mondo .world-visual canvas{
  display:block;width:100%!important;height:100%!important;
  backface-visibility:hidden;
 }
 :is(:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie),#citta,#mondo,#casa,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia))>.journey-pin,
 #mondo>.journey-pin{background-clip:border-box}
}

/* Refinement V3 — BAYT editorial hierarchy, mobile stage sizing, and verified content. */
#byat .byat-panel-subtitle{
  font-size:clamp(11px,.92vw,13px)!important;font-weight:650!important;
  letter-spacing:.13em!important;line-height:1.3!important;
  text-transform:uppercase;color:var(--brand-primary)!important;margin:0!important;
}
#byat .exterior-panel:first-child .bayt-epigraph{
  margin:clamp(4px,.5vw,9px) 0 0!important;padding:0 0 0 clamp(10px,.9vw,15px);
  border-left:2px solid var(--brand-primary);
  color:var(--brand-white)!important;font-style:italic;font-weight:450;
  font-size:clamp(15px,1.22vw,20px)!important;line-height:1.38!important;
}
#byat .exterior-panel:first-child .bayt-epigraph-author{
  font-size:clamp(10px,.83vw,13px)!important;line-height:1.38!important;
  color:var(--brand-muted)!important;font-weight:450;letter-spacing:normal!important;
}
/* Text matching the gallery is highlighted with weight as well as the existing accent. */
#byat .elevation-description.is-active{font-weight:700!important}
#byat .elevation-description.is-inactive{font-weight:400!important}
/* Desktop keeps source text next to source drawings. The mobile alternate is independent. */
#byat .mobile-dynamic-caption{display:none}
#byat .exterior-panel .photo-stage{min-width:0}
#byat .exterior-drawings.elevation-editorial .photo-stage,
#byat .exterior-drawings.elevation-editorial .photo-slide{background-color:var(--brand-plum)!important}
#byat .exterior-drawings.elevation-editorial .photo-stage .photo-slide{
  object-fit:contain!important;object-position:center center!important;
}
@media(max-width:900px){
 #byat .exterior-panel{
   box-sizing:border-box!important;min-height:0!important;
   gap:var(--ds-bayt-caption-gap)!important;
 }
 #byat .exterior-panel>.byat-copy{
   padding:clamp(9px,2.6vw,16px)!important;
   padding-right:clamp(9px,2.6vw,16px)!important;
   gap:clamp(4px,.85svh,8px)!important;
   min-height:0!important;overflow:visible!important;
   flex:none!important;display:flex!important;flex-direction:column!important;
   text-align:left!important;text-align-last:left!important;
   hyphens:none!important;-webkit-hyphens:none!important;
 }
 #byat .exterior-panel .byat-copy :is(h2,p,blockquote){margin:0!important}
 #byat .exterior-panel>.byat-copy h2{
   font-size:clamp(25px,6.5vw,34px)!important;
   line-height:1.07!important;letter-spacing:-.04em!important;
   padding:0!important;
 }
 #byat .exterior-panel .byat-panel-subtitle{font-size:11px!important;margin:2px 0 7px!important}
 #byat .exterior-panel .render-kicker{
   font-size:clamp(9px,2.4vw,11px)!important;line-height:1.33!important;
   letter-spacing:normal!important;max-width:none!important;
   margin:3px 0 5px!important;color:var(--brand-muted)!important;
 }
 #byat .exterior-panel:first-child .byat-copy{
   gap:clamp(5px,.9svh,10px)!important;
   height:auto!important;max-height:none!important;
 }
 #byat .exterior-panel:first-child .byat-copy .editorial-mobile{
   font-size:clamp(12px,3.05vw,14px)!important;line-height:1.42!important;
 }
 #byat .exterior-panel:first-child .bayt-epigraph{
   font-size:clamp(13px,3.65vw,16px)!important;line-height:1.35!important;
   padding-left:10px!important;border-left-width:2px;
 }
 #byat .exterior-panel:first-child .bayt-epigraph-author{font-size:10px!important;line-height:1.35!important}
 #byat .exterior-panel:first-child>.photo-gallery{
   display:flex!important;flex:1 1 auto!important;min-height:180px!important;
   justify-content:stretch!important;
 }
 #byat .exterior-panel:first-child .photo-stage{
   flex:1 1 auto!important;height:auto!important;min-height:170px!important;
 }
 #byat .exterior-panel:first-child .photo-stage .photo-slide{object-fit:cover!important}
 /* Read three plan narratives below their 4 images, not in a nested scroller. */
 #byat .exterior-panel.plan-editorial>.byat-copy{
   order:0!important;gap:6px!important;
 }
 #byat .exterior-panel.plan-editorial>.byat-copy .render-kicker{display:none!important}
 #byat .exterior-panel.plan-editorial>.byat-copy .editorial-desktop{display:none!important}
 #byat .exterior-panel.plan-editorial>.photo-gallery{
   order:1!important;flex:0 1 auto!important;min-height:0!important;
   gap:clamp(5px,1vw,10px)!important;
 }
 #byat .exterior-panel.plan-editorial .photo-stage{
   width:100%!important;height:var(--ds-bayt-mobile-plan-stage-height)!important;
   min-height:0!important;max-height:var(--ds-bayt-mobile-plan-stage-height)!important;
   flex:0 0 auto!important;aspect-ratio:auto!important;
   border-radius:var(--brand-radius-photo)!important;
 }
 #byat .exterior-panel.plan-editorial .photo-slide{
   object-fit:cover!important;object-position:center!important;
 }
 #byat .exterior-panel.plan-editorial .photo-stage .photo-arrow,
 #byat .exterior-panel.elevation-editorial .photo-stage .photo-arrow{
   width:var(--ds-bayt-gallery-controls-mobile)!important;
   height:var(--ds-bayt-gallery-controls-mobile)!important;
   min-width:var(--ds-bayt-gallery-controls-mobile)!important;
   min-height:var(--ds-bayt-gallery-controls-mobile)!important;
   font-size:24px!important;
 }
 #byat .exterior-panel.plan-editorial .photo-dots,
 #byat .exterior-panel.elevation-editorial .photo-dots{
   height:23px!important;min-height:23px!important;
 }
 #byat .exterior-panel .mobile-dynamic-caption{
   display:block!important;order:2!important;
   flex:0 0 auto!important;min-height:0!important;
   margin:0 clamp(8px,2.5vw,16px)!important;
   padding:0!important;
   text-align:left!important;
 }
 #byat .mobile-dynamic-caption p{
   display:none!important;margin:0!important;
   color:var(--brand-paper)!important;
   font-size:clamp(12px,3.1vw,14px)!important;line-height:1.43!important;
   font-weight:400!important;
 }
 #byat .mobile-dynamic-caption p.is-active{display:block!important}
 #byat .mobile-dynamic-caption strong{color:var(--brand-primary);font-weight:700}
 /* Elevation: fixed title and lead, larger centered opaque picture, then live note. */
 #byat .exterior-panel.elevation-editorial>.byat-copy{
   order:0!important;gap:clamp(4px,.8svh,8px)!important;
   padding:clamp(10px,2.6vw,16px)!important;
 }
 #byat .exterior-panel.elevation-editorial .byat-copy .elevation-description,
 #byat .exterior-panel.elevation-editorial .byat-copy .elevation-materials.editorial-desktop{
   display:none!important;
 }
 #byat .exterior-panel.elevation-editorial .byat-copy .elevation-lead{
   display:block!important;font-size:clamp(12px,3.1vw,14px)!important;
   line-height:1.42!important;margin:4px 0 0!important;
 }
 #byat .exterior-panel.elevation-editorial .byat-copy .elevation-materials.editorial-mobile{
   display:block!important;color:var(--brand-muted)!important;
   font-size:clamp(10px,2.75vw,12px)!important;line-height:1.4!important;
   margin:1px 0 0!important;
 }
 #byat .exterior-panel.elevation-editorial>.photo-gallery{
   order:1!important;flex:0 1 auto!important;min-height:0!important;
   justify-content:flex-start!important;gap:6px!important;
 }
 #byat .exterior-panel.elevation-editorial .photo-stage{
   width:100%!important;height:var(--ds-bayt-mobile-elevation-stage-height)!important;
   min-height:0!important;max-height:var(--ds-bayt-mobile-elevation-stage-height)!important;
   flex:none!important;border-radius:var(--brand-radius-photo)!important;
   background-color:var(--brand-plum)!important;
 }
 #byat .exterior-panel.elevation-editorial .photo-stage .photo-slide{
   width:100%!important;height:100%!important;object-fit:contain!important;
   background-color:var(--brand-plum)!important;
 }
 #byat .exterior-panel.elevation-editorial .elevation-mobile-caption p.is-active{
   color:var(--brand-white)!important;font-weight:700!important;
 }
 #byat .exterior-panel.elevation-editorial .elevation-mobile-caption{
   padding-top:5px!important;
   border-top:1px solid color-mix(in srgb,var(--brand-white) 15%,transparent);
 }
}

/* V4 responsive chapter navigation and safe overlays, appended after V3. */
.site-header .header-timeline{display:none!important}
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{
 display:block!important;padding:12px 20px!important;min-height:0!important;
 color:var(--brand-white)!important;background:color-mix(in srgb,var(--brand-plum) 94%,transparent)!important;
 border-radius:clamp(18px,3vw,42px)!important;
}
.v4-header{display:flex;align-items:center;min-width:0;width:100%;gap:clamp(10px,2vw,23px);color:var(--brand-white);font:500 13px/1.2 var(--brand-font)}
.v4-header-brand{display:flex;align-items:center;flex:none;gap:clamp(12px,2vw,23px)}
.v4-brand{display:grid;place-items:center;min-width:60px;width:clamp(65px,8vw,100px);height:82px;transition:opacity .2s}
.v4-brand:hover{opacity:.78}
.v4-brand img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
.v4-brand-divider{display:block;height:60px;width:1px;background:color-mix(in srgb,var(--brand-white) 65%,transparent)}
.v4-icon{width:22px;height:22px;display:block;overflow:visible;color:currentColor}
.v4-desktop-rail{position:relative;isolation:isolate;display:flex!important;align-items:stretch;flex:1;min-width:0;height:90px;gap:3px;margin:0!important}
.v4-desktop-rail::before{content:'';position:absolute;top:65px;left:4%;right:4%;height:2px;background:color-mix(in srgb,var(--brand-white) 48%,transparent);z-index:-1}
.v4-nav-node{appearance:none;position:relative;border:0;background:none;color:color-mix(in srgb,var(--brand-white) 62%,transparent);padding:5px 2px 25px;display:flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:3px;cursor:pointer;font:inherit;text-align:center;transition:color .24s,opacity .24s,transform .24s;z-index:1}
.v4-nav-node:hover,.v4-nav-node:focus-visible{color:var(--brand-white)}
.v4-nav-node.is-current,.v4-nav-node.is-parent-active{color:var(--brand-white)}
.v4-node-icon{display:grid;place-items:center;height:21px;flex:none;opacity:.8}
.v4-node-icon .v4-icon{height:20px;width:20px}
.v4-node-label{font-size:clamp(9px,.85vw,13px);font-weight:500;letter-spacing:-.01em;white-space:normal;line-height:1.13;text-wrap:balance;max-width:100%}
.v4-nav-node.is-current .v4-node-label{font-weight:700}
.v4-node-dot{position:absolute;top:59px;left:50%;width:12px;height:12px;background:var(--brand-paper);transform:translateX(-50%);border-radius:50%;box-shadow:0 0 0 1px #1113}
.v4-nav-node.is-current .v4-node-dot,.v4-nav-node.is-parent-active .v4-node-dot{background:var(--brand-primary);width:18px;height:18px;top:56px;box-shadow:0 0 0 7px color-mix(in srgb,var(--brand-primary) 18%,transparent),0 0 18px color-mix(in srgb,var(--brand-primary) 32%,transparent)}
.v4-research-group{position:relative;flex:1 1 0;display:flex;align-items:stretch;min-width:0;transition:flex-grow .48s cubic-bezier(.2,.7,.2,1);isolation:isolate;border-radius:32px}
.v4-research-group::before{content:'';position:absolute;inset:0;border:1px solid transparent;border-radius:32px;background:none;opacity:0;pointer-events:none;transition:opacity .3s}
.v4-research-group::after{content:'';position:absolute;top:65px;left:12%;right:4%;border-top:2px dashed color-mix(in srgb,var(--brand-white) 50%,transparent);opacity:0;z-index:-1}
.v4-research-group>.v4-child{display:none;opacity:0;transition:opacity .26s}
.v4-desktop.v4-research-open .v4-research-group{flex-grow:3.25;background:color-mix(in srgb,var(--brand-primary) 10%,transparent);outline:1px solid color-mix(in srgb,var(--brand-primary) 70%,transparent)}
.v4-desktop.v4-research-open .v4-research-group::after{opacity:1}
.v4-desktop.v4-research-open .v4-research-group>.v4-child{display:flex;opacity:1}
.v4-desktop.v4-research-open .v4-research-group .v4-nav-node:not(.v4-child)::after{content:'';position:absolute;top:65px;left:55%;width:45%;height:2px;background:var(--brand-primary);z-index:-1}
.v4-desktop.v4-research-open .v4-research-group>.v4-child .v4-node-icon{opacity:0;pointer-events:none}
.v4-desktop.v4-research-open .v4-research-group>.v4-child .v4-node-label{font-size:clamp(9px,.8vw,12px)}
.v4-desktop-rail>.v4-nav-node{flex:1 1 0}
.v4-nav-node:focus-visible,.v4-perspective-card:focus-visible,.v4-dock-actions button:focus-visible,.v4-note-minimize:focus-visible,.v4-note-mini:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}
.v4-mobile{display:none}
/* The single original Main Box stays the semantic source of all text. */
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{display:flex;align-items:flex-end;gap:clamp(12px,2.5vw,32px);width:100%;margin-bottom:clamp(14px,1.8vw,25px)}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote h1{flex:1 1 auto;min-width:0;font-size:clamp(22px,2.15vw,42px);line-height:1.13;margin:0!important;letter-spacing:-.035em}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-quote-first,:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-quote-second{display:block}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution{flex:none;margin:0 0 4px!important;max-width:130px;color:var(--brand-primary);font-size:clamp(12px,1vw,17px)!important;white-space:nowrap;font-style:italic}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-profile{display:none}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story{display:none}
@media(max-width:1100px) and (min-width:901px){.v4-brand{width:65px}.v4-node-icon .v4-icon{width:17px;height:17px}.v4-header{gap:9px}.v4-header-brand{gap:12px}}
@media(max-width:900px){
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:var(--page-margin)!important;right:var(--page-margin)!important;top:max(10px,env(safe-area-inset-top))!important;padding:9px 11px!important;border-radius:clamp(18px,7vw,30px)!important}
 .v4-desktop{display:none}
 .v4-mobile{display:flex;height:73px;gap:9px}
 .v4-header-brand{gap:9px}
 .v4-brand{width:clamp(38px,12vw,60px);height:58px;min-width:0}
 .v4-brand-divider{height:46px;width:1px}
 .v4-mobile-carousel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);align-items:stretch;gap:3px;margin:0!important;width:auto;flex:1;min-width:0;perspective:550px;overflow:visible}
 .v4-perspective-card{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:color-mix(in srgb,var(--brand-white) 6%,transparent);border:1px solid color-mix(in srgb,var(--brand-white) 12%,transparent);border-radius:clamp(11px,3vw,18px);color:color-mix(in srgb,var(--brand-white) 62%,transparent);padding:4px 2px;min-width:0;min-height:60px;cursor:pointer;transition:transform .4s cubic-bezier(.2,.72,.2,1),background .4s,box-shadow .4s;transform-style:preserve-3d}
 .v4-card-icon .v4-icon{width:clamp(14px,4.2vw,20px);height:clamp(14px,4.2vw,20px)}
 .v4-card-label{font:500 clamp(9px,2.8vw,12px)/1.12 var(--brand-font);white-space:normal;text-align:center;text-wrap:balance;max-width:100%;letter-spacing:-.03em}
 .v4-previous{transform:rotateY(-19deg) scale(.92);transform-origin:right center;border-right-color:color-mix(in srgb,var(--brand-primary) 28%,transparent)}
 .v4-next{transform:rotateY(19deg) scale(.92);transform-origin:left center;border-left-color:color-mix(in srgb,var(--brand-primary) 28%,transparent)}
 .v4-current{transform:translateZ(20px) scale(1.04);background:color-mix(in srgb,var(--brand-primary) 13%,var(--brand-plum));color:var(--brand-white);border:1.5px solid var(--brand-primary);box-shadow:0 0 17px color-mix(in srgb,var(--brand-primary) 13%,transparent);z-index:1}
 .v4-current .v4-card-icon .v4-icon{width:clamp(18px,5.5vw,25px);height:clamp(18px,5.5vw,25px);color:var(--brand-primary)}
 .v4-current .v4-card-label{font-size:clamp(11px,3.25vw,14px);font-weight:700}
 .v4-perspective-card[hidden]{visibility:hidden!important;display:block!important;pointer-events:none}
 /* Desktop-only profile is replaced by a floated mobile instance in the same text flow. */
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{display:block!important;width:100%!important;max-width:560px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:clamp(15px,4.2vw,25px)!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:block!important;width:100%!important;max-width:none!important;overflow:visible!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{display:block!important;margin:0 0 clamp(12px,3vw,18px)!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote h1{display:block!important;font-size:clamp(13px,3.83vw,24px)!important;line-height:1.26!important;letter-spacing:-.045em!important;max-width:none!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-quote-first,:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-quote-second{display:block!important;white-space:nowrap!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution{display:block!important;font-size:clamp(11px,3.15vw,14px)!important;margin:8px 0 0!important;max-width:none}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story{display:flow-root!important;min-height:0;width:100%;margin:0!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-profile{display:block!important;float:right;position:relative!important;grid-area:auto!important;width:min(48%,205px)!important;min-width:0!important;max-width:205px!important;height:auto!important;aspect-ratio:1!important;object-fit:cover!important;border-radius:50%;margin:0 0 7px clamp(10px,3vw,19px)!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass>.hero-profile{display:none!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-intro-mobile,:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-body-paragraph.editorial-mobile{display:block!important;float:none!important;grid-area:auto!important;margin:0!important;width:auto!important;max-width:none!important;line-height:1.44!important;font-size:clamp(12px,3.48vw,16px)!important;letter-spacing:-.008em!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-body-paragraph.editorial-mobile{margin-top:0!important}
 /* New consolidated dock: same controls and event handlers as V3. */
 #v4-mobile-dock{position:fixed;left:var(--page-margin);right:var(--page-margin);bottom:calc(max(11px,env(safe-area-inset-bottom)) + var(--hud-inset,0px));min-height:50px;display:grid;grid-template-columns:minmax(0,1fr) minmax(82px,1.5fr) auto;align-items:center;gap:clamp(5px,2.2vw,12px);z-index:91;pointer-events:none;transition:opacity .2s,transform .2s}
 #v4-mobile-dock.v4-dock-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px)}
 .v4-dock-skip,.v4-dock-center,.v4-dock-actions{display:flex;align-items:center;min-width:0;pointer-events:auto}
 .v4-dock-center{justify-content:center}
 .v4-dock-actions{gap:clamp(5px,1.6vw,11px);justify-content:flex-end}
 #v4-mobile-dock :is(.v4-dock-menu,.v4-dock-chat,.v4-dock-scroll){min-width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--brand-white);background:color-mix(in srgb,var(--brand-plum) 91%,transparent);border:1px solid color-mix(in srgb,var(--brand-white) 52%,transparent);padding:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
 #v4-mobile-dock .v4-dock-chat{border-color:var(--brand-primary);color:var(--brand-primary)}
 #v4-mobile-dock .v4-dock-chat .v4-icon{width:23px;height:23px}
 #v4-mobile-dock .v4-dock-menu svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
 #v4-mobile-dock #skip-animation{display:block!important;position:static!important;inset:auto!important;transform:none!important;margin:0!important;min-width:44px!important;height:44px!important;max-height:44px!important;padding:5px 10px!important;border-radius:50px;background:color-mix(in srgb,var(--brand-plum) 91%,transparent)!important;color:var(--brand-white)!important;border:1px solid color-mix(in srgb,var(--brand-white) 58%,transparent)!important;white-space:nowrap;pointer-events:auto;min-height:44px!important}
 #v4-mobile-dock #skip-animation[hidden]{display:none!important}
 #v4-mobile-dock #hold-animation{position:static!important;inset:auto!important;transform:none!important;margin:0!important;min-width:0!important;max-width:100%!important;width:auto!important;height:48px!important;box-sizing:border-box!important;border-radius:28px!important;pointer-events:auto}
 #v4-mobile-dock #hold-animation[hidden]{display:none!important}
 #v4-mobile-dock #earth-autoplay-control{position:static!important;inset:auto!important;transform:none!important;margin:0!important;min-width:0!important;max-width:100%!important;width:max-content!important;min-height:44px!important;height:48px!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;padding:7px 11px!important;gap:6px;border-radius:28px!important;white-space:nowrap;font-size:clamp(9px,2.5vw,12px)!important;pointer-events:auto}
 #v4-mobile-dock #earth-autoplay-control[hidden]{display:none!important}
 #v4-mobile-dock .v4-dock-scroll{border-radius:30px;width:clamp(54px,17vw,80px);min-width:54px;max-width:100%;padding:6px}
 #v4-mobile-dock .v4-dock-scroll[hidden]{display:none!important}
 #v4-mobile-dock .v4-dock-scroll :is(.hud-directions,.hud-pan,.hud-mouse,.hud-keys){max-width:42px;max-height:39px}
 .mobile-menu-toggle{display:none!important}
 #chat-launcher{display:none!important}
 #page-scroll-indicator{visibility:hidden!important;pointer-events:none!important}
 html.chat-writing #v4-mobile-dock,html.chat-keyboard-open #v4-mobile-dock{visibility:hidden!important;pointer-events:none!important}
 #mobile-sections .v4-menu-child{margin-left:19px;width:calc(100% - 19px);border-left:2px dashed var(--brand-primary);border-radius:0 12px 12px 0;font-size:14px;color:var(--brand-muted)}
 /* World copy overlays: main-box-equivalent header clearance, no pictures. */
 #mondo .journey-note.project-note{top:calc(var(--compact-header-height,84px) + 18px)!important;bottom:auto!important;left:var(--page-margin)!important;right:var(--page-margin)!important;max-width:none!important;max-height:calc(100dvh - var(--compact-header-height,84px) - 104px)!important;overflow:auto!important;box-sizing:border-box;padding:clamp(13px,3.6vw,20px)!important;padding-right:50px!important}
 #mondo .journey-note.project-note .v4-note-minimize{position:absolute;right:7px;top:7px;border:1px solid color-mix(in srgb,var(--brand-white) 65%,transparent);background:color-mix(in srgb,var(--brand-plum) 75%,transparent);border-radius:50%;width:39px;height:39px;display:grid;place-items:center;color:var(--brand-white);font-size:23px;cursor:pointer}
 #mondo .journey-note.project-note .v4-note-mini{display:none;min-height:40px;padding:8px 12px;border-radius:30px;border:1px solid var(--brand-primary);background:var(--brand-plum);color:var(--brand-white);font:500 12px/1.2 var(--brand-font)}
 #mondo .journey-note.project-note.v4-note-compact{max-width:max-content!important;min-width:0!important;width:auto!important;right:auto!important;max-height:none!important;overflow:visible!important;padding:5px 48px 5px 8px!important;min-height:47px!important;border-radius:26px!important}
 #mondo .journey-note.project-note.v4-note-compact>p{display:none!important}
 #mondo .journey-note.project-note.v4-note-compact .v4-note-mini{display:block}
 #mondo .journey-note.project-note.v4-note-compact .v4-note-mini[hidden]{display:none}
}
@media(max-width:360px){.v4-mobile{gap:5px}.v4-header-brand{gap:5px}.v4-brand{width:36px}.v4-perspective-card{padding:4px 1px}.v4-card-label{font-size:9px}.v4-current .v4-card-label{font-size:11px}:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote h1{font-size:12.5px!important}}
@media(prefers-reduced-motion:reduce){.v4-perspective-card,.v4-nav-node,.v4-research-group,.v4-research-group::after{transition:none!important}}
/* V4 editorial composition: the author shares the quotation row on desktop. */
@media(min-width:901px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass{display:grid!important;grid-template-columns:minmax(0,1.32fr) minmax(220px,1fr)!important;gap:clamp(12px,1.7vw,25px)!important;align-items:center!important;padding:clamp(20px,2.6vw,38px)!important;height:auto!important;max-height:none!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:contents!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{grid-column:1/-1!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:clamp(16px,2vw,30px)!important;align-items:end!important;margin:0 0 6px!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{font-size:clamp(24px,2.4vw,39px)!important;letter-spacing:-.045em!important;line-height:1.13!important;max-width:none!important;width:100%!important;text-align:left!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title :is(.v4-quote-first,.v4-quote-second){display:block!important;white-space:nowrap!important;margin:0!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution{align-self:end!important;grid-column:2!important;margin:0 0 4px!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-intro.editorial-desktop{grid-column:1!important;grid-row:2!important;width:auto!important;max-width:none!important;align-self:end!important;margin:0!important;font-size:clamp(16px,1.25vw,20px)!important;line-height:1.48!important;text-align:left!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-body-paragraph.editorial-desktop{grid-column:1!important;grid-row:3!important;align-self:start!important;width:auto!important;max-width:none!important;margin:0!important;font-size:clamp(16px,1.25vw,19px)!important;line-height:1.5!important;text-align:left!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass>.hero-profile{grid-column:2!important;grid-row:2/span 2!important;justify-self:center!important;align-self:center!important;width:min(100%,310px)!important;max-width:310px!important;height:auto!important;aspect-ratio:1!important;object-fit:cover!important}
}
@media(max-width:900px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{font-size:clamp(12.8px,4.05vw,23px)!important;line-height:1.23!important;letter-spacing:-.047em!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title :is(.v4-quote-first,.v4-quote-second){margin:0!important;white-space:nowrap!important}
}
@media(max-width:900px){
 #v4-mobile-dock .v4-dock-scroll{position:relative;overflow:hidden;color:var(--brand-white)!important}
 #v4-mobile-dock .v4-dock-scroll svg{fill:none!important;stroke:currentColor!important;stroke-width:1.6!important;stroke-linecap:round;stroke-linejoin:round}
 #v4-mobile-dock .v4-dock-scroll .hud-mouse,#v4-mobile-dock .v4-dock-scroll .hud-keys,#v4-mobile-dock .v4-dock-scroll .pan-icon{display:none!important}
 #v4-mobile-dock .v4-dock-scroll .hud-pan{display:block!important;width:30px!important;height:35px!important;position:relative}
 #v4-mobile-dock .v4-dock-scroll .hud-directions{display:block!important;position:absolute!important;inset:0!important;width:44px!important;height:44px!important;margin:auto!important}
 #v4-mobile-dock .v4-dock-scroll .hud-directions [data-direction]{opacity:0}
 #v4-mobile-dock .v4-dock-scroll .hud-directions [data-direction=down]{opacity:1;stroke:var(--brand-primary)!important}
}
@media(min-width:901px){
 /* Storytelling compact controls are intentionally mobile-only. */
 #mondo .journey-note.project-note .v4-note-minimize,
 #mondo .journey-note.project-note .v4-note-mini{display:none!important}
}
@media(max-width:900px){
 .v4-card-subtitle{display:none;line-height:1.1;font-size:clamp(7px,1.9vw,9px);color:var(--brand-primary);white-space:nowrap;font-weight:500}
 .v4-current .v4-card-subtitle:not(:empty){display:block}
 .v4-perspective-card{transition:transform .18s linear,background .28s,border-color .28s!important}
 .v4-previous{transform:translateX(calc(var(--v4-shift,0) * -10%)) rotateY(-19deg) scale(.92)}
 .v4-current{transform:translate3d(calc(var(--v4-shift,0) * -9%),0,20px) scale(1.04)}
 .v4-next{transform:translateX(calc(var(--v4-shift,0) * -10%)) rotateY(19deg) scale(.92)}
}
@media(max-width:360px){
 #v4-mobile-dock #earth-autoplay-control span{display:none!important}
 #v4-mobile-dock #earth-autoplay-control{width:64px!important}
 #v4-mobile-dock #hold-animation span{display:none!important}
}

/* V4.1: geometry and interaction refinement — no changes to V3 scene controllers. */
.site-header,.site-header.solid,.site-header.light,.site-header.solid.light{
 height:84px!important;min-height:84px!important;max-height:84px!important;
 padding:7px clamp(12px,1.4vw,24px)!important;box-sizing:border-box!important;
 border-radius:var(--brand-radius)!important;
}
.v4-header{height:100%;min-height:0;gap:clamp(8px,1.6vw,18px)}
.v4-header-brand{height:100%;gap:clamp(10px,1.5vw,16px)}
.v4-brand{height:100%;width:clamp(50px,5.4vw,75px);min-width:50px}
.v4-brand-divider{height:60%;background:var(--brand-border);opacity:.75}
.v4-icon{display:block!important;width:20px;height:20px;aspect-ratio:1/1;flex-shrink:0;overflow:visible;object-fit:contain}
.v4-node-icon,.v4-card-icon{display:grid;place-items:center;flex:0 0 auto;aspect-ratio:1;min-width:20px;min-height:20px}
.v4-node-icon .v4-icon,.v4-card-icon .v4-icon{width:20px;height:20px;aspect-ratio:1}
/* One consistent rail axis, with the Ricerca branch extending sideways, never downward. */
.v4-desktop-rail{height:68px!important;min-height:0;gap:0!important;align-items:stretch}
.v4-desktop-rail::before{top:51px;left:calc(100% / 15);right:calc(100% / 15);height:1px;background:var(--brand-border);z-index:0}
.v4-nav-node{flex:1 1 0;padding:2px 2px 19px!important;gap:1px;min-width:0;transform:none!important}
.v4-node-icon{height:21px}
.v4-node-label{font-size:clamp(10px,.78vw,12px);line-height:1.13;text-wrap:balance;min-height:14px;display:flex;justify-content:center;align-items:center}
.v4-node-dot{top:45px!important;width:11px;height:11px;left:50%;transform:translateX(-50%);z-index:2}
.v4-nav-node.is-current .v4-node-dot,.v4-nav-node.is-parent-active .v4-node-dot{top:43px!important;width:15px;height:15px;box-shadow:0 0 0 5px color-mix(in srgb,var(--brand-primary) 18%,transparent)}
.v4-research-group{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,0fr) minmax(0,0fr);
 flex:1 1 0;min-width:0;height:100%;background:none!important;outline:none!important;border:0!important;
 transition:grid-template-columns .82s cubic-bezier(.2,.8,.18,1), flex-grow .82s cubic-bezier(.2,.8,.18,1)!important;
}
.v4-research-group>.v4-nav-node{width:100%;min-width:0;overflow:hidden}
.v4-research-group>.v4-child{
 display:flex!important;opacity:0!important;visibility:hidden;pointer-events:none;
 transition:opacity .25s ease 0s,visibility 0s linear .3s!important;
}
.v4-desktop.v4-research-open .v4-research-group{
 flex-grow:3.05;grid-template-columns:repeat(3,minmax(0,1fr));
}
.v4-desktop.v4-research-open .v4-research-group>.v4-child{
 opacity:1!important;visibility:visible;pointer-events:auto;
 transition:opacity .4s ease .25s,visibility 0s linear 0s!important;
}
/* A subtle branched stroke, rather than a bright orange capsule. */
.v4-research-group::before{
 content:''!important;inset:auto!important;position:absolute;
 left:17%;width:66%;top:49px;height:13px;
 border-top:1px dashed var(--brand-primary);
 border-bottom:1px solid color-mix(in srgb,var(--brand-primary) 44%,transparent);
 border-left:1px solid var(--brand-primary);border-right:1px solid color-mix(in srgb,var(--brand-primary) 35%,transparent);
 border-radius:0 0 18px 18px;background:var(--brand-plum)!important;opacity:0;
 transform:scaleX(.2) translateY(-2px);transform-origin:left center;
 transition:transform .75s cubic-bezier(.2,.8,.18,1),opacity .35s ease!important;pointer-events:none;z-index:0;
}
.v4-desktop.v4-research-open .v4-research-group::before{opacity:.85;transform:scaleX(1) translateY(0)}
.v4-research-group::after{display:none!important}
.v4-desktop.v4-research-open .v4-research-group .v4-nav-node:not(.v4-child)::after{display:none!important}
.v4-desktop.v4-research-open .v4-research-group>.v4-child .v4-node-icon{opacity:.54;pointer-events:none}
.v4-desktop.v4-research-open .v4-research-group>.v4-child .v4-node-label{font-size:clamp(9px,.74vw,11px)}
.v4-nav-node:focus-visible,.v4-perspective-card:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}
@media(max-width:900px){
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{
  height:84px!important;min-height:84px!important;max-height:84px!important;
  padding:8px clamp(8px,2vw,12px)!important;top:max(10px,env(safe-area-inset-top))!important;
  border-radius:calc(var(--brand-radius) * .72)!important;
 }
 .v4-mobile{height:100%!important;gap:clamp(5px,1.4vw,10px)}
 .v4-header-brand{gap:clamp(5px,1.3vw,9px)}
 .v4-brand{min-width:0;width:clamp(34px,10vw,54px)!important;height:100%!important}
 .v4-brand-divider{height:60%!important}
 .v4-mobile-carousel{height:100%;align-items:center;gap:clamp(3px,.9vw,6px);perspective:600px}
 .v4-perspective-card{height:56px;min-height:0!important;max-height:56px;max-width:100%;aspect-ratio:auto;overflow:hidden;padding:3px 2px!important;gap:2px;border-radius:calc(var(--brand-radius) * .4);backface-visibility:hidden}
 .v4-card-icon,.v4-node-icon{min-height:0;min-width:0}
 .v4-card-icon .v4-icon{width:clamp(15px,4vw,21px);height:clamp(15px,4vw,21px)}
 .v4-current .v4-card-icon .v4-icon{width:clamp(18px,4.5vw,23px);height:clamp(18px,4.5vw,23px)}
 .v4-current{transform:translate3d(calc(var(--v4-shift,0) * -5%),0,14px) scale(1.015)!important}
 .v4-previous{transform:translateX(calc(var(--v4-shift,0) * -5%)) rotateY(-17deg) scale(.94)!important}
 .v4-next{transform:translateX(calc(var(--v4-shift,0) * -5%)) rotateY(17deg) scale(.94)!important}
 /* Solid-bottom dock creates a safe, dedicated strip instead of translucent floating chips. */
 #v4-mobile-dock{
  left:var(--page-margin);right:var(--page-margin);
  bottom:calc(max(9px,env(safe-area-inset-bottom)) + var(--hud-inset,0px));
  box-sizing:border-box;padding:9px clamp(7px,2.2vw,14px);
  min-height:64px;border:var(--brand-border-width) solid var(--brand-border);
  border-radius:calc(var(--brand-radius) * .65);
  background:var(--brand-plum)!important;
  box-shadow:0 -7px 25px color-mix(in srgb,var(--brand-ink) 38%,transparent);
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  grid-template-columns:minmax(44px,.75fr) minmax(65px,1.5fr) minmax(96px,1fr);
  gap:clamp(4px,1.5vw,10px);
 }
 #v4-mobile-dock :is(.v4-dock-menu,.v4-dock-chat,.v4-dock-scroll),
 #v4-mobile-dock #skip-animation{background:var(--brand-plum)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 #v4-mobile-dock .v4-dock-actions{gap:clamp(4px,1.3vw,10px)}
 #v4-mobile-dock :is(.v4-dock-menu,.v4-dock-chat,.v4-dock-scroll){width:42px!important;min-width:42px!important;height:42px!important}
 #v4-mobile-dock #earth-autoplay-control,#v4-mobile-dock #hold-animation{max-height:44px!important;min-height:42px!important;height:44px!important}
 #v4-mobile-dock .v4-dock-chat .v4-icon{width:22px!important;height:22px!important;aspect-ratio:1;min-width:22px}
 :root{--v41-dock-reserved:calc(82px + env(safe-area-inset-bottom))}
 /* Keep main panels visually above the dock without altering scroll distances. */
 #citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia){--panel-bottom:max(82px,var(--v41-dock-reserved))!important}
 #mondo .journey-note.project-note{top:calc(max(10px,env(safe-area-inset-top)) + 84px + 18px)!important;max-height:calc(100dvh - 84px - 18px - var(--v41-dock-reserved))!important}
}
@media(max-width:375px){
 .v4-card-label{font-size:9px!important}.v4-current .v4-card-label{font-size:10px!important}
 #v4-mobile-dock{grid-template-columns:45px minmax(56px,1fr) 94px;padding-inline:6px;gap:4px}
 #v4-mobile-dock :is(.v4-dock-menu,.v4-dock-chat,.v4-dock-scroll){width:40px!important;min-width:40px!important;height:40px!important}
}
@media(prefers-reduced-motion:reduce){.v4-research-group,.v4-research-group::before,.v4-research-group>.v4-child{transition:none!important}}
/* The same lightbox is reused for plans and each source carousel. */
.portfolio-lightbox .lightbox-canvas{position:relative;overflow:hidden!important;touch-action:none!important;overscroll-behavior:contain;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.portfolio-lightbox .lightbox-canvas.is-pannable{cursor:grab}
.portfolio-lightbox .lightbox-canvas.is-pannable:active{cursor:grabbing}
.portfolio-lightbox .lightbox-canvas img,.portfolio-lightbox.is-zoomed .lightbox-canvas img{
 display:block!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;
 object-fit:contain!important;object-position:center!important;pointer-events:none;
 transform:translate3d(var(--lightbox-x,0px),var(--lightbox-y,0px),0) scale(var(--lightbox-scale,1))!important;
 transform-origin:50% 50%!important;will-change:transform;
}
.portfolio-lightbox footer{height:38px;min-height:38px;justify-content:center;padding:0 55px;position:relative}
.portfolio-lightbox footer span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(11px,1.8vw,14px)}
.portfolio-lightbox footer [data-step]{position:absolute;top:calc(-1*(100dvh - 24px - 50px)/2);z-index:4;min-width:44px;min-height:44px;border-radius:50%;background:var(--brand-plum);color:var(--brand-white);border-color:var(--brand-border);font-size:23px;touch-action:manipulation}
.portfolio-lightbox footer [data-step='-1']{left:0}
.portfolio-lightbox footer [data-step='1']{right:0}
.portfolio-lightbox footer [data-step]:disabled{opacity:.25;cursor:default}
@media(max-width:900px){.portfolio-lightbox footer [data-step]{top:calc(-1*(100dvh - 24px - 50px)/2);font-size:25px}}

/* V4.2 — common editorial language and pixel-accurate navigation repairs.
   This final layer intentionally changes presentation only; V3 design tokens remain authoritative. */
:root { --v42-ease:cubic-bezier(.18,.76,.22,1); }

/* Each quotation is one editorial object: quote and author share the accent rule. */
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote,
#byat .v42-epigraph,
.contact-manifesto blockquote {
 border-left:2px solid var(--brand-primary)!important;
 padding-left:clamp(12px,1.3vw,20px)!important;
 box-sizing:border-box;
}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote { display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important; width:max-content;max-width:100%;margin-bottom:0!important; }
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title {font-style:italic!important;font-weight:600!important;letter-spacing:-.044em!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution {align-self:flex-end!important;justify-self:end!important;grid-column:auto!important;margin:0 2px 0 0!important;max-width:100%!important;font-style:normal!important;font-size:clamp(12px,.95vw,15px)!important;line-height:1.3!important;letter-spacing:normal!important;color:var(--brand-primary)!important;}
#byat .v42-epigraph {margin:0 0 7px!important;display:flex;flex-direction:column;gap:4px;min-width:0;}
#byat .v42-epigraph .bayt-epigraph {border:0!important;padding:0!important;margin:0!important;}
#byat .v42-epigraph .bayt-epigraph-author {border:0!important;padding:0!important;margin:0!important;max-width:100%;line-height:1.35!important;}
.contact-manifesto blockquote {display:flex;flex-direction:column;gap:7px;}
.contact-manifesto blockquote cite {margin:0!important;align-self:flex-end;}

@media(min-width:901px){
 /* No extraneous full-width quote row: the author stays close and the portrait fills the right-hand column. */
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass {
  display:grid!important;grid-template-columns:minmax(0,1fr) clamp(280px,31vw,430px)!important;
  grid-template-rows:auto auto auto!important;gap:clamp(11px,1.5vw,22px) clamp(18px,3vw,44px)!important;
  align-items:start!important;max-width:min(1300px,94vw)!important;
  padding:clamp(20px,2.5vw,35px)!important;box-sizing:border-box;
 }
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy {display:contents!important}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{grid-column:1!important;grid-row:1!important;min-width:0;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title {font-size:clamp(21px,2.1vw,37px)!important;line-height:1.2!important;max-width:100%!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title :is(.v4-quote-first,.v4-quote-second){white-space:normal!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-intro.editorial-desktop {grid-column:1!important;grid-row:2!important;align-self:end!important;margin:0!important;line-height:1.48!important;max-width:none!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-body-paragraph.editorial-desktop {grid-column:1!important;grid-row:3!important;align-self:start!important;margin:0!important;line-height:1.48!important;max-width:none!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass>.hero-profile {
  grid-column:2!important;grid-row:1/4!important;justify-self:stretch!important;align-self:stretch!important;
  width:100%!important;max-width:none!important;height:auto!important;min-width:0!important;
  aspect-ratio:1!important;object-fit:cover!important;border-radius:50%!important;
 }
}
@media(max-width:900px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{max-width:100%!important;margin-bottom:clamp(10px,3vw,18px)!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title {font-style:italic!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution {margin:1px 0 0!important;align-self:flex-start!important;}
 #byat .v42-epigraph{gap:5px!important;margin-bottom:5px!important;}
}

/* Desktop navigation: strictly same header height; fork unfolds on arrival rather than anticipation. */
@media(min-width:901px){
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{height:84px!important;min-height:84px!important;max-height:84px!important;}
 .v4-desktop-rail{--v42-progress-left:0px;--v42-progress-width:0px;}
 .v4-desktop-rail::before {z-index:0!important;}
 .v42-rail-progress {position:absolute;top:51px;left:var(--v42-progress-left);width:var(--v42-progress-width);height:2px;background:var(--brand-primary);z-index:1;pointer-events:none;transition:left .08s linear,width .08s linear;}
 .v4-desktop.v4-research-open .v4-research-group,
 .v4-desktop .v4-research-group {background:transparent!important;box-shadow:none!important;outline:0!important;border:0!important;}
 .v4-research-group::before,.v4-research-group::after,.v4-research-group .v4-nav-node::after {content:none!important;display:none!important;}
 .v4-research-group {transition:grid-template-columns 1.15s var(--v42-ease),flex-grow 1.15s var(--v42-ease)!important;}
 .v4-research-group>.v4-child{transition:opacity .55s ease,visibility 0s linear .55s!important;}
 .v4-desktop.v4-research-open .v4-research-group>.v4-child{transition:opacity .65s ease .36s,visibility 0s linear 0s!important;}
 .v42-research-branch{position:absolute;left:0;width:100%;height:18px;top:44px;overflow:visible;pointer-events:none;opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path 1.12s var(--v42-ease),opacity .65s ease;z-index:1;}
 .v42-research-branch path{fill:none;stroke:color-mix(in srgb,var(--brand-primary) 82%,var(--brand-border));stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;}
 .v4-desktop.v4-research-open .v42-research-branch{opacity:1;clip-path:inset(0 0 0 0);}
 .v4-desktop-rail>.v4-nav-node,.v4-research-group>.v4-nav-node {transition:color .36s ease!important;}
 .v4-research-group>.v4-child {flex-direction:row!important;justify-content:center!important;align-items:flex-start!important;gap:4px!important;padding-top:8px!important;}
 .v4-research-group>.v4-child .v4-node-icon{width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important;aspect-ratio:1!important;opacity:.67!important;}
 .v4-research-group>.v4-child .v4-node-icon .v4-icon{width:12px!important;height:12px!important;aspect-ratio:1!important;}
 .v4-research-group>.v4-child .v4-node-label{display:inline!important;min-height:0!important;line-height:13px!important;font-size:clamp(9px,.74vw,11px)!important;white-space:nowrap!important;}
 .v4-research-group>.v4-child .v4-node-dot {top:45px!important;}
 .v4-research-group>.v4-child.is-current .v4-node-dot {top:43px!important;}
}

/* Mobile: absolute viewport-centered active page; smaller side previews and larger independent logo. */
@media(max-width:900px){
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{height:84px!important;min-height:84px!important;max-height:84px!important;overflow:hidden!important;}
 .v4-mobile{position:relative!important;height:100%!important;display:block!important;}
 .v4-header-brand{position:absolute;left:0;top:0;height:100%;z-index:5;display:flex!important;align-items:center;background:var(--brand-plum);padding-right:5px;}
 .v4-brand{width:clamp(45px,11vw,58px)!important;min-width:45px!important;height:100%!important;}
 .v4-brand-divider{height:70%!important;}
 .v4-mobile-carousel{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;overflow:visible!important;pointer-events:none;perspective:460px;}
 .v4-perspective-card{position:absolute!important;top:50%!important;height:56px!important;min-height:56px!important;max-height:56px!important;transform-style:preserve-3d;backface-visibility:hidden;pointer-events:auto;z-index:1;transition:transform .68s var(--v42-ease),opacity .6s ease,border-color .4s ease,background .4s ease!important;}
 .v4-perspective-card.v4-current{left:50%!important;width:clamp(108px,29vw,148px)!important;transform:translate(-50%,-50%) translateZ(12px) scale(1.01)!important;z-index:4;}
 .v4-perspective-card.v4-previous{right:calc(50% + clamp(60px,15vw,80px))!important;left:auto!important;width:clamp(58px,18vw,91px)!important;transform:translateY(-50%) rotateY(-24deg) scale(.92)!important;transform-origin:right center;z-index:2;}
 .v4-perspective-card.v4-next{left:calc(50% + clamp(60px,15vw,80px))!important;width:clamp(70px,19vw,95px)!important;transform:translateY(-50%) rotateY(22deg) scale(.93)!important;transform-origin:left center;z-index:2;}
 .v4-perspective-card.v4-next2{left:calc(50% + clamp(130px,36vw,178px))!important;width:clamp(70px,19vw,95px)!important;transform:translateY(-50%) rotateY(40deg) scale(.81)!important;opacity:.38;transform-origin:left center;z-index:1;}
 .v4-perspective-card[hidden]{visibility:hidden!important;pointer-events:none!important;opacity:0!important;}
 .v4-perspective-card :is(.v4-card-icon,.v4-card-label){position:relative;z-index:2;}
 .v4-card-label{font-size:clamp(9px,2.45vw,11px)!important;}
 .v4-current .v4-card-label{font-size:clamp(11px,3.1vw,13px)!important;}
 .v4-card-subtitle{font-size:9px!important;}
 /* Central dock control uses the viewport axis, not an unequal leftover grid column. */
 #v4-mobile-dock {grid-template-columns:auto 1fr auto!important;left:var(--page-margin)!important;right:var(--page-margin)!important;isolation:isolate;}
 #v4-mobile-dock .v4-dock-center{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(42vw,210px)!important;max-width:calc(100% - 180px)!important;justify-content:center!important;z-index:2;}
 #v4-mobile-dock .v4-dock-skip{grid-column:1!important;justify-self:start;z-index:3;}
 #v4-mobile-dock .v4-dock-actions{grid-column:3!important;justify-self:end;z-index:3;}
 #v4-mobile-dock :is(#earth-autoplay-control,#hold-animation,.v4-dock-scroll){max-width:100%!important;overflow:hidden;}
 #v4-mobile-dock :is(#earth-autoplay-control,#hold-animation) span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 #v4-mobile-dock .v4-dock-scroll{height:42px!important;min-width:48px!important;}
 /* Narrative popups: a real clickable collapse button, distinct from the text overlay. */
 #mondo .journey-note.project-note{top:calc(max(10px,env(safe-area-inset-top)) + 84px + 18px)!important;box-sizing:border-box!important;}
 #mondo .journey-note.project-note .v4-note-minimize{
  display:flex!important;align-items:center;justify-content:center;z-index:10;pointer-events:auto!important;
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  background:var(--brand-plum)!important;color:var(--brand-white)!important;border:1px solid var(--brand-border)!important;
  border-radius:50%!important;position:absolute!important;right:7px!important;top:7px!important;cursor:pointer!important;
 }
 #mondo .journey-note.project-note .v4-note-minimize[hidden]{display:none!important;}
 #mondo .journey-note.project-note.v4-note-compact{width:auto!important;max-width:min(75vw,340px)!important;min-width:0!important;min-height:48px!important;padding:6px!important;border-radius:calc(var(--brand-radius-button)*.65)!important;overflow:visible!important;right:auto!important;}
 #mondo .journey-note.project-note.v4-note-compact>p {display:none!important;}
 #mondo .journey-note.project-note.v4-note-compact .v4-note-mini{display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;max-width:100%;}
 #mondo .journey-note.project-note.v4-note-compact .v4-note-mini[hidden]{display:none!important;}
}
@media(max-width:395px){
 .v4-mobile-carousel .v4-perspective-card.v4-previous{width:57px!important;right:calc(50% + 60px)!important;}
 .v4-mobile-carousel .v4-perspective-card.v4-next{left:calc(50% + 60px)!important;}
 .v4-mobile .v4-brand{width:44px!important;min-width:44px!important;}
 #v4-mobile-dock .v4-dock-center{max-width:calc(100% - 163px)!important;}
 #v4-mobile-dock #earth-autoplay-control span{display:none!important;}
}

/* Enlarged viewer keeps the source gallery's arrows within the actual canvas (and within pointer reach). */
.portfolio-lightbox .lightbox-canvas{position:relative!important;isolation:isolate;overflow:hidden!important;}
.portfolio-lightbox .lightbox-canvas .v42-viewer-arrow{
 display:grid!important;place-items:center!important;position:absolute!important;top:50%!important;z-index:50!important;
 width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
 border:var(--brand-border-width) solid var(--brand-border)!important;border-radius:50%!important;
 background:var(--brand-plum)!important;color:var(--brand-white)!important;transform:translateY(-50%)!important;
 font-size:30px!important;line-height:1!important;cursor:pointer;pointer-events:auto!important;touch-action:manipulation;
 box-shadow:0 4px 20px color-mix(in srgb,var(--brand-ink) 42%,transparent);
}
.portfolio-lightbox .lightbox-canvas .v42-viewer-prev{left:clamp(6px,1.5vw,22px)!important;}
.portfolio-lightbox .lightbox-canvas .v42-viewer-next{right:clamp(6px,1.5vw,22px)!important;}
.portfolio-lightbox .lightbox-canvas .v42-viewer-arrow:disabled{opacity:.22!important;pointer-events:none!important;}
.portfolio-lightbox .lightbox-canvas .v42-viewer-arrow:not(:disabled):active{background:var(--brand-primary)!important;color:var(--brand-plum)!important;}
@media(prefers-reduced-motion:reduce){.v4-perspective-card,.v4-research-group,.v42-research-branch{transition:none!important;}}
/* App.js toggles these notes' visibility every frame; hit testing must follow that state. */
@media(max-width:900px){
 #mondo .journey-note.project-note[aria-hidden="false"]{pointer-events:auto!important;}
 #mondo .journey-note.project-note[aria-hidden="true"]{pointer-events:none!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{font-size:clamp(12px,3.55vw,22px)!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title :is(.v4-quote-first,.v4-quote-second){white-space:normal!important;}
}

/* Responsive UI. Owns editorial spacing and V4 control presentation.
   Loaded after legacy styles; tokens and shared interaction controllers stay authoritative. */
:is(.hero-copy,.world-copy,.byat-copy,.furniture-lead,.approach-copy,.contact-copy,.contact-path,.dialog-copy) p {text-align:start!important;word-spacing:normal!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass {width:100%!important;max-width:1100px!important;grid-template-columns:minmax(0,1fr) 30%!important;grid-template-rows:auto!important;gap:36px!important;padding:36px!important;align-items:center!important;background:color-mix(in srgb,var(--brand-plum) 94%,transparent)!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy {display:flex!important;flex-direction:column!important;gap:18px!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass .hero-copy>.editorial-desktop {margin:0!important;font-size:17px!important;line-height:1.55!important;align-self:auto!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote {margin:0 0 8px!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title {font-size:clamp(23px,2.1vw,34px)!important;line-height:1.2!important;}
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass>.hero-profile {grid-row:1!important;width:100%!important;aspect-ratio:1!important;align-self:center!important;}
.v4-node-label {font-size:12px!important;}
.v4-nav-node {color:color-mix(in srgb,var(--brand-white) 82%,transparent)!important;}
.v4-nav-node.is-current {color:var(--brand-primary)!important;}
@media(max-width:900px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass {padding:24px!important;max-width:560px!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy {gap:18px!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy>.editorial-desktop {display:none!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title {font-size:clamp(18px,4.6vw,26px)!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote {margin:0!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story {display:grid!important;grid-template-columns:1fr 88px;gap:16px!important;align-items:center;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .v4-mobile-profile {grid-area:1/2!important;float:none!important;width:88px!important;margin:0!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-intro-mobile {grid-area:1/1!important;font-size:15px!important;line-height:1.5!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-body-paragraph.editorial-mobile {grid-area:2/1/3/3!important;font-size:15px!important;line-height:1.5!important;}
 .v4-mobile .v4-header-brand {background:transparent!important;}
 .v4-mobile .v4-brand-divider {display:none!important;}
 .v4-mobile .v4-mobile-carousel {left:56px!important;width:calc(100% - 56px)!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center!important;gap:4px!important;}
 .v4-mobile-carousel .v4-perspective-card {position:static!important;inset:auto!important;transform:none!important;width:100%!important;height:52px!important;min-height:52px!important;max-height:none!important;padding:4px!important;}
 .v4-mobile-carousel .v4-previous {grid-column:1;grid-row:1;}
 .v4-mobile-carousel .v4-current {grid-column:2;grid-row:1;border:0!important;background:transparent!important;box-shadow:none!important;}
 .v4-mobile-carousel .v4-next {grid-column:3;grid-row:1;}
 .v4-mobile-carousel .v4-next2 {display:none!important;}
 .v4-mobile-carousel :is(.v4-previous,.v4-next) :is(.v4-card-icon,.v4-card-label,.v4-card-subtitle) {display:none!important;}
 .v4-mobile-carousel .v4-previous::after {content:'‹';font-size:28px;}
 .v4-mobile-carousel .v4-next::after {content:'›';font-size:28px;}
 .v4-mobile-carousel .v4-current .v4-card-label {font-size:14px!important;letter-spacing:0!important;}
 #v4-mobile-dock {grid-template-columns:1fr minmax(0,1.25fr) 1fr!important;gap:8px!important;padding:8px!important;}
 #v4-mobile-dock .v4-dock-center {position:static!important;transform:none!important;width:100%!important;max-width:none!important;grid-column:2!important;}
 #v4-mobile-dock .v4-dock-actions {gap:6px!important;}
 :is(.byat-copy,.furniture-lead,.approach-copy,.contact-path) p {font-size:16px!important;line-height:1.5!important;}
 .contact-path h3 {font-size:25px!important;line-height:1.15!important;}
 .contact-path {padding:24px!important;}
}

/* Reading measure and alignment: avoid stretched words in narrow project columns. */
main :is(.world-copy,.byat-copy,.furniture-lead,.approach-copy,.contact-copy,.contact-path) p,
main :is(.world-copy,.byat-copy,.furniture-lead,.approach-copy,.contact-copy,.contact-path) .body-copy,
main .contact-intro {text-align:start!important;word-spacing:normal!important;}
.hero-projects {display:inline-flex;align-items:center;justify-content:space-between;gap:28px;align-self:flex-start;min-height:46px;padding:10px 18px;border:1px solid var(--brand-primary);border-radius:var(--brand-radius-button);color:var(--brand-white);font:600 14px/1.3 var(--brand-font);text-decoration:none;order:10;background:color-mix(in srgb,var(--brand-primary) 12%,transparent);transition:background .2s;}
.hero-projects:hover {background:color-mix(in srgb,var(--brand-primary) 25%,transparent);}
.hero-projects span {font-size:22px;}
:is(a,button,input,textarea,summary):focus-visible {outline:2px solid var(--brand-primary);outline-offset:4px;}
.v4-brand[aria-current] {background:transparent!important;}
#mobile-sections nav a {min-height:44px;display:flex;align-items:center;}
#mobile-sections .mobile-project-list {padding:8px 12px;}
#mobile-sections .mobile-project-list summary {min-height:44px;align-content:center;cursor:pointer;}
#mobile-sections .mobile-furniture-projects button {min-height:44px;}
@media(min-width:901px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass {margin-right:auto!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass .hero-copy {grid-column:1!important;grid-row:1!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass .hero-copy .editorial-desktop {display:block!important;}
 main :is(.world-copy,.byat-copy,.furniture-lead,.approach-copy,.contact-path) p:not(.eyebrow):not(.render-kicker):not(.bayt-epigraph-author) {font-size:clamp(15px,1.12vw,18px)!important;line-height:1.5!important;}
}
@media(max-width:900px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) {height:auto!important;min-height:100svh!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin {height:auto!important;min-height:100svh!important;padding-top:120px!important;padding-bottom:106px!important;box-sizing:border-box;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass .hero-copy>.editorial-desktop {display:none!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-glass .hero-copy {gap:18px!important;}
 #v4-mobile-dock:not(.v5-has-skip) {grid-template-columns:minmax(0,1fr) auto!important;}
 #v4-mobile-dock:not(.v5-has-skip) .v4-dock-skip {display:none!important;}
 #v4-mobile-dock:not(.v5-has-skip) .v4-dock-center {grid-column:1!important;justify-content:flex-start!important;}
 #v4-mobile-dock:not(.v5-has-skip) .v4-dock-actions {grid-column:2!important;}
 #v4-mobile-dock .v4-dock-scroll {width:auto!important;min-width:100px!important;gap:14px;display:flex!important;padding:0 15px!important;font:500 13px/1 var(--brand-font);border:0!important;}
 #v4-mobile-dock .v4-dock-scroll[hidden] {display:none!important;}
 #v4-mobile-dock .v4-continue-arrow {font-size:22px;}
 #v4-mobile-dock [data-direction=right] .v4-continue-arrow {transform:rotate(-90deg);}
 #v4-mobile-dock [data-direction=left] .v4-continue-arrow {transform:rotate(90deg);}
 #v4-mobile-dock.v5-has-skip .v4-dock-scroll {min-width:44px!important;}
 #v4-mobile-dock.v5-has-skip .v4-dock-scroll>span:first-child {display:none;}
 #v4-mobile-dock .v4-dock-center {min-width:0;}
 #v4-mobile-dock #hold-animation {padding:6px!important;gap:6px!important;}
 #v4-mobile-dock #hold-animation svg {width:22px!important;height:28px!important;min-width:22px!important;flex:none;}
 #v4-mobile-dock #hold-animation span {white-space:normal!important;overflow:visible!important;font-size:11px!important;line-height:1.2!important;}
 main .contact-path p.eyebrow {font-size:11px!important;letter-spacing:.1em!important;}
 main .contact-path p:not(.eyebrow),main .approach-copy .body-copy {font-size:16px!important;line-height:1.55!important;}
 .contact .contact-path {padding:24px!important;}
 .contact .contact-path h3 {font-size:25px!important;line-height:1.18!important;}
 #contatti .contact-pin {padding-bottom:110px!important;}
 #contatti footer a {overflow-wrap:anywhere;}
 .interior-panel .byat-copy {padding-right:30px;}
}
@media(max-width:360px){
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass {padding:20px!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story {grid-template-columns:minmax(0,1fr) 68px!important;gap:12px!important;}
 :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .v4-mobile-profile {width:68px!important;}
 #v4-mobile-dock.v5-has-skip {grid-template-columns:48px minmax(0,1fr) auto!important;gap:4px!important;}
 #v4-mobile-dock .v4-dock-actions {gap:4px!important;}
}
@media(prefers-reduced-motion:reduce){.hero-projects {transition:none;}}

/* V4.3: reference navigation and compact interior composition. */
:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution{align-self:flex-start!important;margin:5px 0 0!important;}
.v4-nav-node.is-current,.v4-nav-node.is-parent-active{color:var(--brand-primary)!important;}
@media(min-width:901px){
 .v4-header-brand{gap:20px!important;}
 .v4-brand{width:clamp(64px,6.5vw,90px)!important;height:54px!important;}
 .v4-brand-divider{height:54px!important;}
 .v4-research-group{display:flex!important;align-items:stretch!important;}
 .v4-research-group>.v4-nav-node{flex:1 1 0!important;overflow:visible!important;}
 .v43-research-capsule{position:relative;display:flex;width:0;flex:0 0 0;opacity:0;visibility:hidden;overflow:hidden;align-self:flex-start;height:40px;border:1px solid var(--brand-border);border-radius:18px;transition:flex .7s ease,opacity .4s;}
 .v4-research-open .v43-research-capsule{flex:2 1 0;opacity:1;visibility:visible;margin:3px 0 0 13px;overflow:visible;}
 .v4-desktop.v4-research-open .v4-research-group{flex-grow:3.2!important;}
 .v43-research-capsule::after{content:'';position:absolute;left:50%;top:7px;bottom:7px;width:1px;background:var(--brand-border);}
 .v43-research-capsule>.v4-child{display:flex!important;opacity:1!important;visibility:inherit;flex-direction:row;justify-content:center;align-items:flex-start;gap:5px;padding:7px 3px 14px!important;}
 .v43-research-capsule .v4-node-icon,.v43-research-capsule .v4-icon{width:13px!important;height:13px!important;min-width:13px;opacity:1!important;}
 .v43-research-capsule .v4-node-label{font-size:clamp(9px,.85vw,13px)!important;line-height:14px;white-space:nowrap;}
 .v43-research-capsule .v4-node-dot,.v43-research-capsule .is-current .v4-node-dot{top:27px!important;width:9px!important;height:9px!important;box-shadow:none!important;}
 .v42-research-branch{left:calc(33.333% - 8px)!important;width:24px!important;top:23px!important;height:24px!important;}
 .v42-research-branch path{stroke:var(--brand-primary)!important;stroke-dasharray:none!important;stroke-width:1.5!important;}
 #casa.is-minimized .interior-panel{display:block!important;height:108px!important;min-height:108px!important;padding:18px 64px 18px 24px!important;overflow:hidden!important;}
 #casa.is-minimized .interior-panel>.byat-copy{display:none!important;}
 #casa.is-minimized .interior-mini{display:grid!important;grid-template-columns:minmax(150px,.7fr) minmax(180px,1.3fr) minmax(240px,1.4fr)!important;align-items:center!important;gap:24px!important;height:72px!important;width:100%!important;}
 #casa.is-minimized .interior-mini-title{font-size:clamp(18px,1.5vw,25px)!important;line-height:1.18!important;}
 #casa.is-minimized .interior-mini-body{display:block!important;height:3.9em!important;max-height:3.9em!important;align-self:center!important;font-size:15px!important;line-height:1.3!important;overflow:hidden!important;margin:0!important;}
 #casa.is-minimized .interior-mini-thumbs{height:64px!important;gap:9px!important;overflow-x:auto!important;padding:4px!important;}
 #casa.is-minimized .interior-mini-thumbs button{height:54px!important;flex:0 0 auto!important;}
}
@media(max-width:900px){
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{left:0!important;right:0!important;top:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:visible!important;background:var(--brand-plum)!important;height:84px!important;}
 .v4-mobile{overflow:visible!important;}
 .v4-mobile .v4-header-brand{display:none!important;}
 .v4-mobile-carousel{overflow:clip!important;overflow-clip-margin:16px;perspective:none!important;pointer-events:auto!important;}
 .v43-mobile-track{position:relative;display:flex;width:calc(var(--step,20vw)*7);height:84px;will-change:transform;}
 .v43-mobile-track>.v4-nav-node{box-sizing:border-box;flex:0 0 var(--step,20vw);height:84px;padding:9px 1px 23px!important;gap:4px;color:var(--brand-white);}
 .v43-mobile-track .v4-node-icon,.v43-mobile-track .v4-icon{width:23px!important;height:23px!important;opacity:1;}
 .v43-mobile-track .v4-node-label{font-size:clamp(10px,2.6vw,15px)!important;line-height:1.2;}
 .v43-mobile-track .v4-node-dot{top:67px!important;width:9px;height:9px;box-shadow:none;}
 .v43-mobile-track .is-current .v4-node-dot{top:64px!important;width:15px;height:15px;box-shadow:none!important;}
 .v43-mobile-track .is-passed .v4-node-dot{background:var(--brand-primary);}
 .v43-mobile-line{position:absolute;left:calc(var(--step,20vw)/2);right:calc(var(--step,20vw)/2);top:71px;height:2px;background:var(--brand-white);}
 .v43-mobile-line i{display:block;height:100%;background:var(--brand-primary);}
 .v43-notch{position:absolute;top:83px;width:66px;height:12px;fill:var(--brand-plum);transform-origin:top center;pointer-events:none;}
 #v4-mobile-dock{min-height:62px!important;padding:7px 9px!important;}
 #v4-mobile-dock #skip-animation{display:none!important;}
 #v4-mobile-dock .v43-dock-home{display:grid;place-items:center;width:44px;height:44px;background:none;border:0;color:var(--brand-white);cursor:pointer;}
 #v4-mobile-dock .v43-dock-home svg{width:28px;height:28px;}
 #v4-mobile-dock :is(.v4-dock-chat,.v4-dock-menu){background:none!important;border:0!important;color:var(--brand-white)!important;}
 #v4-mobile-dock .v4-dock-center{width:50px!important;max-width:50px!important;}
 #v4-mobile-dock :is(.v4-dock-scroll,#hold-animation,#earth-autoplay-control){width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border:0!important;border-radius:50%!important;background:var(--brand-primary)!important;color:var(--brand-white)!important;padding:9px!important;}
 #v4-mobile-dock .v4-dock-scroll>span:first-child,#v4-mobile-dock #hold-animation span,#v4-mobile-dock #earth-autoplay-control span{display:none!important;}
 #v4-mobile-dock .v4-dock-scroll .v5-continue-arrow{display:block!important;font-size:32px!important;line-height:1!important;}
 #v4-mobile-dock .v4-dock-scroll[data-direction=right] .v5-continue-arrow{transform:rotate(-90deg);}
 #v4-mobile-dock .v4-dock-scroll[data-direction=left] .v5-continue-arrow{transform:rotate(90deg);}
 #v4-mobile-dock .v4-dock-scroll[data-direction=up] .v5-continue-arrow{transform:rotate(180deg);}
}
@media(min-width:901px){.v43-dock-home{display:none;}}
@media(min-width:901px){
 .v4-brand img{width:100%!important;height:54px!important;max-height:54px!important;object-fit:contain!important;}
 .v4-brand{width:80px!important;}
 .v42-research-branch{left:calc(33.333% - 16px)!important;width:29px!important;top:20px!important;height:30px!important;}
}
@media(max-width:900px){
 .v4-mobile .v4-mobile-carousel{left:0!important;width:100%!important;display:block!important;}
 #v4-mobile-dock,#v4-mobile-dock:not(.v5-has-skip),#v4-mobile-dock.v5-has-skip{grid-template-columns:44px 1fr auto!important;}
 #v4-mobile-dock:not(.v5-has-skip) .v4-dock-skip,#v4-mobile-dock .v4-dock-skip{display:flex!important;grid-column:1!important;}
 #v4-mobile-dock .v4-dock-center,#v4-mobile-dock:not(.v5-has-skip) .v4-dock-center{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;justify-content:center!important;}
 #v4-mobile-dock .v4-dock-actions,#v4-mobile-dock:not(.v5-has-skip) .v4-dock-actions{grid-column:3!important;}
}
@media(min-width:901px){
 #casa.is-minimized .byat-window{height:108px!important;min-height:108px!important;max-height:108px!important;}
 .v4-brand img{max-width:none!important;transform:none!important;}
}
@media(max-width:900px){
 .v43-mobile-track .v4-nav-node,.v43-mobile-track .v4-nav-node[aria-current]{background:transparent!important;}
}

/* Stable SVG references: change visibility, never reload a <use> while scrolling. */
.v4-icon .icon-filled{display:none}
.v4-icon.is-filled .icon-wire{display:none}
.v4-icon.is-filled .icon-filled{display:inline}
.v4-icon .icon-wire{fill:none}
.v4-icon .icon-filled{fill:currentColor}
#earth-autoplay-control .earth-play{display:none}
#earth-autoplay-control[data-playing=false] .earth-play{display:block}
#earth-autoplay-control[data-playing=false] .earth-pause{display:none}
#earth-autoplay-control svg{color:var(--brand-white)!important;animation:none!important}
.v44-mobile-research,.v44-mobile-branch{display:none}
@media(min-width:901px){
 .v4-brand{width:69px!important;height:46px!important;}
 .v4-brand img{height:46px!important;max-height:46px!important;}
 .v4-brand-divider{height:46px!important;}
 .v4-header-brand{gap:15px!important;}
 .v4-node-icon,.v4-node-icon .v4-icon{width:24px!important;height:24px!important;min-height:24px!important;opacity:1!important;}
 .v4-node-label{font-size:clamp(11px,1vw,15px)!important;min-height:16px;}
 .v4-desktop-rail .v4-nav-node{padding-top:0!important;padding-bottom:21px!important;gap:2px!important;}
 .v4-desktop-rail::before,.v42-rail-progress{top:51px!important;}
 .v4-desktop-rail .v4-node-dot,.v4-desktop-rail .is-current .v4-node-dot,.v4-desktop-rail .is-parent-active .v4-node-dot{top:51.5px!important;transform:translate(-50%,-50%)!important;}
 .v4-research-open .v43-research-capsule{margin-left:0!important;margin-top:0!important;height:43px!important;flex-grow:2.25!important;}
 .v43-research-capsule .v4-node-label{font-size:clamp(10px,.88vw,13px)!important;}
 .v43-research-capsule .v4-node-icon,.v43-research-capsule .v4-icon{width:14px!important;height:14px!important;min-height:14px!important;}
 .v4-desktop-rail .v43-research-capsule .v4-child{padding:6px 3px 16px!important;}
 .v4-desktop-rail .v43-research-capsule .v4-node-dot,.v4-desktop-rail .v43-research-capsule .is-current .v4-node-dot{top:32px!important;}
 .v42-research-branch{left:0!important;top:0!important;width:100%!important;height:100%!important;z-index:0!important;}
}
@media(max-width:900px){
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{overflow:visible!important;clip-path:none!important;contain:none!important;z-index:120!important;isolation:isolate;transition:height .35s ease!important;}
 .site-header.v44-research-open{height:64px!important;min-height:64px!important;max-height:64px!important;}
 .v4-mobile .v4-mobile-carousel{overflow:visible!important;clip-path:none!important;}
 .v44-rail-viewport{position:absolute;inset:0;height:84px;overflow:hidden;}
 .v43-notch{top:83px!important;height:18px!important;width:76px!important;z-index:3;overflow:visible;}
 .v43-mobile-track .v4-node-icon{transition:opacity .3s ease,transform .35s ease;}
 .v43-mobile-track .v4-node-label,.v43-mobile-track .v4-node-dot,.v43-mobile-line{transition:translate .35s ease;}
 .v44-research-open .v4-node-icon{opacity:0!important;transform:translateY(-16px);}
 .v44-research-open .v43-mobile-track .v4-node-label,.v44-research-open .v43-mobile-track .v4-node-dot,.v44-research-open .v43-mobile-line{translate:0 -22px;}
 .v44-research-open .v43-notch{visibility:hidden;}
 .v44-mobile-research{position:absolute;display:flex;justify-content:center;align-items:flex-start;left:12%;width:76%;top:63px;height:51px;z-index:3;opacity:0;transform:translateY(-25px) scaleY(.2);transform-origin:top center;visibility:hidden;pointer-events:none;transition:transform .35s ease,opacity .25s,visibility .35s;}
 .v44-research-open .v44-mobile-research{opacity:1;transform:none;visibility:visible;pointer-events:auto;}
 .v44-research-surface{position:absolute;inset:0;width:100%;height:100%;fill:var(--brand-plum);z-index:-1;}
 .v44-mobile-research button{position:relative;flex:0 0 38%;display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;border:0;color:var(--brand-white);padding:9px 0 0;font:500 clamp(10px,3vw,15px)/1.1 var(--brand-font);}
 .v44-mobile-research button i{display:block;width:9px;height:9px;border-radius:50%;background:var(--brand-white);}
 .v44-mobile-research button.is-current{color:var(--brand-primary)}
 .v44-mobile-research button.is-current i,.v44-mobile-research button.is-passed i{background:var(--brand-primary)}
 .v44-sub-divider{position:absolute;left:50%;top:23px;width:1px;height:18px;background:var(--brand-border);}
 .v44-sub-line{position:absolute;left:31%;width:38%;height:1px;top:13px;background:var(--brand-border);}
 .v44-sub-line i{display:block;height:100%;width:calc(var(--sub-progress,0)*100%);background:var(--brand-primary)}
 .v44-mobile-branch{display:block;position:absolute;top:0;left:0;width:100%;height:120px;overflow:visible;z-index:4;pointer-events:none;opacity:0;transition:opacity .25s;}
 .v44-mobile-branch path{fill:none;stroke:var(--brand-border);stroke-width:1.5;}
 .v44-mobile-branch.is-reached path{stroke:var(--brand-primary)}
 .v44-research-open .v44-mobile-branch{opacity:1;}
 /* Every central control occupies the very same grid cell. */
 #v4-mobile-dock .v4-dock-center,#v4-mobile-dock:not(.v5-has-skip) .v4-dock-center{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;}
 #v4-mobile-dock .v4-dock-center>button{grid-area:1/1!important;position:static!important;inset:auto!important;transform:none!important;margin:0!important;box-sizing:border-box!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:10px!important;display:grid!important;place-items:center!important;gap:0!important;color:var(--brand-white)!important;background:var(--brand-primary)!important;border:0!important;border-radius:50%!important;}
 #v4-mobile-dock .v4-dock-center>button[hidden],#v4-mobile-dock .v4-dock-center[data-control=earth]>#hold-animation{display:none!important;}
 #v4-mobile-dock .v4-dock-center>button>span{display:none!important;}
 #v4-mobile-dock .v4-dock-center>button>svg,#v4-mobile-dock #hold-animation:not([hidden])>svg{display:block!important;width:26px!important;height:26px!important;min-width:26px!important;animation:none!important;color:var(--brand-white)!important;stroke:none!important;}
 #v4-mobile-dock .v4-dock-scroll svg{transform:none;}
 #v4-mobile-dock .v4-dock-scroll[data-direction=right] svg{transform:rotate(-90deg)}
 #v4-mobile-dock .v4-dock-scroll[data-direction=left] svg{transform:rotate(90deg)}
 #v4-mobile-dock .v4-dock-scroll[data-direction=up] svg{transform:rotate(180deg)}
 #v4-mobile-dock .v4-dock-menu svg{stroke:none!important;}
 html.earth-gesture-lock,html.earth-gesture-lock body,html.earth-gesture-lock #mondo{touch-action:none!important;overscroll-behavior:none!important;overflow-anchor:none!important;}
 #mondo .journey-pin,#mondo .world-visual{height:var(--scene-height)!important;min-height:var(--scene-height)!important;max-height:var(--scene-height)!important;}
}
@media(prefers-reduced-motion:reduce){.v43-mobile-track .v4-node-icon,.v43-mobile-track .v4-node-label,.v43-mobile-track .v4-node-dot,.v43-mobile-line,.v44-mobile-research,.site-header{transition:none!important;}}
@media(min-width:901px){
 .v4-desktop-rail>.v4-nav-node,.v4-research-group>.v4-nav-node{height:68px!important;align-self:stretch!important;box-sizing:border-box!important;}
}
@media(max-width:900px){
 .v44-mobile-research button,.v44-mobile-research button[aria-current]{background:transparent!important;}
 .v43-notch path{stroke:var(--brand-border);stroke-width:.6;vector-effect:non-scaling-stroke;}
 html body :is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-top:128px!important;}
 #mondo .journey-note.project-note{top:132px!important;}
}
@media(max-width:900px){
 #v4-mobile-dock .v4-dock-center,#v4-mobile-dock:not(.v5-has-skip) .v4-dock-center{grid-column:auto!important;grid-row:auto!important;}
}

/* Approved mobile composition. Desktop continues to use the existing layout. */
.mobile-card-dots,.mobile-furniture-timeline,.mobile-furniture-explore{display:none}
@media(max-width:900px){
 html body{background:var(--brand-white)}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light,.site-header.v44-research-open{height:calc(var(--ds-mobile-header-height) + env(safe-area-inset-top))!important;min-height:0!important;max-height:none!important;padding-top:env(safe-area-inset-top)!important;box-sizing:border-box!important;}
 .v44-rail-viewport,.v43-mobile-track{height:var(--ds-mobile-header-height)!important;}
 .v43-mobile-track>.v4-nav-node{height:var(--ds-mobile-header-height)!important;padding:12px 1px 18px!important;justify-content:flex-start!important;}
 .v43-mobile-track .v4-node-icon{display:none!important;}
 .v43-mobile-track .v4-node-label{translate:none!important;font-size:clamp(10px,2.7vw,15px)!important;}
 .v43-mobile-track .v4-node-dot{top:calc(var(--ds-mobile-header-height) - 16px)!important;translate:none!important;}
 .v43-mobile-track .is-current .v4-node-dot{top:calc(var(--ds-mobile-header-height) - 19px)!important;}
 .v43-mobile-line{top:calc(var(--ds-mobile-header-height) - 12px)!important;translate:none!important;}
 .v43-notch{top:calc(var(--ds-mobile-header-height) - 1px)!important;height:14px!important;}
 .v44-mobile-research{top:calc(var(--ds-mobile-header-height) - 1px)!important;left:7%!important;width:86%!important;height:var(--ds-mobile-subnav-height)!important;}
 .v44-mobile-research button{min-height:44px;font-size:clamp(11px,3vw,16px)!important;}
 .v44-mobile-branch{height:calc(var(--ds-mobile-header-height) + var(--ds-mobile-subnav-height))!important;}
 .mobile-furniture-timeline{display:flex;}
 .site-header:not(.v45-furniture-open) .mobile-furniture-timeline{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
 .mobile-furniture-timeline button span{font-size:clamp(9px,2.4vw,13px);line-height:1.05;}
 .v45-furniture-open .mobile-furniture-timeline{opacity:1;transform:none;visibility:visible;pointer-events:auto;}
 .v45-furniture-open .v43-notch{visibility:hidden;}
 .v45-furniture-open .v44-mobile-branch{opacity:1;}
 .mobile-furniture-timeline button{flex:0 0 28%;font-size:clamp(10px,2.6vw,14px)!important;white-space:normal;}
 .mobile-furniture-timeline button[hidden]{display:none!important;}
 .mobile-furniture-timeline .v44-sub-line{left:22%;width:56%;}
 #v4-mobile-dock :is(.v43-dock-home,.v4-dock-chat,.v4-dock-menu){display:grid!important;place-items:center!important;width:44px!important;height:44px!important;padding:6px!important;}
 #v4-mobile-dock :is(.v43-dock-home,.v4-dock-chat,.v4-dock-menu) svg{width:var(--ds-mobile-dock-icon-size)!important;height:var(--ds-mobile-dock-icon-size)!important;}
 html body :is(#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-top:calc(var(--ds-mobile-header-height) + var(--ds-mobile-subnav-height) + var(--ds-mobile-layout-gap) + env(safe-area-inset-top))!important;--panel-bottom:calc(100px + env(safe-area-inset-bottom))!important;background:var(--brand-white)!important;}
 :is(#arredi .furniture-pin,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .urban-pin){height:100dvh!important;min-height:0!important;padding:var(--panel-top) 0 var(--panel-bottom)!important;gap:0!important;}
 #mondo .exterior-window{position:absolute!important;top:calc(var(--ds-mobile-header-height) + var(--ds-mobile-subnav-height) + var(--ds-mobile-layout-gap) + env(safe-area-inset-top))!important;bottom:calc(100px + env(safe-area-inset-bottom))!important;left:0!important;right:0!important;height:auto!important;max-height:none!important;}
 #mondo .journey-pin:has(.exterior-window[aria-hidden=false]){background:color-mix(in srgb,var(--brand-white) calc(var(--earth-reveal,0)*100%),var(--brand-plum))!important;}
 #mondo .journey-pin:has(.exterior-window[data-reveal-complete]) .world-visual{visibility:hidden!important;}
 :is(#mondo .exterior-window,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-window,#arredi .gallery-window){width:100%!important;margin:0!important;padding:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:none!important;touch-action:pan-y pinch-zoom;}
 :is(#mondo .exterior-track,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track,#arredi .gallery-track){display:flex!important;position:relative!important;align-items:stretch!important;width:max-content!important;height:100%!important;gap:var(--ds-mobile-card-gap)!important;padding:0 var(--ds-mobile-card-inset)!important;transform:none!important;}
 :is(#mondo .exterior-track,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track)::after{content:'';flex:0 0 calc(100vw - var(--ds-mobile-main-card-width) - 2 * var(--ds-mobile-card-inset) - var(--ds-mobile-card-gap));}
 :is(#mondo .exterior-track,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track)>.byat-panel{box-sizing:border-box!important;flex:0 0 var(--ds-mobile-main-card-width)!important;width:var(--ds-mobile-main-card-width)!important;min-width:0!important;height:100%!important;max-height:none!important;padding:var(--ds-mobile-main-card-padding)!important;border-radius:var(--brand-radius)!important;background:var(--brand-plum)!important;color:var(--brand-white)!important;display:flex!important;flex-direction:column!important;gap:12px!important;overflow-y:auto!important;}
 :is(.exterior-panel,.butera-panel) .byat-copy{position:static!important;flex:0 0 auto!important;height:auto!important;max-height:none!important;padding:4px!important;overflow:visible!important;}
 :is(.exterior-panel,.butera-panel) .byat-copy :is(h2,h3,p,blockquote){color:inherit!important;}
 :is(.exterior-panel,.butera-panel) .photo-gallery{position:relative!important;flex:1 0 180px!important;min-height:180px!important;height:auto!important;max-height:none!important;padding:0!important;gap:0!important;}
 :is(#mondo .exterior-panel,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel) .photo-stage{height:100%!important;min-height:180px!important;max-height:none!important;aspect-ratio:auto!important;flex:1!important;border-radius:var(--brand-radius-photo)!important;}
 :is(.exterior-panel,.butera-panel) .photo-dots{position:absolute!important;bottom:4px!important;left:50%!important;transform:translateX(-50%)!important;width:max-content!important;max-width:100%;z-index:8!important;padding:0!important;min-height:28px!important;}
 :is(.exterior-panel,.butera-panel) .photo-dots button{width:24px!important;height:28px!important;min-width:24px!important;min-height:28px!important;background:none!important;}
 :is(.exterior-panel,.butera-panel) .photo-dots button::after{width:5px!important;height:5px!important;background:var(--brand-white);box-shadow:0 1px 3px #0008;}
 :is(.exterior-panel,.butera-panel) .photo-dots button[aria-pressed=true]::after{background:var(--brand-primary)!important;}
 :is(.exterior-panel,.butera-panel) .photo-arrow{background:transparent!important;border:0!important;color:var(--brand-white)!important;box-shadow:none!important;filter:drop-shadow(0 1px 2px #000);}
 :is(#mondo,:is(#concorso,#quote,#elementi-strutturali,#tecnologia),#arredi) :is(.exterior-meter,.butera-meter,.gallery-footer,.mobile-carousel-hint){display:none!important;}
 .mobile-card-dots{display:flex;position:absolute;left:0;right:0;bottom:calc(76px + env(safe-area-inset-bottom));height:24px;align-items:center;justify-content:center;gap:0;z-index:5;}
 #mondo .mobile-card-dots{visibility:hidden;}
 #mondo .exterior-window[aria-hidden=false]+.mobile-card-dots{visibility:visible;}
 .mobile-card-dots button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent;cursor:pointer;}
 .mobile-card-dots button::after{content:'';width:var(--ds-mobile-dot-size);height:var(--ds-mobile-dot-size);border-radius:50%;background:color-mix(in srgb,var(--brand-plum) 22%,var(--brand-white));}
 .mobile-card-dots button[aria-pressed=true]::after{background:var(--brand-primary);}
 #arredi .gallery-track{padding-inline:calc((100vw - var(--ds-mobile-furniture-card-width))/2)!important;}
 #arredi .gallery-track>:is(.furniture-lead,.furniture-card){box-sizing:border-box!important;flex:0 0 var(--ds-mobile-furniture-card-width)!important;width:var(--ds-mobile-furniture-card-width)!important;min-width:0!important;max-width:none!important;height:100%!important;border-radius:var(--brand-radius)!important;transform:scaleY(.96);transition:transform .25s;}
 #arredi .gallery-track>.is-card-active{transform:scaleY(1);}
 #arredi .gallery-track.is-loop-reset>*{transition:none!important;}
 #arredi .furniture-lead{display:flex!important;flex-direction:column!important;justify-content:safe center!important;padding:20px!important;background:var(--brand-white)!important;color:var(--brand-plum)!important;border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-plum) 16%,transparent)!important;}
 #arredi .furniture-card{padding:0!important;position:relative!important;}
 #arredi .furniture-card>img{height:100%!important;width:100%!important;object-fit:cover!important;}
 #arredi .project-card-label{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:40px 12px 14px!important;background:linear-gradient(transparent,#0009)!important;color:var(--brand-white)!important;display:flex!important;align-items:end!important;gap:8px!important;}
 #arredi .project-card-label>span:first-child{font-size:clamp(16px,4.5vw,22px)!important;min-width:0;}
 #arredi .gallery-open{font-size:11px!important;padding:9px 10px!important;border:1px solid currentColor;border-radius:var(--brand-radius-button);white-space:nowrap;flex-shrink:0;}
 #arredi .furniture-lead>p{color:inherit!important;}
 .mobile-furniture-explore{display:block;align-self:flex-end;margin-top:24px;padding:12px 16px;border:var(--brand-border-width) solid color-mix(in srgb,var(--brand-plum) 25%,transparent);border-radius:var(--brand-radius-button);background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;}
 #casa .byat-window{top:0!important;}
 #casa:not(.is-minimized) .byat-pin{padding-top:calc(var(--ds-mobile-header-height) + var(--ds-mobile-subnav-height) + var(--ds-mobile-layout-gap) + env(safe-area-inset-top))!important;}
 #casa:not(.is-minimized) .byat-window,#casa:not(.is-minimized) .interior-panel{height:calc(100dvh - var(--ds-mobile-header-height) - var(--ds-mobile-subnav-height) - 2 * var(--ds-mobile-layout-gap) - 74px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:none!important;min-height:0!important;}
 :is(#byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .photo-gallery .photo-stage .photo-arrow.gallery-nav{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--brand-white)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
 :is(#byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .photo-gallery .photo-dots{background:transparent!important;border:0!important;box-shadow:none!important;}
}
@media(prefers-reduced-motion:reduce){#arredi .gallery-track>*{transition:none!important;}}

/* Global chrome and desktop editorial layout, all surfaces resolve through shared tokens. */
:root{--glass-light-surface:color-mix(in srgb,var(--ds-glass-light-tint) var(--ds-glass-light-opacity),transparent);--glass-dark-surface:color-mix(in srgb,var(--ds-glass-dark-tint) var(--ds-glass-dark-opacity),transparent);}
[data-glass=dark]{background:var(--glass-dark-surface)!important;backdrop-filter:blur(var(--ds-glass-dark-blur))!important;-webkit-backdrop-filter:blur(var(--ds-glass-dark-blur))!important;border-color:var(--ds-glass-dark-border)!important;box-shadow:var(--ds-glass-dark-shadow)!important;}
[data-glass=light]{background:var(--glass-light-surface)!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;-webkit-backdrop-filter:blur(var(--ds-glass-light-blur))!important;border-color:var(--ds-glass-light-border)!important;box-shadow:var(--ds-glass-light-shadow)!important;}
.site-header{--nav-ink:var(--brand-plum);--nav-muted:color-mix(in srgb,var(--brand-plum) 40%,var(--brand-white));--nav-border:var(--ds-glass-light-border);}
.site-header[data-theme=dark]{--nav-ink:var(--brand-white);--nav-muted:color-mix(in srgb,var(--brand-white) 54%,var(--brand-plum));--nav-border:var(--ds-glass-dark-border);}
.site-header[data-theme=light]{background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;border-color:var(--ds-glass-light-border)!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;box-shadow:var(--ds-glass-light-shadow)!important;}
.site-header[data-theme=dark]{background:var(--glass-dark-surface)!important;color:var(--brand-white)!important;border-color:var(--ds-glass-dark-border)!important;backdrop-filter:blur(var(--ds-glass-dark-blur))!important;box-shadow:var(--ds-glass-dark-shadow)!important;}
.site-header .v4-nav-node.is-future{color:var(--nav-muted)!important;}
.site-header .v4-nav-node.is-passed,.site-header .v4-nav-node.is-parent-active:not(.is-current){color:var(--nav-ink)!important;}
.site-header .v4-nav-node.is-current{color:var(--brand-primary)!important;}
.site-header .v4-node-dot{background:currentColor!important;box-shadow:none!important;}
.site-header[data-theme=light] .v4-brand img{filter:none!important;}
.site-header[data-theme=dark] .v4-brand img{filter:brightness(0) invert(1)!important;}
.v4-desktop-rail::before,.v42-rail-progress,.v42-research-branch,.v43-mobile-line,.v44-mobile-branch,.v44-sub-line{display:none!important;}
.editorial-furniture-nav{display:none}
.site-header .editorial-furniture-nav[hidden]{display:none!important;}
.dynamic-island{position:fixed;z-index:110;bottom:var(--ds-footer-inset);left:50%;transform:translateX(-50%);height:var(--ds-footer-height);min-width:var(--ds-footer-height);max-width:min(50vw,440px);display:flex;align-items:center;justify-content:center;border:var(--brand-border-width) solid var(--ds-glass-light-border);border-radius:var(--brand-radius-button);background:var(--glass-light-surface);color:var(--brand-plum);backdrop-filter:blur(var(--ds-glass-light-blur));box-shadow:var(--ds-glass-light-shadow);transition:width .3s,background .3s;}
.dynamic-island[hidden]{display:none!important;}
.dynamic-island #page-scroll-indicator{position:static!important;inset:auto!important;transform:none!important;min-height:0!important;height:100%!important;width:var(--ds-footer-height)!important;padding:6px!important;border:0!important;box-shadow:none!important;background:none!important;color:inherit!important;}
.dynamic-island #page-scroll-indicator svg{max-height:28px!important;max-width:32px!important;}
.island-dots{display:none;align-items:center;justify-content:center;padding:0 10px;overflow-x:auto;scrollbar-width:none;height:100%;}
.island-dots button{flex:0 0 26px;width:26px;height:100%;display:grid;place-items:center;padding:0;border:0;background:none;color:inherit;}
.island-dots button::after{content:'';width:var(--ds-mobile-dot-size);height:var(--ds-mobile-dot-size);border-radius:50%;background:color-mix(in srgb,currentColor 24%,transparent);}
.island-dots button[aria-pressed=true]::after{background:var(--brand-primary);outline:1px solid var(--brand-primary);outline-offset:3px;}
.has-carousel>.island-dots{display:flex;}
.dynamic-island.has-carousel #page-scroll-indicator{display:none!important;}
.mobile-card-dots,.board-meter,.exterior-meter,.butera-meter,.gallery-footer{display:none!important;}
.editorial-thumbnails{display:flex;gap:var(--ds-editorial-thumb-gap);justify-content:center;flex:none;min-height:0;}
.editorial-thumbnails button{flex:1;min-width:0;border:var(--brand-border-width) solid transparent;border-radius:var(--brand-radius-photo);padding:4px;background:none;color:var(--brand-plum);}
.editorial-thumbnails img{width:100%;height:var(--ds-editorial-thumb-height);object-fit:contain;border-radius:calc(var(--brand-radius-photo)/2);}
.editorial-thumbnails span{display:block;font-size:var(--ds-editorial-caption-size);padding:7px 0 0;}
.editorial-thumbnails button[aria-pressed=true]{border-color:var(--brand-primary);color:var(--brand-primary);}
.plan-comparison{position:absolute;inset:0;z-index:5;overflow:hidden;border-radius:inherit;}
.plan-comparison[hidden]{display:none}
.plan-comparison>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;}
.comparison-overlay{clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0);}
.plan-comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3;touch-action:pan-y;}
.comparison-handle{position:absolute;left:var(--comparison-position);top:0;bottom:0;width:2px;background:var(--brand-primary);pointer-events:none;}
.comparison-handle::after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid var(--brand-primary);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:var(--brand-white);color:var(--brand-plum);}
.comparison-handle{font-size:0;}.comparison-handle::after{font-size:18px;}
.plan-comparison:focus-within{outline:2px solid var(--brand-primary);outline-offset:-3px;}
.photo-stage.has-comparison>.photo-slide{visibility:hidden!important;}
.photo-stage.has-comparison>.photo-arrow{z-index:7!important;}
#chatbot-panel .chatbot-footer{display:flex!important;flex-shrink:0;}
#chatbot-panel [data-cb=copy]{display:inline-flex!important;visibility:visible!important;}
@media(min-width:901px){
 html body :is(#byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-copy,html body :is(#byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-copy :is(h2,h3,p,blockquote){color:var(--brand-plum)!important;}
 html body :is(#byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-panel{padding:var(--ds-editorial-padding)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track{padding-inline:var(--ds-editorial-side)!important;position:relative!important;}
 html body #byat .elevation-description.is-active,html body #byat .plan-editorial .byat-copy>.is-editorial-active{color:var(--brand-primary)!important;}
 .site-header,.site-header.solid,.site-header.light,.site-header.solid.light{top:var(--ds-header-inset)!important;left:var(--ds-header-inset)!important;right:var(--ds-header-inset)!important;height:var(--ds-header-height)!important;min-height:0!important;max-height:none!important;border-radius:var(--brand-radius-button)!important;border:var(--brand-border-width) solid var(--nav-border)!important;padding:10px 24px!important;}
 .v4-desktop{position:relative;gap:20px!important;}
 .v4-header-brand{padding-right:12px!important;}
 .v4-brand-divider{background:var(--nav-border)!important;}
 .v4-desktop-rail{height:100%!important;}
 .v4-desktop-rail>.v4-nav-node,.v4-research-group>.v4-nav-node{height:100%!important;justify-content:center!important;padding:0 5px 13px!important;gap:5px!important;border-right:var(--brand-border-width) solid var(--nav-border)!important;}
 .v4-desktop-rail>.v4-nav-node:last-child{border-right:0!important;}
 .v4-desktop-rail .v4-node-label{font-size:var(--ds-header-label-size)!important;letter-spacing:.05em;}
 .v4-desktop-rail .v4-node-dot,.v4-desktop-rail .is-current .v4-node-dot,.v4-desktop-rail .is-parent-active .v4-node-dot{top:auto!important;bottom:1px!important;width:7px!important;height:7px!important;transform:translateX(-50%)!important;}
 .v4-research-group{height:100%!important;align-items:stretch!important;}
 .v4-desktop.v4-research-open .v4-research-group{flex-grow:3!important;}
 .v4-research-open .v43-research-capsule{flex:2 1 0!important;height:100%!important;min-width:0!important;margin:0 8px!important;border:0!important;border-bottom:var(--brand-border-width) solid var(--nav-border)!important;border-radius:0!important;padding-left:6px;}
 .v43-research-capsule::after{background:var(--nav-border)!important;top:12px!important;bottom:18px!important;}
 .v4-desktop-rail .v43-research-capsule .v4-child{flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:0 2px 13px!important;gap:5px!important;}
 .v43-research-capsule .v4-node-icon,.v43-research-capsule .v4-icon{width:20px!important;height:20px!important;}
 .v43-research-capsule .v4-node-label{font-size:calc(var(--ds-header-label-size)*.9)!important;}
 .v4-desktop-rail .v43-research-capsule .v4-node-dot{top:auto!important;bottom:1px!important;}
 .editorial-furniture-nav:not([hidden]){position:absolute;display:flex;left:35%;top:calc(100% + 12px);padding:6px 14px;gap:12px;border:var(--brand-border-width) solid var(--nav-border);border-radius:var(--brand-radius-button);background:inherit;background:var(--glass-light-surface);color:var(--brand-plum);backdrop-filter:blur(var(--ds-glass-light-blur));}
 .editorial-furniture-nav button{font-size:12px;padding:6px 4px;white-space:nowrap;}
 .editorial-furniture-nav button[aria-current=true]{color:var(--brand-primary);}
 html body :is(#citta,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)),html body :is(#citta,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .urban-pin{background:var(--brand-white)!important;}
 #citta :is(.project-intro,.project-outro){background:var(--glass-dark-surface)!important;color:var(--brand-white)!important;}
 #citta :is(.project-intro,.project-outro) :is(p,h2,h3){color:inherit!important;}
 :is(#byat,.butera-window){padding:0!important;width:100%!important;left:0!important;right:0!important;overflow:hidden!important;}
 #byat{top:var(--ds-editorial-top)!important;bottom:var(--ds-editorial-bottom)!important;height:auto!important;max-height:none!important;}
 #mondo .journey-pin:has(.exterior-window[aria-hidden=false]){background:color-mix(in srgb,var(--brand-white) calc(var(--earth-reveal,0)*100%),var(--brand-plum))!important;}
 #mondo .journey-pin:has(.exterior-window[data-reveal-complete]) .world-visual{visibility:hidden!important;}
 :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .urban-pin{padding:var(--ds-editorial-top) 0 var(--ds-editorial-bottom)!important;gap:0!important;}
 :is(.exterior-track,.butera-track){padding:0 var(--ds-editorial-side)!important;gap:var(--ds-editorial-gap)!important;width:max-content!important;height:100%!important;}
 html body :is(.exterior-track,.butera-track)>.byat-panel{display:grid!important;grid-template-columns:minmax(0,var(--ds-editorial-copy-width)) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;column-gap:var(--ds-editorial-gap)!important;flex:0 0 calc(100vw - 2 * var(--ds-editorial-side))!important;width:calc(100vw - 2 * var(--ds-editorial-side))!important;min-width:0!important;max-width:none!important;height:100%!important;max-height:none!important;padding:var(--ds-editorial-padding)!important;background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;border:var(--brand-border-width) solid var(--ds-glass-light-border)!important;border-radius:var(--brand-radius)!important;box-shadow:none!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;overflow:hidden!important;}
 html body .exterior-track>.exterior-panel:first-child{background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;}
 :is(.exterior-panel,.butera-panel,.letter-panel)>.byat-copy{position:static!important;min-width:0!important;width:auto!important;height:100%!important;max-height:none!important;overflow-y:auto!important;padding:10px 6px!important;align-self:stretch!important;justify-content:safe center!important;gap:14px!important;}
 html body :is(.exterior-panel,.butera-panel,.letter-panel) .byat-copy,html body :is(.exterior-panel,.butera-panel,.letter-panel) .byat-copy :is(h2,h3,p,blockquote){color:var(--brand-plum)!important;}
 html body :is(.exterior-panel,.butera-panel,.letter-panel) .byat-copy :is(h2,h3){font-size:var(--ds-editorial-title-size)!important;line-height:1.06!important;}
 html body :is(.exterior-panel,.butera-panel,.letter-panel) .byat-copy p{font-size:var(--ds-editorial-body-size)!important;line-height:1.45!important;}
 :is(.exterior-panel,.butera-panel) .photo-gallery{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;height:100%!important;max-height:none!important;display:flex!important;flex-direction:column!important;gap:var(--ds-editorial-thumb-gap)!important;}
 :is(.exterior-panel,.butera-panel) .photo-stage{flex:1 1 0!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;position:relative!important;background:transparent!important;border-radius:var(--brand-radius-photo)!important;}
 :is(.exterior-panel,.butera-panel) .photo-slide{object-fit:contain!important;}
 .exterior-panel:first-child .photo-slide{object-fit:cover!important;}
 :is(.exterior-panel,.butera-panel) .photo-dots{display:none!important;}
 .exterior-panel .mobile-dynamic-caption{display:none!important;}
 .elevation-editorial .elevation-description{display:block!important;opacity:.7!important;padding-left:14px!important;border-left:var(--brand-border-width) solid var(--brand-muted)!important;}
 .elevation-editorial .elevation-description.is-active{opacity:1!important;color:var(--brand-primary)!important;border-color:var(--brand-primary)!important;}
 .plan-editorial .byat-copy>.editorial-desktop{border-left:var(--brand-border-width) solid var(--brand-muted);padding-left:14px;opacity:.7;}
 .plan-editorial .byat-copy>.is-editorial-active{color:var(--brand-primary)!important;border-color:var(--brand-primary)!important;opacity:1!important;}
 .letter-preview{grid-column:2!important;width:100%!important;height:100%!important;min-height:0!important;}
 .letter-preview img{height:100%!important;width:100%!important;object-fit:contain!important;}
}
@media(max-width:900px){
 .dynamic-island,.editorial-chat-label,.editorial-chat-arrow{display:none!important;}
 .v43-mobile-track{transform:none!important;}
 .v43-mobile-track>.v4-nav-node:nth-of-type(n+6){display:none!important;}
 .v44-mobile-research{background:var(--glass-dark-surface);border-radius:0 0 var(--brand-radius) var(--brand-radius);}
 .site-header[data-theme=light] .v44-mobile-research{background:var(--glass-light-surface);border-bottom:var(--brand-border-width) solid var(--nav-border);}
 .v44-research-surface,.v43-notch{display:none!important;}
 .site-header[data-theme=light] .v43-mobile-track>.v4-nav-node,.site-header[data-theme=light] .v44-mobile-research button{color:var(--brand-plum);}
 .v44-mobile-research button i{background:var(--nav-muted);}
 #v4-mobile-dock .v4-dock-center.has-carousel{width:var(--island-width)!important;transition:width .3s,background .3s;min-width:48px!important;max-width:calc(100vw - 180px)!important;background:var(--glass-dark-surface);border:var(--brand-border-width) solid var(--ds-glass-dark-border);border-radius:var(--brand-radius-button);color:var(--brand-white);height:48px!important;}
 #v4-mobile-dock .v4-dock-center.has-carousel>button{display:none!important;}
 #v4-mobile-dock .island-dots{padding:0 4px;}
 #v4-mobile-dock .island-dots button{width:22px;flex-basis:22px;}
 #v4-mobile-dock .v4-dock-actions{gap:2px!important;}
 #v4-mobile-dock :is(.v4-dock-chat,.v4-dock-menu){width:36px!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .urban-pin{background:var(--brand-white)!important;}
 .editorial-thumbnails{display:none!important;}
 :is(#byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .photo-gallery{background:none!important;}
}
@media(prefers-reduced-motion:reduce){.dynamic-island,.editorial-furniture-nav{transition:none!important;}}
@media(min-width:901px){
 html body #chat-launcher{display:none!important;}
 html body #chatbot-dock[data-mode=compact]{bottom:var(--ds-footer-inset)!important;right:var(--ds-header-inset)!important;width:280px!important;height:var(--ds-footer-height)!important;}
 html body #chatbot-dock[data-mode=compact] #chatbot-panel{height:var(--ds-footer-height)!important;min-height:0!important;border:var(--brand-border-width) solid var(--ds-glass-light-border)!important;border-radius:var(--brand-radius-button)!important;background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;box-shadow:var(--ds-glass-light-shadow)!important;}
 html body #chatbot-dock[data-mode=compact] #chatbot-form{height:100%!important;min-height:0!important;padding:4px 8px!important;background:transparent!important;color:inherit!important;}
 html body #chatbot-dock[data-mode=compact] #chatbot-input{color:var(--brand-plum)!important;background:none!important;}
 html body #chatbot-dock[data-mode=compact] #chatbot-input::placeholder{color:var(--brand-plum)!important;opacity:1;}
 html body #chatbot-dock[data-mode=compact] #chatbot-form>button{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;background:transparent!important;color:var(--brand-plum)!important;}
}

@media(min-width:901px){
 html body #byat .v42-epigraph,html body #byat .v42-epigraph *{color:var(--brand-plum)!important;}
 html body #byat .elevation-editorial .photo-stage,html body #byat .elevation-editorial .photo-slide{background:transparent!important;object-fit:contain!important;}
 html body .v4-desktop-rail .v43-research-capsule .v4-child.is-current .v4-node-dot{top:auto!important;bottom:1px!important;}
}

@media(min-width:901px){html body #mondo #byat .elevation-editorial .photo-gallery .photo-stage,html body #mondo #byat .elevation-editorial .photo-gallery .photo-slide{background-color:transparent!important;background-image:none!important;}}
@media(max-width:900px){html body .site-header .v43-mobile-track{width:100%!important;min-width:0!important;display:flex!important;}html body .site-header .v43-mobile-track>.v4-nav-node{flex:1 1 20%!important;width:20%!important;min-width:0!important;max-width:20%!important;}}

@media(min-width:901px){html body #mondo #byat .byat-copy .v42-epigraph :is(blockquote,p){color:var(--brand-plum)!important;}}
@media(min-width:901px){html body #mondo #byat .byat-panel,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.byat-panel{grid-template-columns:minmax(0,var(--ds-editorial-copy-width)) minmax(0,1fr)!important;}}
/* Token surfaces override legacy section-specific background declarations. */
html body :is(:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie),#citta,#mondo,#casa,#arredi,#chatbot-dock,#chatbot-section) [data-glass=dark][data-glass]{background:var(--glass-dark-surface)!important;}
html body :is(#casa,#arredi) [data-glass=light][data-glass]{background:var(--glass-light-surface)!important;}

:root{--furniture-card-height:calc(100svh - var(--ds-editorial-top) - var(--ds-editorial-bottom) - var(--ds-furniture-subnav-space));}
.furniture-card{position:relative;}
.furniture-visual{position:relative;height:100%;min-width:0;overflow:hidden;}
.furniture-visual>img{display:block;width:100%;height:100%;object-fit:cover!important;}
.furniture-toggle{position:absolute;right:16px;top:16px;z-index:4;width:40px;height:40px;border:var(--brand-border-width) solid var(--ds-glass-dark-border);border-radius:50%;color:var(--brand-white);background:var(--glass-dark-surface);font-size:22px;cursor:pointer;}
.furniture-details{padding:clamp(22px,2.5vw,42px);display:flex;flex-direction:column;gap:18px;color:var(--brand-white);min-width:0;min-height:0;overflow-y:auto;}
.furniture-details[hidden]{display:none!important;}
.furniture-details h3{font-size:var(--ds-editorial-title-size);line-height:1.08;padding-right:28px;margin:20px 0 0;}
.furniture-details p{font-size:var(--ds-editorial-body-size);line-height:1.6;margin:0;}
.furniture-details .furniture-category{opacity:.65;}
.furniture-description{display:grid;gap:20px;}
.furniture-thumbnails{display:flex;gap:8px;overflow-x:auto;flex-shrink:0;margin-top:auto;padding-top:14px;border-top:var(--brand-border-width) solid var(--ds-glass-dark-border);}
.furniture-thumbnails button{padding:2px;flex:0 0 60px;height:76px;border:var(--brand-border-width) solid transparent;background:transparent;border-radius:8px;overflow:hidden;}
.furniture-thumbnails button[aria-pressed=true]{border-color:var(--brand-primary);}
.furniture-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;}
.furniture-card.is-expanded .project-card-label{display:none!important;}
@media(min-width:901px){
 html body #arredi .furniture-pin{padding:calc(var(--ds-editorial-top) + var(--ds-furniture-subnav-space)) 0 var(--ds-editorial-bottom)!important;gap:0!important;height:100svh!important;}
 html body #arredi .gallery-window{height:var(--furniture-card-height)!important;max-height:none!important;padding:0!important;width:100vw!important;overflow:hidden!important;}
 html body #arredi .gallery-track{padding:0 var(--ds-editorial-side)!important;gap:var(--ds-editorial-gap)!important;align-items:center!important;height:100%!important;}
 html body #arredi .gallery-track>:is(.furniture-lead,.furniture-card){flex:none!important;height:100%!important;max-height:none!important;transform:scale(var(--ds-furniture-inactive-scale));transform-origin:center;transition:transform .25s;}
 html body #arredi .gallery-track>.is-furniture-selected{transform:scale(1)!important;}
 html body #arredi .gallery-track>.furniture-lead{width:clamp(330px,30vw,510px)!important;padding:clamp(28px,3vw,48px)!important;justify-content:center!important;background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;border:var(--brand-border-width) solid var(--ds-glass-light-border)!important;border-radius:var(--brand-radius)!important;}
 html body #arredi .furniture-lead h2{font-size:clamp(38px,4.2vw,72px)!important;line-height:1.02!important;}
 html body #arredi .furniture-lead p{font-size:clamp(15px,1.25vw,21px)!important;line-height:1.55!important;}
 html body #arredi .gallery-track>.furniture-card{width:clamp(300px,calc(var(--furniture-card-height)*var(--furniture-ratio,.65)),600px)!important;min-width:0!important;padding:0!important;background:var(--brand-plum)!important;border-radius:var(--brand-radius-photo)!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;cursor:pointer;}
 html body #arredi .gallery-track>.furniture-card.is-expanded{width:min(88vw,calc(var(--furniture-card-height)*var(--furniture-ratio,.65) + var(--ds-furniture-copy-width)))!important;grid-template-columns:minmax(0,1fr) minmax(300px,var(--ds-furniture-copy-width))!important;}
 html body #arredi .furniture-visual .project-card-label{position:absolute;inset:auto 0 0;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--brand-white);background:linear-gradient(transparent,color-mix(in srgb,var(--brand-plum) 72%,transparent));}
 html body #arredi .project-card-label>span:first-child{font-size:clamp(22px,2vw,32px)!important;}
 html body #arredi .gallery-open{font-size:13px!important;border:0!important;border-bottom:var(--brand-border-width) solid currentColor!important;border-radius:0!important;padding:0 0 5px!important;}
 .mobile-furniture-explore{display:none!important;}
}
@media(max-width:900px){
 html body #arredi .furniture-card>.furniture-visual{height:100%;}
 html body #arredi .furniture-card.is-expanded{overflow-y:auto!important;display:block!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-visual{height:56%;min-height:240px;}
 .furniture-details{padding:22px;gap:16px;overflow:visible;}
 .furniture-details h3{font-size:30px;margin-top:0;}.furniture-details p{font-size:14px;}
 .furniture-thumbnails{margin-top:12px;}
 .furniture-toggle{width:34px;height:34px;right:12px;top:12px;}
}
@media(prefers-reduced-motion:reduce){#arredi .gallery-track>*{transition:none!important;}}

body:has(.site-header.has-furniture-subnav) #skip-animation{display:none!important;}

/* Shared chrome and viewport sizing for the desktop/mobile review. */
/* Header and desktop Dynamic Island consume the same Glass chiaro tokens; OMNI edits both in sync. */
html body .site-header[data-theme]{--nav-ink:var(--brand-plum);--nav-muted:color-mix(in srgb,var(--brand-plum) 40%,var(--brand-white));--nav-border:var(--ds-glass-light-border);background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;border-color:var(--ds-glass-light-border)!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;-webkit-backdrop-filter:blur(var(--ds-glass-light-blur))!important;box-shadow:var(--ds-glass-light-shadow)!important;}
html body .site-header .v4-brand img{filter:none!important;}
html body .site-header :is(.v44-mobile-research,.editorial-furniture-nav){background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;-webkit-backdrop-filter:blur(var(--ds-glass-light-blur))!important;}
html body .site-header .v44-mobile-research button{color:var(--nav-muted)!important;}
html body .site-header .v44-mobile-research button.is-passed{color:var(--brand-plum)!important;}
html body .site-header .v44-mobile-research button.is-current{color:var(--brand-primary)!important;}
.site-header .timeline-segments{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;}
.timeline-segments line{stroke:var(--nav-muted);stroke-width:1.5;}
.timeline-segments line.is-passed{stroke:var(--brand-plum);}
.timeline-segments line.is-current{stroke:var(--brand-primary);}
html body .site-header .v4-nav-node{border-right:0!important;}
html body #chatbot-section{background:var(--brand-white)!important;padding:0!important;}
html body #chatbot-section-slot{box-sizing:border-box;height:100dvh!important;padding:var(--ds-editorial-top) var(--ds-editorial-side) var(--ds-editorial-bottom)!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel[data-glass]{height:100%!important;min-height:0!important;max-width:none!important;margin:0!important;background:var(--brand-white)!important;color:var(--brand-plum)!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel :is(.chatbot-header,#chatbot-form,.chatbot-footer){padding-inline:0!important;border:0!important;background:transparent!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-messages{max-width:none!important;padding:clamp(12px,2vh,24px) 0!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) .chatbot-message{background:transparent!important;color:var(--brand-plum)!important;padding:0!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) .chatbot-message.user{background:color-mix(in srgb,var(--brand-primary) 15%,var(--brand-white))!important;padding:12px 16px!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) .chatbot-message small,html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel .chatbot-disclaimer{color:color-mix(in srgb,var(--brand-plum) 65%,var(--brand-white))!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel button{color:var(--brand-plum)!important;border:0!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel .chatbot-actions button,html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-form>button{background:var(--brand-primary)!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-input{background:color-mix(in srgb,var(--brand-plum) 6%,var(--brand-white))!important;color:var(--brand-plum)!important;border:0!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-input::placeholder{color:color-mix(in srgb,var(--brand-plum) 60%,var(--brand-white))!important;}
html body :is(#mondo #byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-panel{padding:0!important;}
html body :is(.exterior-panel,.butera-panel) .photo-gallery{padding:0!important;gap:0!important;}
html body :is(.exterior-panel,.butera-panel) .photo-stage{border-radius:0!important;}
html body :is(.exterior-panel,.butera-panel):not(.plan-editorial):not(.elevation-editorial) .photo-slide{width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;}
@media(min-width:901px){
 html body .site-header[data-theme]{left:var(--ds-editorial-side)!important;right:var(--ds-editorial-side)!important;width:auto!important;}
 html body #chatbot-dock[data-mode=compact],html body #chatbot-dock[data-mode=popup]{right:var(--ds-editorial-side)!important;left:auto!important;}
 html body :is(#mondo #byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-copy{padding:var(--ds-editorial-padding)!important;}
 html body :is(#mondo #byat,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-panel{column-gap:0!important;}
 html body #byat .editorial-thumbnails{padding:12px;}
}
@media(max-width:900px){
 :root{--review-gap:clamp(8px,1.6dvh,16px);--review-top:calc(var(--ds-mobile-header-height) + var(--review-gap) + env(safe-area-inset-top));--review-bottom:calc(78px + env(safe-area-inset-bottom));}
 html body :is(#citta,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-top:var(--review-top)!important;--panel-bottom:var(--review-bottom)!important;--mobile-panel-height:calc(100dvh - var(--panel-top) - var(--panel-bottom))!important;}
 html body :is(#citta,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .urban-pin{height:100dvh!important;min-height:0!important;padding:var(--panel-top) 0 var(--panel-bottom)!important;gap:0!important;--board-height:var(--mobile-panel-height)!important;}
 html body #citta .board-window,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-window{height:var(--mobile-panel-height)!important;max-height:none!important;flex:0 0 var(--mobile-panel-height)!important;}
 html body #citta :is(.board-track,.project-intro,.project-outro,.project-board){height:var(--mobile-panel-height)!important;max-height:none!important;min-height:0!important;}
 html body #citta :is(.project-intro,.project-outro){overflow:visible!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-panel{overflow:hidden!important;gap:0!important;}
 html body :is(.exterior-panel,.butera-panel) .byat-copy{padding:clamp(10px,2.7vw,18px)!important;gap:clamp(5px,1dvh,10px)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy :is(h2,h3){font-size:clamp(21px,5.6vw,34px)!important;line-height:1.05!important;margin:0 0 .35em!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy p{font-size:clamp(12px,3.2vw,16px)!important;line-height:1.38!important;margin:.45em 0!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy .project-meta{font-size:clamp(10px,2.5vw,13px)!important;}
 html body :is(.exterior-panel,.butera-panel) .photo-gallery{flex:1 1 0!important;min-height:0!important;}
 html body :is(#mondo .exterior-panel,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel) .photo-stage{min-height:0!important;}
 html body #chatbot-section-slot{padding:var(--review-top) var(--page-margin) var(--review-bottom)!important;height:100dvh!important;}
 html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) .chatbot-header{padding-top:0!important;padding-bottom:12px!important;}
 html.chat-keyboard-open body #chatbot-section-slot{height:var(--chat-inline-height)!important;padding-top:8px!important;padding-bottom:8px!important;}
}
@media(max-width:900px) and (max-height:600px) and (orientation:landscape){
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-panel{display:grid!important;grid-template-columns:1fr 1fr!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy{overflow-y:auto!important;}
 html body #citta .project-intro{width:calc(100vw - 2 * var(--page-margin))!important;}
}
/* Playback and scrolling occupy a single morphing island. */
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center){transition:width .42s cubic-bezier(.2,.8,.2,1),max-width .42s cubic-bezier(.2,.8,.2,1),border-radius .42s,background .3s!important;}
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center)[data-mode=earth]>:not(#earth-autoplay-control),html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center)[data-mode=hold]>:not(#hold-animation){display:none!important;}
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center)[data-mode=carousel]>:not(.island-dots){display:none!important;}
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center)[data-mode=scroll]>.island-dots{display:none!important;}
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center) :is(#earth-autoplay-control,#hold-animation):not([hidden]){position:static!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:7px 12px!important;border:0!important;border-radius:inherit!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;color:var(--brand-plum)!important;}
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center) :is(#earth-autoplay-control,#hold-animation)>span{display:block!important;font:500 13px/1.2 var(--brand-font)!important;}
html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center) #earth-autoplay-control>svg{display:block!important;flex:0 0 24px!important;width:24px!important;height:24px!important;color:var(--brand-primary)!important;animation:none!important;}
html body .dynamic-island[data-mode=scroll] #page-scroll-indicator{visibility:visible!important;}
html body .dynamic-island :is(#earth-autoplay-control,#hold-animation)[hidden]{display:none!important;}
html body #mondo .journey-note.project-note{padding-right:58px!important;transition:height .35s,padding .35s!important;}
html body #mondo .journey-note.project-note .v4-note-minimize{display:grid!important;place-items:center;position:absolute;top:8px;right:8px;width:36px;height:36px;border:1px solid var(--brand-border);border-radius:50%;background:transparent;color:var(--brand-white);font:400 24px/1 var(--brand-font);cursor:pointer;}
html body #mondo .journey-note.project-note.v4-note-compact{width:var(--note-width)!important;max-width:var(--note-width)!important;min-width:0!important;min-height:54px!important;max-height:none!important;padding:10px 58px 10px 18px!important;border-radius:var(--brand-radius)!important;}
html body #mondo .journey-note.project-note.v4-note-compact>p{display:none!important;}
html body #mondo .journey-note.project-note .v4-note-mini{border:0!important;background:transparent!important;color:var(--brand-white)!important;font:500 clamp(14px,1.5vw,20px)/1.3 var(--brand-font)!important;text-align:left;min-height:34px;padding:0!important;}
html body #mondo .journey-note.project-note.v4-note-compact .v4-note-mini{display:flex!important;align-items:center;justify-content:flex-start!important;}
html body #mondo .journey-note.project-note .v4-note-mini[hidden]{display:none!important;}
html body #chatbot-dock[data-mode=popup] #chatbot-panel{height:auto!important;min-height:0!important;max-height:calc(100dvh - 150px)!important;border-radius:var(--brand-radius)!important;padding:20px!important;box-shadow:0 12px 48px #210e1626!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel :is(.chatbot-header,.chatbot-header strong,.chatbot-message,.chatbot-media-message,.chatbot-footer){color:var(--brand-plum)!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel .chatbot-message :is(p,a,strong){color:inherit!important;}
html body :is(#chatbot-section,#chatbot-dock[data-mode=popup]) #chatbot-panel #chatbot-input{background:color-mix(in srgb,var(--brand-plum) 6%,var(--brand-white))!important;}
html body #mondo #byat .exterior-panel:first-child{background:var(--glass-light-surface)!important;border-color:var(--ds-glass-light-border)!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;}
html body #mondo #byat .byat-copy :is(h2,.byat-panel-subtitle){opacity:1!important;}
html body #mondo #byat .byat-copy .bayt-accent{color:var(--brand-primary)!important;opacity:1!important;}
html body :is(#byat,#casa) :is(.is-editorial-active,.elevation-description.is-active,.interior-description-label){color:var(--brand-primary)!important;opacity:1!important;}
html body :is(#byat,#casa) :is(.is-editorial-active,.elevation-description,.interior-description-label) strong{font-weight:700!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-panel>.byat-copy{padding:clamp(12px,2vw,28px)!important;box-sizing:border-box!important;}
@media(min-width:901px){
 html body #mondo #byat .plan-editorial .photo-stage :is(.photo-slide,.plan-comparison>img){object-fit:cover!important;}
 html body #casa:not(.is-minimized) .byat-window{top:var(--ds-editorial-top)!important;width:100%!important;height:calc(100dvh - var(--ds-editorial-top) - var(--ds-editorial-bottom))!important;max-height:none!important;padding:0 var(--ds-editorial-side)!important;box-sizing:border-box!important;}
 html body #casa:not(.is-minimized) .byat-track{width:100%!important;height:100%!important;padding:0!important;}
 html body #casa:not(.is-minimized) #interni{display:grid!important;grid-template-columns:minmax(0,var(--ds-editorial-copy-width)) minmax(0,1fr)!important;gap:0!important;width:100%!important;height:100%!important;max-height:none!important;padding:0!important;overflow:hidden!important;}
 html body #interni .byat-copy{padding:var(--ds-editorial-padding)!important;width:auto!important;height:100%!important;box-sizing:border-box;overflow:auto!important;}
 html body #interni .photo-gallery{height:100%!important;width:100%!important;min-width:0;display:flex!important;flex-direction:column!important;gap:0!important;padding:0!important;}
 html body #interni .photo-stage{flex:1!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important;}
 html body #interni .photo-slide{object-fit:cover!important;width:100%!important;height:100%!important;}
 html body #interni .photo-dots{position:absolute!important;bottom:8px!important;right:12px!important;}
}
@media(max-width:900px){
 html body #v4-mobile-dock .v4-dock-center:is([data-mode=earth],[data-mode=hold]){width:clamp(116px,40vw,205px)!important;min-width:0!important;max-width:calc(100vw - 154px)!important;background:var(--brand-white)!important;border-radius:28px!important;}
 html body #v4-mobile-dock .v4-dock-center :is(#earth-autoplay-control,#hold-animation)>span{font-size:clamp(10px,2.6vw,13px)!important;}
 html body #v4-mobile-dock .v4-dock-center #earth-autoplay-control>svg{flex-basis:20px!important;width:20px!important;height:20px!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-panel>.photo-gallery{flex:1 1 0!important;min-height:0!important;height:0!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-panel .photo-stage{height:100%!important;min-height:0!important;}
 html body #citta .board-window{padding-left:var(--page-margin)!important;scroll-padding-left:var(--page-margin);}
}
@media(prefers-reduced-motion:reduce){html body :is(.dynamic-island,#v4-mobile-dock .v4-dock-center,#mondo .journey-note.project-note){transition:none!important;}}
html body .plan-comparison .comparison-expand{position:absolute;right:12px;top:12px;z-index:8;padding:10px 14px;min-height:44px;border:0;border-radius:22px;background:var(--brand-white);color:var(--brand-plum);cursor:pointer;}
html body .portfolio-lightbox .viewer-comparison-overlay{pointer-events:none;z-index:1;}
html body .portfolio-lightbox .viewer-comparison-overlay[hidden],html body .portfolio-lightbox .viewer-comparison-control[hidden]{display:none!important;}
html body .portfolio-lightbox footer:has(.viewer-comparison-control:not([hidden])){height:84px!important;flex-direction:column;gap:8px;padding:8px 16px;}
.viewer-comparison-control{display:flex;gap:14px;align-items:center;width:min(560px,85vw);color:var(--brand-white);}
.viewer-comparison-control input{flex:1;min-width:0;accent-color:var(--brand-primary);height:30px;}
html body .portfolio-lightbox .v42-viewer-arrow{z-index:3!important;}
html body #arredi .furniture-card .furniture-photo-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border:0;border-radius:50%;background:var(--brand-white);color:var(--brand-plum);font:400 30px/1 var(--brand-font);cursor:pointer;}
html body #arredi .furniture-card.is-expanded .furniture-photo-arrow{display:grid;place-items:center;}
.furniture-photo-arrow.prev{left:12px;}.furniture-photo-arrow.next{right:12px;}
html body #arredi .furniture-details{transition:opacity .35s ease,translate .45s cubic-bezier(.2,.8,.2,1);}
html body #arredi .furniture-card:not(.is-expanded) .furniture-details{opacity:0;translate:-24px 0;pointer-events:none;}
html body #arredi .furniture-card.is-expanded .furniture-details{opacity:1;translate:0;}
@media(min-width:901px){
 html body #arredi .gallery-track>.furniture-card{transition:width .45s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1)!important;grid-template-columns:minmax(0,1fr) 0!important;}
 html body #arredi .gallery-track>.furniture-card.is-expanded{grid-template-columns:minmax(0,1fr) minmax(300px,var(--ds-furniture-copy-width))!important;}
 html body #arredi .gallery-track>.furniture-card:hover{transform:scale(1)!important;}
 html body #arredi .furniture-details{min-width:0!important;}
}
@media(prefers-reduced-motion:reduce){html body #arredi .gallery-track>.furniture-card,html body #arredi .furniture-details{transition:none!important;}}
html body .site-header[data-theme] .v4-header .v4-brand img{filter:none!important;opacity:1!important;visibility:visible!important;}
html body #chatbot-section #chatbot-panel #chatbot-messages,html body #chatbot-dock[data-mode=popup] #chatbot-panel #chatbot-messages{padding:16px 0!important;margin:0!important;max-width:none!important;}
html body #chatbot-section #chatbot-panel .chatbot-message,html body #chatbot-dock[data-mode=popup] #chatbot-panel .chatbot-message{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;margin-left:0!important;}
html body #chatbot-section #chatbot-panel .chatbot-message.user,html body #chatbot-dock[data-mode=popup] #chatbot-panel .chatbot-message.user{padding:12px 16px!important;background:color-mix(in srgb,var(--brand-primary) 15%,var(--brand-white))!important;margin-left:auto!important;}
html body #mondo #byat .exterior-panel:first-child .byat-copy,html body #mondo #byat .exterior-panel:first-child .byat-copy :is(p,blockquote){color:var(--brand-plum)!important;opacity:1!important;}
html body #mondo #byat .exterior-panel:first-child .byat-copy :is(h2,.bayt-accent){color:var(--brand-primary)!important;}
@media(min-width:901px){html body #casa:not(.is-minimized) .byat-pin>.byat-window{position:absolute!important;top:var(--ds-editorial-top)!important;bottom:var(--ds-editorial-bottom)!important;height:auto!important;min-height:0!important;}}
@media(max-width:900px){
 html body #mondo #byat .exterior-panel:first-child .byat-copy{padding:clamp(12px,3vw,20px)!important;}
 html body #mondo #byat .exterior-panel:first-child .photo-gallery{height:0!important;min-height:0!important;flex:1 1 0!important;}
 html body #mondo #byat .exterior-panel:first-child .photo-stage{height:100%!important;min-height:0!important;}
 html body #v4-mobile-dock .v4-dock-center #earth-autoplay-control>span{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;}
}
html body #chatbot-dock[data-mode=popup] #chatbot-panel[data-glass]{height:min(620px,calc(100dvh - 150px))!important;min-height:0!important;border-radius:var(--brand-radius)!important;}
html body #chatbot-dock[data-mode=popup] #chatbot-panel .chatbot-body{flex:1 1 0!important;min-height:0!important;}
html body .site-header .v43-research-capsule{border-bottom:0!important;}
html body .site-header .v43-research-capsule::after{display:none!important;}
html body #mondo .journey-note.project-note{pointer-events:auto!important;z-index:10!important;}
html body #mondo .journey-note.project-note :is(.v4-note-minimize,.v4-note-mini){pointer-events:auto!important;}
@media(min-width:901px){html body #citta .board-window{padding-inline:var(--ds-editorial-side)!important;}}
@media(max-width:900px){html body #citta .board-window{padding-inline:0!important;}}
/* Align editorial content with the original vertical page guides. */
@media(min-width:901px){
 html body{--page-margin:var(--ds-editorial-side);--content-left:var(--ds-editorial-side);--header-inset:var(--ds-editorial-side);--gutter:var(--ds-editorial-side);}
 html body #mondo #byat .plan-editorial .photo-stage :is(.photo-slide,.plan-comparison>img){object-fit:contain!important;}
 html body #byat .plan-editorial .editorial-thumbnails{padding:4px!important;gap:10px!important;}
 html body #byat .plan-editorial .editorial-thumbnails button{flex:0 1 110px!important;}
 html body #byat .plan-editorial .editorial-thumbnails img{height:clamp(32px,4vh,48px)!important;}
 html body #byat .plan-editorial .editorial-thumbnails span{padding-top:3px!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.letter-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
}
html body :is(#byat .exterior-panel:first-child,#interni) .photo-gallery{position:relative!important;}
html body :is(#byat .exterior-panel:first-child,#interni) .photo-dots{display:flex!important;position:absolute!important;left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%)!important;width:max-content!important;max-width:calc(100% - 32px)!important;z-index:9!important;gap:6px!important;padding:6px 10px!important;margin:0!important;border-radius:30px!important;background:color-mix(in srgb,var(--brand-plum) 70%,transparent)!important;}
html body :is(#byat .exterior-panel:first-child,#interni) .photo-dots button{display:block!important;flex:0 0 24px!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border:7px solid transparent!important;background:var(--brand-white)!important;background-clip:content-box!important;border-radius:50%!important;padding:0!important;opacity:.75!important;}
html body :is(#byat .exterior-panel:first-child,#interni) .photo-dots button[aria-pressed=true]{background-color:var(--brand-primary)!important;opacity:1!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel>.byat-copy{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:hidden!important;gap:8px!important;min-height:0!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel h2{font-size:clamp(22px,2.5vw,40px)!important;margin:0!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel .render-kicker{margin:0!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-preview{position:relative!important;display:block!important;flex:1 1 0!important;min-height:0!important;width:100%!important;height:0!important;padding:0!important;border:0!important;background:transparent!important;cursor:zoom-in;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-preview img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-preview span{position:absolute;bottom:8px;right:8px;padding:8px 12px;border-radius:20px;background:var(--brand-white);color:var(--brand-plum);}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-project-photo{grid-column:2;grid-row:1;display:block;width:100%;height:100%;min-height:0;object-fit:contain;}
html body #chatbot-panel #chatbot-form #chatbot-input{color:var(--brand-plum)!important;-webkit-text-fill-color:var(--brand-plum)!important;caret-color:var(--brand-plum)!important;}
html body #chatbot-panel #chatbot-form #chatbot-input::placeholder{color:color-mix(in srgb,var(--brand-plum) 60%,var(--brand-white))!important;-webkit-text-fill-color:currentColor!important;}
@media(max-width:900px){
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.letter-panel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel h2{font-size:clamp(18px,4vw,28px)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel .render-kicker{font-size:10px!important;}
 html body #casa:not(.is-minimized) .byat-window{padding-inline:var(--page-margin)!important;box-sizing:border-box!important;}
}
/* Preserve the uploaded 4:3 frame and the original plan proportions. */
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel:first-child .photo-slide:first-child{object-fit:contain!important;}
html body #mondo #byat .plan-editorial .photo-stage :is(.photo-slide,.plan-comparison>img){object-fit:contain!important;}
@media(max-width:900px){
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel>.byat-copy{height:100%!important;max-height:none!important;align-self:stretch!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel .letter-preview{flex:1 1 auto!important;height:100%!important;}
 html body #casa:not(.is-minimized) .byat-window{width:100%!important;left:0!important;margin:0!important;}
 html body #casa:not(.is-minimized) .byat-track{padding:0!important;width:100%!important;}
 html body #casa:not(.is-minimized) #interni{width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;}
}

/* Review 51: shared page guides, compact galleries and accessible mobile navigation. */
@media(min-width:901px){
 html body #citta .board-window{padding:0!important;width:100%!important;}
 html body #citta .board-track{padding-inline:var(--ds-editorial-side)!important;box-sizing:content-box!important;}
 html body #skip-animation{position:fixed!important;left:var(--ds-editorial-side)!important;right:auto!important;bottom:var(--ds-footer-inset)!important;height:var(--ds-footer-height)!important;min-height:var(--ds-footer-height)!important;padding:0 18px!important;margin:0!important;transform:none!important;box-sizing:border-box!important;display:flex;align-items:center;}
 html body #skip-animation[hidden]{display:none!important;}
 html body #chatbot-dock[data-mode=compact]{bottom:var(--ds-footer-inset)!important;height:var(--ds-footer-height)!important;box-sizing:border-box!important;}
 html body #v4-mobile-dock{display:none!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel>.byat-copy{display:flex!important;flex-direction:column!important;justify-content:safe center!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-project-photo{object-fit:cover!important;object-position:center!important;}
 html body #arredi .furniture-card.is-expanded .project-card-label{display:none!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial){height:min(100%,var(--drawing-height,100%))!important;align-self:center!important;}
}
html body #arredi .gallery-open{display:inline-flex!important;align-items:center!important;border:1px solid transparent!important;border-radius:var(--brand-radius-button)!important;padding:9px 14px!important;transition:background .2s,border-color .2s!important;}
html body #arredi .gallery-open:hover,html body #arredi .gallery-open:focus-visible{background:color-mix(in srgb,var(--brand-white) 18%,transparent)!important;border-color:var(--brand-white)!important;backdrop-filter:blur(12px);}
html body :is(.chatbot-lightbox,.portfolio-lightbox) .photo-dots button{position:relative!important;flex:0 0 28px!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;}
html body :is(.chatbot-lightbox,.portfolio-lightbox) .photo-dots button::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--brand-white) 35%,transparent);}
html body :is(.chatbot-lightbox,.portfolio-lightbox) .photo-dots button[aria-pressed=true]::after{background:var(--brand-primary);}
html body #arredi .furniture-photo-arrow{background:color-mix(in srgb,var(--brand-white) 18%,transparent)!important;backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--brand-white) 45%,transparent)!important;color:var(--brand-white)!important;width:34px!important;height:34px!important;}
@media(max-width:900px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass{padding:clamp(20px,5vw,30px)!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story{grid-template-columns:minmax(0,1fr) minmax(112px,35%)!important;gap:18px!important;align-items:center!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy .v4-mobile-profile{width:100%!important;max-width:170px!important;height:auto!important;aspect-ratio:1!important;grid-area:1/2!important;object-fit:cover!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-intro-mobile{font-size:clamp(14px,3.5vw,17px)!important;line-height:1.4!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story .hero-body-paragraph{font-size:clamp(14px,3.5vw,17px)!important;line-height:1.45!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{font-size:clamp(21px,5.3vw,30px)!important;line-height:1.17!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial){background:var(--brand-white)!important;color:var(--brand-plum)!important;height:auto!important;max-height:100%!important;align-self:center!important;overflow-y:auto!important;gap:0!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial) .byat-copy{color:var(--brand-plum)!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial) .byat-copy :is(h2,p){color:var(--brand-plum)!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial) .photo-gallery{display:flex!important;flex:0 0 auto!important;height:auto!important;min-height:0!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial) .photo-stage{flex:none!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:var(--drawing-ratio,1.42)!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial) .editorial-thumbnails{display:flex!important;order:1;gap:6px!important;padding:8px 12px!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial) .editorial-thumbnails button{flex:1!important;padding:4px!important;border-radius:10px!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial) .editorial-thumbnails img{height:40px!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial) .editorial-thumbnails span{font-size:10px!important;padding-top:3px!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial) .mobile-dynamic-caption{order:2!important;color:var(--brand-plum)!important;padding:8px 14px 16px!important;min-height:0!important;}
 html body #byat :is(.plan-editorial,.elevation-editorial) .photo-dots{display:none!important;}
 html body .site-header .v44-mobile-research{left:var(--page-margin)!important;width:calc(100% - 2 * var(--page-margin))!important;border:1px solid var(--ds-glass-light-border)!important;border-top:0!important;border-radius:0 0 24px 24px!important;height:54px!important;box-sizing:border-box;}
 html body .site-header .v44-mobile-research>svg,html body .site-header .v44-sub-divider{display:none!important;}
 html body .site-header .v44-mobile-research:not(.mobile-furniture-timeline) button{flex:0 0 50%!important;z-index:1;}
 html body .site-header .v44-mobile-research .v44-sub-line{display:block!important;left:calc(25% + 10px)!important;width:calc(50% - 20px)!important;top:13px!important;background:var(--nav-muted)!important;height:1px!important;}
 html body .site-header .v44-sub-line i{background:var(--brand-primary)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel{display:grid!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;grid-template-columns:minmax(0,1fr)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel>.byat-copy{height:100%!important;min-height:0!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;justify-content:safe center!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel>.photo-gallery{height:100%!important;min-height:0!important;grid-row:2!important;grid-column:1!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel .photo-slide{object-fit:cover!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.letter-panel{display:flex!important;flex-direction:column!important;background:var(--brand-white)!important;color:var(--brand-plum)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel>.byat-copy{width:100%!important;padding:18px!important;box-sizing:border-box!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel .byat-copy :is(h2,p){color:var(--brand-plum)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-panel h2{font-size:clamp(25px,6vw,38px)!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-project-photo{display:none!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-preview{width:100%!important;}
 html body #arredi .furniture-card.is-expanded .project-card-label{display:none!important;}
 html body #arredi .furniture-card>.furniture-visual{height:calc(100% - 42px)!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-visual{height:48%!important;min-height:210px!important;}
 html body #arredi .furniture-card>.furniture-thumbnails{display:flex!important;justify-content:center!important;align-items:center!important;gap:0!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 8px!important;border:0!important;overflow:hidden!important;}
 html body #arredi .furniture-thumbnails button{flex:0 1 28px!important;width:28px!important;height:30px!important;min-width:16px!important;border:0!important;background:none!important;display:grid!important;place-items:center;}
 html body #arredi .furniture-thumbnails button img{display:none!important;}
 html body #arredi .furniture-thumbnails button::after{content:'';width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--brand-white) 40%,transparent);}
 html body #arredi .furniture-thumbnails button[aria-pressed=true]::after{background:var(--brand-primary);outline:1px solid var(--brand-primary);outline-offset:3px;}
 html body #v4-mobile-dock :is(.v43-dock-home,.v4-dock-chat,.v4-dock-menu){display:grid!important;place-items:center!important;width:40px!important;height:40px!important;padding:7px!important;box-sizing:border-box!important;}
 html body #v4-mobile-dock :is(.v43-dock-home,.v4-dock-chat,.v4-dock-menu) svg{width:26px!important;height:26px!important;}
 html body #v4-mobile-dock :is(.v43-dock-home,.v4-dock-chat) .icon-filled{display:none!important;}
 html body #v4-mobile-dock :is(.v43-dock-home,.v4-dock-chat) .icon-wire{display:inline!important;}
 html.earth-gesture-lock body #mondo .journey-pin{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:none!important;z-index:3!important;overflow:hidden!important;}
 html.earth-gesture-lock body #mondo .world-visual{height:100dvh!important;min-height:100dvh!important;max-height:none!important;}
 html body #v4-mobile-dock .v4-dock-center #hold-animation svg{display:block!important;width:24px!important;height:24px!important;flex:0 0 24px!important;}
 #hold-animation[data-hint=up] svg{animation:hint-up 1.2s ease-in-out infinite!important;}
 #hold-animation[data-hint=left] svg{animation:hint-left 1.2s ease-in-out infinite!important;}
 #hold-animation[data-hint=hold] svg{animation:hint-press 1.2s ease-in-out infinite!important;}
}
@keyframes hint-up{50%{translate:0 -4px;}}@keyframes hint-left{50%{translate:-4px 0;}}@keyframes hint-press{50%{scale:.85;}}
@media(prefers-reduced-motion:reduce){#hold-animation svg{animation:none!important;}}
html body #mobile-sections{width:calc(100vw - 2 * var(--page-margin))!important;max-width:480px!important;max-height:calc(100dvh - 2 * var(--page-margin))!important;padding:20px!important;border-radius:28px!important;background:var(--brand-white)!important;color:var(--brand-plum)!important;border:1px solid var(--ds-glass-light-border)!important;overflow:auto!important;}
html body #mobile-sections>header{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px!important;border:0!important;color:var(--brand-plum)!important;}
html body #mobile-sections>header button{color:var(--brand-plum)!important;background:transparent!important;border:0!important;}
html body #mobile-sections nav{display:flex!important;flex-direction:column!important;gap:8px!important;overflow:visible!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;}
html body #mobile-sections nav::before,html body #mobile-sections nav::after{display:none!important;}
html body #mobile-sections .menu-section{position:relative;}
html body #mobile-sections nav a{position:relative!important;display:flex!important;align-items:center!important;gap:12px!important;border:0!important;background:transparent!important;color:var(--brand-plum)!important;margin:0!important;text-decoration:none!important;}
html body #mobile-sections nav a::before,html body #mobile-sections nav a::after{display:none!important;}
html body #mobile-sections .menu-main{min-height:44px!important;padding:8px 32px 8px 12px!important;font:500 17px/1.2 var(--brand-font)!important;border-radius:14px!important;}
html body #mobile-sections .menu-main:hover{background:color-mix(in srgb,var(--brand-plum) 5%,transparent)!important;}
.menu-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;}.menu-icon :is(svg,img){width:22px;height:22px;object-fit:contain;}
html body #mobile-sections .menu-dot{position:absolute;right:10px;top:18px;width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--brand-plum) 35%,transparent);}
html body #mobile-sections .menu-section:not(:nth-last-child(1))::after{content:'';position:absolute;right:13px;top:33px;bottom:-12px;width:1px;background:color-mix(in srgb,var(--brand-plum) 25%,transparent);}
html body #mobile-sections .menu-section.is-passed::after{background:var(--brand-plum);}
html body #mobile-sections .menu-section.is-current>.menu-main{color:var(--brand-primary)!important;}
html body #mobile-sections .menu-section.is-current .menu-dot{background:var(--brand-primary);}
.menu-chevron{margin-left:auto;font-size:20px;}
html body #mobile-sections .menu-children{margin:4px 30px 8px 22px;padding-left:16px;border-left:1px solid var(--brand-primary);}
html body #mobile-sections .menu-children[hidden]{display:none!important;}
html body #mobile-sections .menu-children a{font-size:14px!important;min-height:38px!important;padding:6px 12px!important;}
html body #mobile-sections .menu-contact>.menu-main{background:var(--brand-primary)!important;color:var(--brand-white)!important;border-radius:16px!important;margin-top:6px!important;}
.menu-languages{margin-top:20px;padding-top:16px;border-top:1px solid var(--brand-border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;}.menu-languages>span{margin-right:auto;}.menu-languages button{padding:8px 12px;border:1px solid var(--brand-border);border-radius:20px;background:transparent;color:var(--brand-plum);font:inherit;}.menu-languages button[aria-pressed=true]{border-color:var(--brand-primary);}.menu-languages button[aria-disabled=true]{opacity:.5;cursor:default;}.menu-languages small{flex-basis:100%;text-align:right;opacity:.6;}
html body #mobile-sections>header{background:transparent!important;margin:0!important;}
html body #mobile-sections>header :is(strong,button){color:var(--brand-plum)!important;}
html body #mobile-sections .language-flag{width:20px;height:14px;border-radius:2px;vertical-align:middle;}
html body #mobile-sections .menu-languages button{display:inline-flex;align-items:center;gap:6px;}
@media(max-width:900px){
 html body #arredi .furniture-card>.furniture-thumbnails{background:var(--brand-plum)!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial) .photo-stage{background:var(--brand-white)!important;}
 html body #mondo #byat :is(.plan-description,.elevation-mobile-description){color:var(--brand-plum)!important;opacity:1!important;}
 html body #mondo #byat :is(.plan-editorial,.elevation-editorial) .byat-copy .byat-panel-subtitle{color:var(--brand-primary)!important;}
}
@media(max-width:900px){
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel:first-child .photo-stage .photo-slide:first-child{object-fit:cover!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel .photo-gallery .photo-stage .photo-slide{height:100%!important;width:100%!important;padding:0!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .letter-preview img{object-position:center top!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass{max-height:calc(100dvh - 160px)!important;overflow-y:auto!important;}
}
@media(max-width:360px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass{padding:16px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) #hero-title{font-size:19px!important;line-height:1.15!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story{grid-template-columns:minmax(0,1fr) 104px!important;gap:12px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-mobile-story :is(.hero-intro-mobile,.hero-body-paragraph){font-size:13px!important;line-height:1.35!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{gap:12px!important;}
}
html body dialog.chatbot-lightbox .photo-dots button[aria-pressed],html body dialog.portfolio-lightbox .photo-dots button[aria-pressed]{background:transparent!important;border:0!important;border-radius:50%!important;}
html body #mobile-sections[open]{display:block!important;inset:0!important;margin:auto!important;height:fit-content!important;}
@media(max-width:900px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin{padding:84px var(--page-margin) 92px!important;height:100dvh!important;min-height:100dvh!important;box-sizing:border-box!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass{max-height:calc(100dvh - 176px)!important;}
}
@media(max-width:900px){
 html body #mondo #byat .exterior-panel.elevation-editorial .photo-gallery .photo-stage .photo-slide{background:var(--brand-white)!important;padding:0!important;}
 html body #v4-mobile-dock,html body #v4-mobile-dock.v5-has-skip{grid-template-columns:40px minmax(0,1fr) 80px!important;gap:8px!important;}
 html body #v4-mobile-dock .v4-dock-center[data-mode=carousel]{width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;}
 html body #v4-mobile-dock .v4-dock-center[data-mode=carousel] .island-dots{width:100%!important;max-width:100%!important;box-sizing:border-box;justify-content:center!important;padding:0 5px!important;}
 html body #v4-mobile-dock .island-dots button{flex:1 1 22px!important;min-width:12px!important;width:22px!important;}
 html body #v4-mobile-dock .v4-dock-actions{gap:0!important;}
 html body #v4-mobile-dock .v4-dock-center:is([data-mode=hold],[data-mode=earth]){width:100%!important;max-width:100%!important;}
}

/* Hero approved 2026-10-12: one editable body for all viewports.
   Preserve the editorial line breaks; profile is paired with the quote on mobile. */
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body {
 display:block!important;white-space:pre-line!important;margin:0!important;
 width:100%!important;max-width:none!important;align-self:stretch!important;
 font-size:clamp(17px,1.25vw,21px)!important;line-height:1.52!important;
 text-align:left!important;text-align-last:left!important;
 hyphens:none!important;-webkit-hyphens:none!important;
 word-break:normal!important;overflow-wrap:normal!important;
}
@media(min-width:901px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote > .v4-mobile-profile {display:none!important;}
}
@media(max-width:900px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass {
  max-height:none!important;overflow:visible!important;
 }
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:flex!important;flex-direction:column!important;gap:clamp(15px,3.5vw,22px)!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote {
  display:grid!important;grid-template-columns:minmax(0,1fr) clamp(86px,28vw,138px)!important;
  grid-template-rows:auto auto!important;align-items:center!important;
  column-gap:clamp(10px,3vw,20px)!important;row-gap:4px!important;
  width:100%!important;max-width:none!important;margin:0!important;
 }
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote #hero-title {
  grid-column:1!important;grid-row:1!important;min-width:0!important;
  align-self:end!important;margin:0!important;
  font-size:clamp(19px,5vw,29px)!important;line-height:1.16!important;
 }
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote .hero-attribution {
  grid-column:1!important;grid-row:2!important;justify-self:start!important;
  align-self:start!important;margin:7px 0 0!important;
 }
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote > .v4-mobile-profile {
  display:block!important;grid-column:2!important;grid-row:1 / 3!important;
  align-self:center!important;justify-self:center!important;
  width:100%!important;max-width:138px!important;height:auto!important;aspect-ratio:1!important;
  object-fit:cover!important;border-radius:50%!important;margin:0!important;float:none!important;
 }
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body {
  font-size:clamp(14px,3.6vw,17px)!important;line-height:1.5!important;
 }
}
@media(max-width:360px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote {grid-template-columns:minmax(0,1fr) 78px!important;gap:8px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote #hero-title {font-size:18px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body {font-size:14px!important;}
}

/* Website 2.0 — functionality pass. Scope is limited to mobile dock, the city outro and interior copy. */
/* The city conclusion is now located in the final card on BOTH desktop and mobile (14 October update). */
@media(max-width:900px){
 html body #citta .project-outro{display:flex!important;flex-direction:column!important;justify-content:safe center!important;gap:clamp(6px,1.3dvh,11px)!important;padding:clamp(15px,4vw,26px)!important;box-sizing:border-box!important;overflow-y:auto!important;overscroll-behavior-y:contain;scrollbar-width:thin;}
 html body #citta .project-outro>*{flex-shrink:0;}
 /* Keep the Dynamic Island entirely inside the middle dock column — including while morphing. */
 html body #v4-mobile-dock,html body #v4-mobile-dock.v5-has-skip{
   display:grid!important;grid-template-columns:40px minmax(0,1fr) 80px!important;
   column-gap:clamp(3px,1.5vw,8px)!important;align-items:center!important;
   isolation:isolate;
 }
 html body #v4-mobile-dock .v4-dock-skip{grid-column:1!important;grid-row:1!important;min-width:0!important;z-index:2;}
 html body #v4-mobile-dock .v4-dock-actions{grid-column:3!important;grid-row:1!important;display:flex!important;justify-content:flex-end!important;width:80px!important;min-width:0!important;z-index:2;}
 html body #v4-mobile-dock .v4-dock-center,
 html body #v4-mobile-dock:not(.v5-has-skip) .v4-dock-center{
   position:relative!important;grid-column:2!important;grid-row:1!important;
   left:auto!important;top:auto!important;transform:none!important;
   display:flex!important;align-items:center!important;justify-content:center!important;
   justify-self:stretch!important;width:100%!important;min-width:0!important;
   max-width:100%!important;box-sizing:border-box!important;
   height:48px!important;margin:0!important;overflow:hidden!important;
   transition:background .2s,border-radius .2s,opacity .18s!important;
 }
 html body #v4-mobile-dock .v4-dock-center[data-mode=carousel]{padding:0 clamp(2px,1vw,5px)!important;}
 html body #v4-mobile-dock .v4-dock-center[data-mode=carousel]>.island-dots{
   position:relative!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
   justify-content:center!important;gap:0!important;width:100%!important;min-width:0!important;
   max-width:100%!important;overflow:hidden!important;padding:0!important;box-sizing:border-box!important;
 }
 html body #v4-mobile-dock .v4-dock-center[data-mode=carousel] .island-dots button{
   flex:1 1 0!important;width:0!important;min-width:0!important;max-width:32px!important;
   padding:0!important;margin:0!important;box-sizing:border-box!important;
 }
 html body #v4-mobile-dock .v4-dock-center[data-mode=earth],
 html body #v4-mobile-dock .v4-dock-center[data-mode=hold]{background:var(--glass-light-surface)!important;border-radius:28px!important;}
 html body #v4-mobile-dock .v4-dock-center :is(#earth-autoplay-control,#hold-animation):not([hidden]){
   display:flex!important;position:relative!important;width:100%!important;min-width:0!important;
   height:100%!important;max-width:100%!important;overflow:hidden!important;
   box-sizing:border-box!important;padding:7px clamp(5px,1.6vw,12px)!important;gap:clamp(3px,.9vw,8px)!important;
 }
 html body #v4-mobile-dock .v4-dock-center :is(#earth-autoplay-control,#hold-animation)>span{
   display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;
   white-space:nowrap!important;font-size:clamp(9px,2.3vw,12px)!important;
 }
 html body #v4-mobile-dock .v4-dock-center :is(#earth-autoplay-control,#hold-animation)>svg{
   display:block!important;flex:0 0 18px!important;width:18px!important;height:18px!important;min-width:18px!important;
 }
}
/* Interior imagery remains original. Image selection now determines which original paragraph is shown. */
#interni .byat-copy>.interior-original-copy.interior-copy-inactive{display:none!important;}
#interni .byat-copy>.interior-original-copy.interior-copy-active{display:block!important;animation:interior-copy-appear .23s ease-out;}
@keyframes interior-copy-appear{from{opacity:.35;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){#interni .byat-copy>.interior-original-copy.interior-copy-active{animation:none!important;}}

/* Modifiche editoriali in revisione, 14 ottobre 2026.
   Il nodo di testo Home resta UNICO (portfolio-0046).
   I tre capoversi sono tre blocchi interni, non tre paragrafi DOM autonomi. */
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body {
  white-space:normal!important;
}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body > .hero-copy-segment {
  display:block;
}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body > .hero-copy-segment + .hero-copy-segment {
  margin-block-start:clamp(8px,.8vw,12px);
}
/* Il testo sui 32 alloggi è nell'ultima scheda, accanto a Esplora il progetto,
   su desktop e mobile. Non duplicarlo nel box introduttivo. */
html body #citta .project-outro > .project-outro-conclusion {
  display:block!important;
  font:inherit;
  line-height:1.46!important;
  font-size:clamp(13px,1.08vw,16px)!important;
  max-width:62ch;
  margin:0;
  min-height:0;
  flex:0 0 auto;
}
/* Non cambiare rapporti d'aspetto o crop della nuova immagine Tecniche. */
html body #approccio .approach-image img {object-fit:contain!important;}
@media (max-width:900px) {
  html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy > .hero-final-body > .hero-copy-segment + .hero-copy-segment {
    margin-block-start:clamp(6px,1.8vw,9px);
  }
  html body #citta .project-outro > .project-outro-conclusion {
    font-size:clamp(12px,3.45vw,15px)!important;
    line-height:1.43!important;
  }
}

/* Link al decreto ufficiale sulla sola prima frase della nota del premio. */
html body #citta .award-block .award-announcement-link {
  color:inherit;
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);
  text-underline-offset:.16em;
  text-decoration-thickness:1px;
  cursor:pointer;
}
html body #citta .award-block .award-announcement-link:hover,
html body #citta .award-block .award-announcement-link:focus-visible {
  text-decoration-color:currentColor;
}
html body #citta .award-block .award-announcement-link:focus-visible {
  outline:2px solid currentColor;
  outline-offset:3px;
}

/* BAYT Editorial · Interni, 14 Oct 2026
   The title is a single non-wrapping row across breakpoints; headings use brand tokens.
   One stable intro and one scene per photo, following the EXISTING photo dots. */
#byat .exterior-panel:first-child .bayt-section-heading,
#casa:not(.is-minimized) #interni .bayt-section-heading{
 display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important;
 align-items:baseline!important; justify-content:flex-start!important;
 gap:clamp(9px,1.1vw,18px)!important; width:100%; max-width:100%; min-width:0;
 white-space:nowrap!important; hyphens:none!important; letter-spacing:normal!important;
 padding:0!important; margin:0!important;
}
#byat .exterior-panel:first-child .bayt-section-heading>.bayt-section-brand,
#casa:not(.is-minimized) #interni .bayt-section-heading>.bayt-section-brand{
 color:var(--brand-primary)!important;
 font:inherit; font-size:inherit; line-height:inherit; letter-spacing:inherit;
 flex:0 1 auto; min-width:0;
}
#byat .exterior-panel:first-child .bayt-section-heading>.bayt-section-kind,
#casa:not(.is-minimized) #interni .bayt-section-heading>.bayt-section-kind{
 color:var(--brand-plum)!important; font-family:var(--brand-font);
 font-size:clamp(13px,1.14vw,19px)!important; font-weight:500!important;
 line-height:1.2!important; letter-spacing:0!important;
 flex:0 0 auto; text-transform:none!important; white-space:nowrap!important;
}
#casa:not(.is-minimized) #interni .byat-copy{
 min-width:0!important; min-height:0!important; display:flex!important;
 flex-direction:column!important; align-items:stretch!important;
 justify-content:safe center!important; gap:clamp(8px,1svh,15px)!important;
}
#interni .interior-editorial-intro,
#interni .interior-editorial-scenes{min-width:0;max-width:100%;}
#interni .interior-editorial-intro{flex:0 0 auto;}
#interni .interior-editorial-scenes{flex:0 0 auto;}
#interni .interior-editorial-subtitle{
 color:var(--brand-primary)!important; font-family:var(--brand-font);
 font-size:clamp(15px,1.1vw,20px)!important; font-weight:650!important;
 line-height:1.22!important; letter-spacing:normal!important;
 padding:0!important; margin:0 0 clamp(5px,.55vw,9px)!important;
}
#interni .interior-editorial-intro p,
#interni .interior-editorial-scene p{
 color:var(--brand-plum)!important; font-size:clamp(12px,.91vw,15px)!important;
 font-weight:400!important; line-height:1.48!important;
 margin:0!important; padding:0!important;
 text-wrap:pretty; hyphens:none; -webkit-hyphens:none;
}
#interni .interior-editorial-scene p + p{margin-top:clamp(7px,.8vw,12px)!important;}
#interni .interior-editorial-scene{min-width:0; flex-direction:column; gap:0!important;}
#interni .interior-editorial-scene[hidden],
#interni .interior-editorial-scene.is-inactive{display:none!important;}
#interni .interior-editorial-scene.is-active:not([hidden]){
 display:flex!important; animation:interior-editorial-fade .2s ease-out;
}
@keyframes interior-editorial-fade{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
 #byat .exterior-panel:first-child .bayt-section-heading,
 #casa:not(.is-minimized) #interni .bayt-section-heading{
  gap:clamp(7px,2.1vw,13px)!important;
  font-size:clamp(25px,6.5vw,34px)!important;
  line-height:1.07!important;
 }
 #byat .exterior-panel:first-child .bayt-section-heading>.bayt-section-kind,
 #casa:not(.is-minimized) #interni .bayt-section-heading>.bayt-section-kind{
  font-size:clamp(12px,3.45vw,16px)!important;
 }
 #casa:not(.is-minimized) #interni .byat-copy{gap:clamp(5px,.8svh,9px)!important;}
 #interni .interior-editorial-subtitle{font-size:clamp(13px,3.5vw,16px)!important;margin-bottom:4px!important;}
 #interni .interior-editorial-intro p,
 #interni .interior-editorial-scene p{
  font-size:clamp(11px,2.65vw,13px)!important;line-height:1.36!important;
 }
 #interni .interior-editorial-scene p + p{margin-top:6px!important;}
}
@media(max-width:900px) and (max-height:720px){
 #casa:not(.is-minimized) #interni .byat-copy{gap:4px!important;}
 #interni .interior-editorial-intro p,
 #interni .interior-editorial-scene p{font-size:11px!important;line-height:1.31!important;}
 #interni .interior-editorial-subtitle{font-size:13px!important;margin-bottom:3px!important;}
}
@media(prefers-reduced-motion:reduce){#interni .interior-editorial-scene.is-active:not([hidden]){animation:none!important;}}

/* BAYT exterior: minimal, isolated responsive normalization.
   Retain the original card's natural image size and no extra backdrop-filter.
   Do not set galleries or image frames to height:0 or force expensive blur.
   The first BAYT exterior card remains unmodified and is the reference. */
html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) {
  box-sizing: border-box !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  align-self: stretch !important;
  min-width: 0 !important;
}
html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .photo-gallery {
  min-width: 0 !important;
  min-height: 0 !important;
}
html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .photo-slide,
html body #mondo #byat .exterior-track > .exterior-panel.plan-editorial .plan-comparison > img {
  object-fit: contain !important;
  object-position: center !important;
}
@media (min-width: 901px) {
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) {
    display: grid !important;
    grid-template-columns: minmax(0,var(--ds-editorial-copy-width)) minmax(0,1fr) !important;
    grid-template-rows: minmax(0,1fr) !important;
    overflow: hidden !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .byat-copy {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .photo-gallery {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .photo-stage {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
}
@media (max-width: 900px) {
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: clamp(6px,1svh,12px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .byat-copy {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .photo-gallery {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 0 auto !important;
    height: auto !important;
    min-height: clamp(165px,28dvh,330px) !important;
    max-height: none !important;
    overflow: visible !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .photo-stage {
    position: relative !important;
    flex: 1 0 auto !important;
    height: clamp(165px,28dvh,330px) !important;
    min-height: clamp(165px,28dvh,330px) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .editorial-thumbnails {
    display: none !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .photo-dots {
    display: flex !important;
    position: absolute !important;
    bottom: 14px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    max-width: calc(100% - 32px) !important;
    z-index: 9 !important;
    gap: 6px !important;
    padding: 6px 10px !important;
    background: color-mix(in srgb,var(--brand-plum) 70%,transparent) !important;
    border-radius: 30px !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .photo-dots button {
    display: block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    border: 7px solid transparent !important;
    border-radius: 50% !important;
    background: var(--brand-white) !important;
    background-clip: content-box !important;
    opacity: .75 !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) .photo-dots button[aria-pressed=true] {
    background-color: var(--brand-primary) !important;
    opacity: 1 !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .mobile-dynamic-caption {
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-height: none !important;
    padding: 6px 12px 12px !important;
    margin: 0 !important;
    color: var(--brand-plum) !important;
  }
  html body #mondo #byat .exterior-track > .exterior-panel:is(.plan-editorial,.elevation-editorial) > .mobile-dynamic-caption p {
    color: inherit !important;
    font-size: clamp(11px,2.8vw,13px) !important;
    line-height: 1.4 !important;
  }
}

/* Version 3 release: shared typography, stable chrome and bounded editorial cards. */
html body .site-header:not([data-ready]){visibility:hidden!important;}
html body .site-header{color:var(--brand-plum)!important;background:var(--glass-light-surface)!important;border-color:var(--ds-glass-light-border)!important;backdrop-filter:blur(var(--ds-glass-light-blur))!important;-webkit-backdrop-filter:blur(var(--ds-glass-light-blur))!important;box-shadow:var(--ds-glass-light-shadow)!important;}
html body .site-header .v4-brand img{filter:none!important;}
html body .site-header .v4-header{color:var(--brand-plum)!important;}
html body .site-header[data-theme]{--nav-muted:color-mix(in srgb,var(--brand-plum) 65%,var(--brand-white));}
/* Geometry and timeline strokes settle together, without intermediate stretched rails. */
html body .site-header :is(.v4-desktop-rail,.v4-research-group,.v43-research-capsule,.v4-nav-node){transition-property:color,background-color,opacity!important;}
html body #mondo .journey-note.byat-note>p:first-child{flex-wrap:wrap!important;}
html body #mondo .journey-note.byat-note>p:first-child strong{font-size:var(--ds-editorial-title-size)!important;line-height:1.08!important;font-weight:var(--brand-heading-weight)!important;}
html body #mondo .journey-note.byat-note>p:first-child svg{width:1.6em!important;height:1.6em!important;}
.bayt-landscape-subtitle{flex-basis:100%;font-size:inherit;}
html body #interni .bayt-section-heading{font-size:var(--ds-editorial-title-size)!important;font-weight:var(--brand-heading-weight)!important;line-height:1.08!important;}
html body #interni .interior-editorial-intro[hidden]{display:none!important;}
html body #casa #interni .interior-editorial-subtitle,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .project-subtitle{font-size:clamp(16px,1.4vw,22px)!important;font-weight:600!important;line-height:1.25!important;color:var(--brand-primary)!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.byat-copy .project-subtitle{font-size:clamp(16px,1.4vw,22px)!important;font-weight:600!important;line-height:1.25!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.byat-copy .project-place{font-size:var(--ds-editorial-caption-size)!important;line-height:1.4!important;letter-spacing:.06em!important;}
html body #casa.is-minimized #interni>.photo-gallery{display:none!important;}
html body #approccio .approach-image img,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-panel:first-child .photo-stage .photo-slide:first-child{object-fit:cover!important;width:100%!important;height:100%!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.byat-panel{background:var(--glass-light-surface)!important;color:var(--brand-plum)!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy :is(h2,h3,p){color:var(--brand-plum)!important;}
html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy .project-subtitle{color:var(--brand-primary)!important;}
/* Adapt copy before enabling overflow. The script respects a readable minimum. */
html body :is(:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie),#mondo,#casa,#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) [data-copy-fit]{overflow-y:hidden!important;scrollbar-width:thin!important;scrollbar-color:var(--brand-primary) transparent!important;}
html body :is(:is(#inizio,#masterplan,#struttura,#costruzione,#tipologie),#mondo,#casa,#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) [data-copy-fit="overflow"]{overflow-y:auto!important;overscroll-behavior-y:contain;}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass[data-copy-fit]{overflow-y:hidden!important;}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass[data-copy-fit="overflow"]{overflow-y:auto!important;}
html body [data-copy-fit]::-webkit-scrollbar{width:5px;height:5px;}
html body [data-copy-fit]::-webkit-scrollbar-thumb{background:var(--brand-primary);border-radius:8px;}
html body [data-copy-fit]::-webkit-scrollbar-track{background:transparent;}
html body :is(#mondo,#casa,#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) [data-copy-fit] :is(p,blockquote){font-size:calc(var(--fit-base-size) * var(--fit-scale,1))!important;line-height:var(--fit-line,var(--fit-base-line))!important;}
html body [data-copy-fit] p.render-kicker{letter-spacing:.035em!important;}
html body #chatbot-section-slot{padding-bottom:24px!important;}
html body #chatbot-section #chatbot-panel{flex:1;max-height:none!important;height:100%!important;}
html body #chatbot-section .chatbot-body{flex:1 1 0!important;min-height:0!important;}
html body #chatbot-section #chatbot-messages{height:100%!important;max-height:none!important;box-sizing:border-box;}
@media(min-width:901px){
 html body #mondo #byat .exterior-panel:first-child>.byat-copy{gap:10px!important;}
 html body :is(.exterior-track,.butera-track)>.byat-panel{box-sizing:border-box!important;flex-basis:calc(var(--viewport-width,100vw) - 2 * var(--ds-editorial-side))!important;width:calc(var(--viewport-width,100vw) - 2 * var(--ds-editorial-side))!important;}
 html body #casa:not(.is-minimized) #interni .byat-copy{gap:6px!important;padding:14px!important;}
}
@media(min-width:901px) and (max-width:1200px){
 html body :is(#byat,#casa,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)) .byat-panel{--ds-editorial-copy-width:42%;}
 html body #byat .exterior-panel:first-child{--ds-editorial-copy-width:46%;}
 html body .site-header .v43-research-capsule .v4-node-label{white-space:normal!important;font-size:9px!important;line-height:1.1!important;max-width:100%!important;}
}
@media(max-width:900px){
 html body :is(#byat .exterior-panel,:is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-panel){box-sizing:border-box!important;width:calc(100vw - 2 * var(--page-margin))!important;flex-basis:calc(100vw - 2 * var(--page-margin))!important;}
 html body #casa:not(.is-minimized) #interni{display:flex!important;flex-direction:column!important;padding:14px!important;gap:10px!important;}
 html body #casa:not(.is-minimized) #interni>.byat-copy{flex:1 1 auto!important;height:auto!important;max-height:none!important;min-height:0!important;padding:0!important;justify-content:safe center!important;}
 html body #interni :is(.interior-editorial-intro,.interior-editorial-scene) p{font-size:12px!important;line-height:1.4!important;}
 html body #casa:not(.is-minimized) #interni>.photo-gallery{flex:0 0 26%!important;height:26%!important;min-height:100px!important;width:100%!important;max-height:none!important;}
 html body #casa:not(.is-minimized) #interni[data-interior-photo="0"]>.photo-gallery{flex-basis:20%!important;height:20%!important;}
 html body #casa:not(.is-minimized) #interni .photo-stage{height:100%!important;min-height:0!important;max-height:none!important;flex:1!important;aspect-ratio:auto!important;}
 html body #casa:not(.is-minimized) #interni .photo-slide{width:100%!important;height:100%!important;object-fit:cover!important;}
 html body #interni .bayt-section-heading{font-size:28px!important;}
 html body #interni .interior-editorial-subtitle{font-size:16px!important;}
 html body #arredi .furniture-card.is-expanded{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-visual{flex:0 0 36%!important;height:36%!important;min-height:100px!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-details{flex:1 1 auto!important;min-height:0!important;padding:14px!important;gap:8px!important;}
 html body #arredi .furniture-details h3{font-size:24px!important;margin:0!important;}
 html body #arredi .furniture-description{gap:8px!important;}
 html body #arredi .furniture-thumbnails{margin-top:0!important;padding-top:6px!important;min-height:44px;}
 html body #arredi .furniture-thumbnails button{height:44px!important;flex-basis:44px!important;}
 html body #chatbot-section-slot{padding-bottom:90px!important;}
}

@media(max-width:900px) and (max-height:720px){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin{padding:72px var(--page-margin) 82px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass{box-sizing:border-box!important;max-height:calc(100dvh - 154px)!important;padding:14px!important;align-self:center!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{gap:10px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy>.hero-final-body{font-size:12px!important;line-height:1.35!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote #hero-title{font-size:17px!important;line-height:1.1!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{grid-template-columns:minmax(0,1fr) 60px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-attribution{font-size:11px!important;}
}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .journey-pin .hero-glass{width:100%!important;max-width:none!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy{display:grid!important;grid-template-columns:32% minmax(0,1fr)!important;gap:16px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy>.hero-final-body{grid-column:2!important;grid-row:1!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .hero-copy>.v4-hero-quote{grid-column:1!important;grid-row:1!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote{display:block!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie) .v4-hero-quote>.v4-mobile-profile{width:52px!important;margin-top:8px!important;}
 html body #casa:not(.is-minimized) #interni,
 html body #mondo #byat .exterior-track>.exterior-panel,
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:10px!important;padding:10px!important;overflow:hidden!important;}
 html body #casa:not(.is-minimized) #interni>.byat-copy,
 html body #mondo #byat .exterior-track>.exterior-panel>.byat-copy,
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.byat-copy{height:100%!important;max-height:none!important;min-height:0!important;grid-column:1!important;grid-row:1!important;padding:0!important;}
 html body #casa:not(.is-minimized) #interni>.photo-gallery,
 html body #casa:not(.is-minimized) #interni[data-interior-photo="0"]>.photo-gallery,
 html body #mondo #byat .exterior-track>.exterior-panel>.photo-gallery,
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.photo-gallery{height:100%!important;max-height:none!important;min-height:0!important;grid-column:2!important;grid-row:1!important;}
 html body #mondo #byat .exterior-track>.exterior-panel .photo-stage{height:100%!important;min-height:0!important;}
 html body #arredi .furniture-card.is-expanded{display:grid!important;grid-template-columns:40% minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 36px!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-visual{grid-column:1!important;grid-row:1!important;height:100%!important;min-height:0!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-details{grid-column:2!important;grid-row:1 / 3!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-thumbnails{grid-column:1!important;grid-row:2!important;min-height:0!important;}
}


/* Compact desktop windows (including Full HD at OS scaling): typography only.
   Keep large desktop/mobile values and all carousel geometry/timing unchanged. */
@media (min-width:901px) and (max-width:1920px) and (max-height:1080px){
 html body main #mondo .world-copy,
 html body main #approccio .approach-copy{max-height:calc(100svh - 220px)!important;box-sizing:border-box;}
 html body #main :is(#mondo #byat,#casa #interni,#citta,#approccio,#mondo,#palazzo-butera,.parco-chapter) [data-copy-fit] :is(p,blockquote){
  font-size:calc(var(--fit-base-size) * var(--fit-scale,1))!important;
  line-height:var(--fit-line,var(--fit-base-line))!important;
 }
 html body #main :is(#mondo #byat,#casa #interni,#citta,#approccio,#mondo,#palazzo-butera,.parco-chapter) [data-copy-fit] :is(h2,h3){font-size:calc(var(--fit-heading-size) * var(--fit-scale,1))!important;}
 html body #main :is(.project-intro,.project-outro,.byat-copy,.world-copy,.approach-copy)[data-copy-fit]{padding-block:calc(var(--fit-padding-block) * (2 * var(--fit-scale,1) - 1))!important;row-gap:calc(var(--fit-gap) * (4 * var(--fit-scale,1) - 3))!important;}
}

/* Shared gallery chrome and measured mobile reading areas. */
html,html body,html body *{scrollbar-color:var(--brand-primary) transparent!important;}
html::-webkit-scrollbar,html body ::-webkit-scrollbar{width:6px;height:6px;}
html::-webkit-scrollbar-thumb,html body ::-webkit-scrollbar-thumb{background:var(--brand-primary)!important;border-radius:999px;}
html::-webkit-scrollbar-track,html body ::-webkit-scrollbar-track{background:transparent!important;}
html::-webkit-scrollbar-button,html body ::-webkit-scrollbar-button{display:none!important;width:0;height:0;}
html body #chatbot-panel .chatbot-disclaimer [data-cb=copy]{display:inline-flex!important;align-items:center;justify-content:center;min-height:36px!important;padding:4px 12px!important;margin:3px 0 3px 8px!important;border:1px solid var(--brand-primary)!important;border-radius:var(--brand-radius-button)!important;background:color-mix(in srgb,var(--brand-primary) 12%,transparent)!important;color:var(--brand-plum)!important;font:600 12px/1.2 var(--brand-font)!important;vertical-align:middle;cursor:pointer;white-space:nowrap;}
html body #chatbot-panel .chatbot-footer:has(#chatbot-status:empty){display:none!important;}
html body dialog.portfolio-lightbox{box-sizing:border-box!important;width:calc(100vw - 2 * var(--ds-editorial-side))!important;height:calc(100dvh - 2 * var(--ds-header-inset))!important;max-width:none!important;max-height:none!important;overflow:hidden!important;margin:auto!important;padding:12px!important;}
html body .portfolio-lightbox[open]{display:flex!important;flex-direction:column!important;gap:8px!important;}
html body .portfolio-lightbox .lightbox-canvas{flex:1 1 0!important;min-width:0!important;min-height:0!important;width:100%!important;touch-action:none!important;}
html body .portfolio-lightbox footer{position:static!important;display:flex!important;flex-wrap:wrap;justify-content:center;gap:6px!important;flex:0 0 auto!important;margin:0!important;padding:0!important;}
html body .portfolio-lightbox footer>span{font-size:12px;flex-basis:100%;}
.viewer-zoom-hint{padding:9px 18px;border-radius:var(--brand-radius-button);background:var(--glass-light-surface);color:var(--brand-plum);font-size:13px;text-align:center;}
html body .portfolio-lightbox .viewer-comparison-control{position:static!important;display:flex;align-items:center;gap:12px;width:min(560px,100%);flex:none!important;}
html body .portfolio-lightbox .viewer-comparison-control[hidden],.viewer-comparison-divider[hidden]{display:none!important;}
.viewer-comparison-control span{white-space:nowrap;font-size:12px;}.viewer-comparison-control input{min-width:0;width:100%;accent-color:var(--brand-primary);}
.viewer-comparison-divider{position:absolute;top:0;bottom:0;width:2px;background:var(--brand-primary);pointer-events:none;z-index:3;}
.viewer-comparison-divider::after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:5px 8px;border-radius:20px;background:var(--brand-primary);color:var(--brand-white);}
.viewer-navigation{flex:none;min-width:0;width:100%;}
.viewer-thumbnails{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;max-width:100%;position:relative;padding:2px;}
.viewer-thumbnails::-webkit-scrollbar,.furniture-thumbnails::-webkit-scrollbar{display:none;}
html body .portfolio-lightbox .viewer-thumbnails button{flex:0 0 72px;height:54px;min-height:0;padding:2px;border-radius:8px;border:1px solid transparent;}
html body .portfolio-lightbox .viewer-thumbnails button[aria-pressed=true]{border-color:var(--brand-primary);}
html body .portfolio-lightbox .viewer-thumbnails img{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;object-fit:cover!important;transform:none!important;}
html body .portfolio-lightbox .viewer-dots{position:static!important;display:flex!important;justify-content:center!important;transform:none!important;width:100%!important;margin:0!important;padding:0!important;gap:0!important;}
.furniture-thumbnails{scrollbar-width:none;position:relative;}
.furniture-photo-dots{display:flex;justify-content:center;flex:none;gap:0;}
.furniture-photo-dots button{border:0;background:none;min-width:0;width:24px;height:24px;padding:8px;}
.furniture-photo-dots button::after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--brand-white);opacity:.4;}
.furniture-photo-dots button[aria-pressed=true]::after{background:var(--brand-primary);opacity:1;}
html body .site-header :is(.is-current,[aria-current=true],[aria-current=location]){font-weight:700!important;}
html body #chatbot-section-slot{padding-bottom:8px!important;}
html body #chatbot-section .chatbot-footer{padding-block:2px!important;min-height:0!important;}
.read-more{display:none;}
@media(max-width:900px){
 /* Reading space follows browser chrome; timeline distances remain stable. */
 html body :is(#citta,#arredi,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--mobile-panel-height:calc(var(--reading-viewport,100dvh) - var(--panel-top) - var(--panel-bottom))!important;}
 html body :is(.urban-pin,.furniture-pin,.byat-pin),html body #citta .urban-pin,html body #chatbot-section-slot{height:var(--reading-viewport,100dvh)!important;min-height:0!important;}
 html body #mondo .journey-pin{height:var(--reading-viewport,100dvh)!important;min-height:0!important;max-height:var(--reading-viewport,100dvh)!important;}
 html body :is(.project-intro,.byat-copy,.furniture-details){overflow:hidden!important;}
 html body .site-header[data-theme],html body .site-header .v44-mobile-research{background:var(--brand-white)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--brand-plum)!important;}
 html body .site-header .v44-mobile-research{height:38px!important;border-radius:0 0 20px 20px!important;}
 html body .site-header .v44-mobile-research button{min-height:36px!important;padding:5px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
 html body .site-header .v44-mobile-research button[hidden]{display:none!important;}
 html body .site-header .v44-mobile-research button>i,html body .site-header .v44-mobile-research .v44-sub-line{display:none!important;}
 html body #mondo .world-copy{margin-top:0!important;}
 html body #mondo .exterior-window{top:var(--review-content-top)!important;bottom:var(--review-content-bottom)!important;}
 html body #arredi{--panel-top:var(--review-content-top)!important;--panel-bottom:var(--review-content-bottom)!important;}
 html body #arredi .gallery-window{height:100%!important;max-height:none!important;}
 html body #casa:not(.is-minimized) .byat-pin{padding-top:var(--review-content-top)!important;padding-bottom:var(--review-content-bottom)!important;box-sizing:border-box!important;}
 html body #casa:not(.is-minimized) :is(.byat-window,.interior-panel){height:calc(100dvh - var(--review-content-top) - var(--review-content-bottom))!important;}
 html body :is(#citta,:is(#concorso,#quote,#elementi-strutturali,#tecnologia)){--panel-bottom:var(--review-content-bottom)!important;}
 html body #mondo #byat .exterior-track>.exterior-panel,html body #casa:not(.is-minimized) #interni,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;overflow:hidden!important;padding:0!important;height:100%!important;}
 html body #mondo #byat .exterior-track>.exterior-panel>.byat-copy,html body #casa:not(.is-minimized) #interni>.byat-copy,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.byat-copy{grid-row:1!important;grid-column:1!important;height:100%!important;min-height:0!important;max-height:100%!important;padding:12px!important;box-sizing:border-box!important;gap:6px!important;justify-content:flex-start!important;}
 html body #mondo #byat .exterior-track>.exterior-panel>.photo-gallery,html body #casa:not(.is-minimized) #interni>.photo-gallery,html body #casa:not(.is-minimized) #interni[data-interior-photo]>.photo-gallery,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.photo-gallery{grid-row:2!important;grid-column:1!important;min-height:0!important;height:100%!important;max-height:none!important;flex:1 1 0!important;align-self:stretch!important;}
 html body #mondo #byat .exterior-panel .photo-stage{height:100%!important;min-height:0!important;flex:1 1 0!important;aspect-ratio:auto!important;}
 html body #arredi .furniture-card:not(.is-expanded)>.furniture-thumbnails{display:none!important;}
 html body #arredi .furniture-card:not(.is-expanded)>.furniture-visual{height:100%!important;}
 html body #arredi .project-card-label>span:first-child{font-size:clamp(23px,6vw,30px)!important;}
 html body #arredi .furniture-card.is-expanded{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-visual{flex:0 0 50%!important;height:50%!important;min-height:0!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-thumbnails{flex:0 0 30px!important;height:30px!important;min-height:30px!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-details{flex:1 1 0!important;overflow:hidden!important;}
 html body #arredi .furniture-photo-dots{display:none!important;}
 html body #arredi .furniture-card.is-reading{overflow-y:auto!important;overscroll-behavior-y:contain;}
 html body #arredi .furniture-card.is-reading>.furniture-details{flex:0 0 auto!important;overflow:visible!important;}
 html body .adaptive-copy{display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;}
 html body #citta .project-intro.adaptive-copy{overflow:hidden!important;gap:10px!important;}
 html body .adaptive-copy>.adaptive-body{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;width:100%;}
 html body .adaptive-copy[hidden]{display:none!important;}
 html body #mondo #byat .byat-copy.adaptive-copy,html body #casa #interni .byat-copy.adaptive-copy,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy.adaptive-copy{overflow:hidden!important;}
 html body .adaptive-copy>.read-more{flex:none;align-self:flex-start;border:0;padding:4px 8px;margin-left:-8px;min-height:36px;min-width:80px;background:none;color:var(--brand-primary);font:inherit;font-size:12px;line-height:20px;cursor:pointer;}
 html body .adaptive-copy>.read-more:not([hidden]){display:block;}
 html body .adaptive-copy>.read-more[hidden]{display:none;}
 html body .adaptive-copy.is-reading>.adaptive-body{overflow-y:auto!important;overscroll-behavior-y:contain;}
 html body #arredi .is-reading .adaptive-body{overflow:visible!important;flex:none!important;}
 html body #citta .project-intro :is(h2,h3,.project-place,.award-block){flex-shrink:0!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .byat-copy :is(h2,h3,p){margin:0!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .adaptive-body p+p{margin-top:8px!important;}
 html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel{grid-template-rows:minmax(0,var(--butera-copy-height,50%)) minmax(0,1fr)!important;}
 html body #chatbot-section-slot{padding-bottom:var(--review-content-bottom)!important;}
 html body dialog.portfolio-lightbox{width:calc(100vw - 2 * var(--page-margin))!important;}
 .viewer-zoom-hint{font-size:0;padding:8px;}.viewer-zoom-hint::after{content:'Allarga con due dita · doppio tocco per adattare';font-size:10px;}
 html body .portfolio-lightbox .viewer-thumbnails button{flex-basis:48px;height:36px;}
 html body .portfolio-lightbox .viewer-dots button{flex:0 1 24px!important;min-width:12px!important;}
 .viewer-comparison-control{flex-direction:column;gap:2px!important;}
 #citta .project-board{overflow:hidden!important;touch-action:pan-y;}
 #citta .project-board img{transform:scale(var(--board-zoom,1));transform-origin:var(--board-origin,50% 50%);}
}
@media(max-width:900px) and (max-height:650px) and (orientation:portrait){
 html body #arredi .furniture-card.is-expanded>.furniture-details{padding:10px!important;gap:4px!important;}
 html body #arredi .furniture-details h3{font-size:23px!important;line-height:1.1!important;margin:0!important;}
 html body #arredi .furniture-category{font-size:11px!important;line-height:1.25!important;margin:0!important;}
 html body #arredi .furniture-details .adaptive-body{font-size:12px!important;line-height:1.35!important;}
 html body #arredi .furniture-description p{font-size:inherit!important;line-height:inherit!important;margin:0 0 6px!important;}
}
html body .menu-section{position:relative;}
html body .menu-section:has(.menu-expand)>.menu-main{padding-right:52px!important;}
html body .menu-expand{position:absolute;right:0;top:4px;width:44px;height:44px;border:0;background:none;color:inherit;font:inherit;font-size:24px;cursor:pointer;}
.language-feedback{color:var(--brand-primary);font-size:12px;min-height:1em;}
html body .desktop-languages{position:relative;display:flex;flex:0 0 36px;flex-direction:column;gap:0;align-items:center;justify-content:center;border-left:1px solid var(--nav-border);padding-left:10px;margin-left:0;align-self:center;}
html body .desktop-languages button{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--brand-plum);border:0;padding:6px;min-height:28px;width:32px;cursor:pointer;}
html body .desktop-languages .language-flag{width:17px;height:12px;}
html body .desktop-languages .language-feedback{position:absolute;top:100%;right:0;white-space:nowrap;background:var(--brand-white);border-radius:12px;padding:4px 10px;}
html body .desktop-languages .language-feedback:empty{display:none;}
@media(max-width:900px){html body .desktop-languages{display:none!important;}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){
 html body #citta .project-intro.adaptive-copy{gap:6px!important;padding:12px!important;}
 html body #citta .project-intro :is(h2,h3){font-size:24px!important;line-height:1.1!important;margin:0!important;}
 html body #citta .project-intro :is(h2,h3) br{display:none!important;}
 html body #citta .project-intro :is(h2,h3) em{margin-left:.2em!important;}
 html body #citta .project-intro .project-place{margin:0!important;font-size:11px!important;}
 html body #citta .project-intro .award-block{margin:0!important;padding-top:6px!important;}
 html body #citta .project-intro .award-block p{font-size:10px!important;line-height:1.25!important;}
 html body #citta .project-intro .award-badge{width:26px!important;height:32px!important;}
 html body #mondo #byat .exterior-track>.exterior-panel,html body #casa:not(.is-minimized) #interni,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;}
 html body #mondo #byat .exterior-track>.exterior-panel>.photo-gallery,html body #casa:not(.is-minimized) #interni>.photo-gallery,html body #casa:not(.is-minimized) #interni[data-interior-photo]>.photo-gallery,html body :is(#concorso,#quote,#elementi-strutturali,#tecnologia) .butera-track>.butera-panel>.photo-gallery{grid-row:1!important;grid-column:2!important;}
 html body #arredi .furniture-card.is-expanded{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 30px!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-visual{grid-column:1!important;grid-row:1!important;height:100%!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-thumbnails{grid-column:1!important;grid-row:2!important;}
 html body #arredi .furniture-card.is-expanded>.furniture-details{grid-column:2!important;grid-row:1 / 3!important;}
 html body #arredi .furniture-card.is-reading{display:flex!important;}
 html body #arredi .furniture-card.is-reading>.furniture-visual{height:50%!important;}
 .viewer-thumbnails{display:none;}
}
html body .timeline-segments .timeline-progress-tip{fill:var(--brand-primary);stroke:none;}
html body .portfolio-lightbox header{position:relative;z-index:10;isolation:isolate;}
html body .portfolio-lightbox [data-close]{touch-action:manipulation;min-width:44px;min-height:44px;}
.privacy-dialog{width:min(640px,calc(100vw - 28px));height:min(680px,calc(100dvh - 28px));padding:10px;border:1px solid var(--brand-primary);border-radius:24px;background:white;overflow:hidden;}
.privacy-dialog[open]{display:flex;flex-direction:column;}
.privacy-dialog>button{align-self:flex-end;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--brand-plum);font-size:26px;}
.privacy-dialog iframe{border:0;width:100%;flex:1;min-height:0;}
.privacy-dialog::backdrop{background:#210e1680;}
@media(max-width:900px){.chatbot-desktop-disclaimer{display:none;}}
@media(min-width:901px){
 html body .v4-desktop .v4-nav-node.is-passed:not(.is-current){color:var(--brand-plum)!important;}
 html body .v4-desktop .v4-brand{background:var(--brand-plum)!important;mask:url("/assets/00_Identita_Font%20e%20logo/logo-navigation.svg") center/contain no-repeat;-webkit-mask:url("/assets/00_Identita_Font%20e%20logo/logo-navigation.svg") center/contain no-repeat;}
 html body .v4-desktop .v4-brand img{visibility:hidden!important;}
}

.earth-handoff{position:fixed;z-index:19;pointer-events:none;object-fit:cover;max-width:none;will-change:width,height,left,top,opacity}.earth-handoff[hidden]{display:none}
@media(max-width:900px){
 html body .site-header .v44-mobile-research:not(.mobile-furniture-timeline) button{gap:4px!important;justify-content:flex-start!important;}
 html body .site-header .v44-mobile-research:not(.mobile-furniture-timeline) button>i{display:block!important;flex:none;width:6px;height:6px;}
 html body .site-header .v44-mobile-research:not(.mobile-furniture-timeline) .v44-sub-line{display:block!important;top:8px!important;left:calc(25% + 8px)!important;width:calc(50% - 16px)!important;}
 html body .site-header .v44-mobile-research:not(.mobile-furniture-timeline) .v44-sub-line>i{position:relative;}
 html body .site-header .v44-mobile-research.is-between .v44-sub-line>i::after{content:'';position:absolute;right:-2px;top:-1.5px;width:4px;height:4px;border-radius:50%;background:var(--brand-primary);}
}

/* Content-only presentation; no interaction or geometry overrides. */
[hidden]{display:none!important}
.parco-fullscreen{position:relative;background-size:cover;background-position:center}
.parco-fullscreen>.journey-pin{position:sticky;top:0}
.parco-document-links{display:flex;flex-wrap:wrap;gap:12px}
.parco-document-links .project-link{color:var(--brand-plum)}
.parco-chapter .byat-copy em{font-style:italic!important}
.parco-requirements{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;background:var(--brand-paper);color:var(--brand-plum);text-align:center}
.parco-requirements>strong{font-size:clamp(60px,8vw,120px)}
.parco-requirements>div{display:flex;gap:24px}.parco-requirements b{display:block;font-size:32px}

/* Local vertical only: photographic chapter covers and an edge-to-edge viewer. */
html body dialog.portfolio-lightbox{inset:0!important;margin:0!important;width:100vw!important;height:100dvh!important;padding:0!important;border:0!important;border-radius:0!important;}
html body #quote .butera-track>.butera-panel.parco-image-only{display:block!important;position:relative!important;padding:0!important;grid-template:none!important;}
html body #quote .butera-track>.butera-panel.parco-image-only>.photo-gallery{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;display:block!important;padding:0!important;grid-area:auto!important;}
html body #quote .parco-image-only .photo-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;border-radius:inherit!important;}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .journey-pin .parco-cover-copy{background:transparent!important;padding:0!important;max-width:1500px!important;max-height:none!important;width:100%!important;display:block!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .hero-copy{display:block!important;width:100%!important;max-width:none!important;}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .hero-copy .hero-intro{max-width:1000px!important;margin:28px 0 0!important;font-size:clamp(14px,1.65vw,28px)!important;line-height:1.4!important;}
@media(min-width:901px){
 html body .site-header .v4-desktop .v4-research-group{flex:1 1 0!important;}
 html body .site-header .v4-desktop .v4-research-group.is-active-group{flex:2 1 0!important;}
 html body .site-header .v4-research-group:not(.is-active-group) .v43-research-capsule{display:none!important;}
 html body .site-header .v4-research-group.is-active-group .v43-research-capsule{flex:1 1 0!important;margin:0!important;padding:0!important;}
 html body .site-header .v4-desktop-rail .v4-node-label{font-size:clamp(9px,.85vw,13px)!important;letter-spacing:0!important;}
}
@media(max-width:900px){
 html body .site-header .v43-mobile-track{width:calc(var(--step)*10)!important;}
 html body .site-header .v43-mobile-track>.v4-nav-node:nth-of-type(n){display:flex!important;flex:0 0 var(--step)!important;width:var(--step)!important;max-width:var(--step)!important;}
 html body .site-header .v43-mobile-track .v4-node-icon{display:grid!important;opacity:1!important;transform:none!important;}
 html body .site-header .v43-mobile-track .v4-node-label{font-size:10px!important;}
 html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .hero-copy .hero-intro{font-size:clamp(12px,3.2vw,20px)!important;margin-top:24px!important;}
}
html body .parco-cover{background-size:cover!important;background-position:center!important;isolation:isolate;}
html body .parco-cover>.journey-pin{display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:clamp(105px,14vh,180px) var(--page-margin,5vw) 105px!important;position:sticky;top:0;min-height:100svh;}
html body .parco-cover>.journey-pin::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,12,.66),rgba(15,12,12,.22)),linear-gradient(0deg,rgba(15,12,12,.25),transparent 65%);z-index:-1;}
html body .parco-cover .parco-cover-copy{position:relative!important;display:block!important;width:100%!important;max-width:1500px!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;}
html body .parco-cover .hero-copy{width:100%!important;max-width:none!important;padding:0!important;}
html body .parco-cover :is(h1,h2){font-family:var(--brand-font)!important;font-size:clamp(44px,7.5vw,144px)!important;font-weight:600!important;line-height:1.02!important;letter-spacing:-.045em!important;text-transform:uppercase!important;color:#fff!important;max-width:100%!important;margin:0!important;text-wrap:balance;overflow-wrap:normal;text-shadow:0 2px 24px #0005;}
html body .parco-cover .hero-intro{font-size:clamp(14px,1.65vw,28px)!important;font-weight:450!important;line-height:1.4!important;letter-spacing:.07em!important;color:#fff!important;max-width:1000px!important;margin:28px 0 0!important;text-wrap:balance;}
html body #costruzione.parco-cover h2{font-size:clamp(35px,5.8vw,112px)!important;}
html body #concorso .photo-stage .photo-arrow{display:none!important;}
html body #concorso .photo-stage img{object-fit:contain!important;background:#fff!important;}
html body .parco-image-only{padding:0!important;overflow:hidden!important;}
html body .parco-image-only .photo-gallery{flex:1!important;width:100%!important;height:100%!important;margin:0!important;}
html body .parco-image-only .photo-stage{height:100%!important;max-height:none!important;}
html body .parco-image-only .photo-slide{object-fit:cover!important;border-radius:inherit!important;}
html body .parco-image-only .photo-dots{display:none!important;}
html body .portfolio-lightbox{inset:0!important;margin:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;padding:0!important;border:0!important;border-radius:0!important;gap:0!important;}
html body .portfolio-lightbox .lightbox-canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;margin:0!important;padding:0!important;}
html body .portfolio-lightbox .lightbox-canvas>img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;}
html body .portfolio-lightbox>header{position:absolute!important;z-index:8!important;top:max(8px,env(safe-area-inset-top))!important;left:12px!important;right:12px!important;height:auto!important;background:transparent!important;pointer-events:none;}
html body .portfolio-lightbox>header button{pointer-events:auto;background:#210e16b3!important;border-radius:24px!important;color:white!important;}
html body .portfolio-lightbox>footer{position:absolute!important;bottom:8px!important;left:16px!important;right:16px!important;z-index:7!important;background:#210e16aa!important;border:0!important;padding:5px 12px!important;border-radius:18px!important;width:max-content!important;max-width:calc(100% - 32px)!important;height:auto!important;}
html body .portfolio-lightbox .viewer-navigation{position:absolute!important;bottom:30px!important;left:50%!important;transform:translateX(-50%)!important;z-index:7!important;width:auto!important;max-width:80vw!important;background:#210e1699;border-radius:20px;padding:3px 12px!important;}
html body .portfolio-lightbox .viewer-thumbnails{display:none!important;}
html body .portfolio-lightbox .viewer-dots{display:flex!important;}
html body .v4-research-group:not(.is-active-group) :is(.v43-research-capsule,.v42-research-branch){opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
html body .v4-research-group.is-active-group .v43-research-capsule{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
@media(max-width:900px){
 html body .parco-cover>.journey-pin{padding:115px 24px 100px!important;}
 html body .parco-cover :is(h1,h2){font-size:clamp(36px,9vw,78px)!important;line-height:1.06!important;}
 html body #costruzione.parco-cover h2{font-size:clamp(29px,6.9vw,62px)!important;}
 html body .parco-cover .hero-intro{font-size:clamp(12px,3.2vw,20px)!important;letter-spacing:.045em!important;margin-top:24px!important;}
 html body .v4-mobile .v4-nav-node .v4-node-icon{display:grid!important;width:18px!important;height:18px!important;margin:0 auto 2px!important;}
 html body .v4-mobile .v4-nav-node{padding-top:3px!important;}
 html body .v4-mobile .v4-node-label{font-size:clamp(8px,2.5vw,13px)!important;}
}
@media(max-height:500px) and (orientation:landscape){
 html body .parco-cover>.journey-pin{padding:85px 32px 70px!important;}
 html body .parco-cover :is(h1,h2){font-size:clamp(30px,7vh,46px)!important;}
 html body #costruzione.parco-cover h2{font-size:32px!important;}
 html body .parco-cover .hero-intro{font-size:13px!important;margin-top:16px!important;}
}

html body #mondo .journey-note.parco-location-note{left:auto!important;right:var(--parco-note-right,10vw)!important;top:var(--parco-note-top,136px)!important;bottom:auto!important;transform:none!important;width:min(390px,calc(100vw - 2 * var(--parco-note-right,10vw)))!important;max-width:none!important;padding:22px!important;box-sizing:border-box;}
html body #mondo .parco-location-note>p{margin:0!important;font-size:15px!important;line-height:1.45!important;display:block!important;}
html body #mondo .parco-location-note>p:first-child{display:flex!important;align-items:center;gap:10px;margin-bottom:12px!important;}
html body #mondo .parco-location-note strong{font-size:20px!important;line-height:1.2!important;}
html body #mondo .parco-location-note svg{width:24px!important;height:24px!important;flex:none;}

/* Parco only: preserve measured intro geometry while removing the introductory card. */
#mondo .world-copy{visibility:hidden!important;pointer-events:none!important}
#mondo .earth-poster{visibility:hidden!important}
html body #arredi .gallery-track>.furniture-card{transition:grid-template-columns .8s cubic-bezier(.22,.61,.36,1),width .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)!important;grid-template-columns:minmax(0,1fr) minmax(0,0px)!important}
html body #arredi .gallery-track>.furniture-card.is-expanded{grid-template-columns:minmax(0,1fr) minmax(300px,var(--ds-furniture-copy-width))!important}
#arredi .furniture-details{opacity:0;transition:opacity .6s ease}
#arredi .is-expanded .furniture-details{opacity:1}
#arredi .furniture-visual>.parco-photo-ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;pointer-events:none;z-index:1}
#arredi .parco-floor-caption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 16px;border-radius:24px;background:var(--brand-plum);color:white;font-size:14px;z-index:3;white-space:nowrap;pointer-events:none}
#arredi .furniture-card:not(.is-expanded) .parco-floor-caption{display:none}
@media(prefers-reduced-motion:reduce){html body #arredi .gallery-track>.furniture-card,#arredi .furniture-details{transition:none!important}}

/* One cover hierarchy, including the h1 formerly reduced by home quote rules. */
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .hero-copy :is(h1,h2){font-size:clamp(44px,7.5vw,144px)!important;line-height:1.02!important;font-weight:600!important;letter-spacing:-.045em!important;white-space:normal!important}
html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .hero-copy .hero-intro{color:#fff!important;text-align:left!important;text-wrap:pretty;max-width:1000px!important}
html body .parco-cover .hero-intro::before{content:'';display:block;width:clamp(90px,10vw,180px);height:3px;background:var(--brand-primary);margin-bottom:24px}
@media(max-width:900px){html body :is(#inizio,#masterplan,#struttura,#costruzione,#tipologie).parco-cover .hero-copy :is(h1,h2){font-size:clamp(36px,9vw,78px)!important;line-height:1.06!important}html body .parco-cover .hero-intro::before{margin-bottom:18px}}
@media(max-width:420px){html body #costruzione.parco-cover .hero-copy h2{font-size:clamp(28px,8vw,36px)!important}}
/* Parco only: editorial alignment, synchronized captions and pale chapter art. */
html body #byat .byat-copy{justify-content:center!important;align-self:center!important;}
html body #byat .byat-copy h2{color:#2d1924!important;}
html body #byat .parco-principle-editorial .byat-copy>p{font-size:clamp(15px,1.15vw,19px)!important;line-height:1.45!important;}
.parco-principle-steps{padding:0;list-style:none;counter-reset:principle;margin:18px 0 0;display:grid;gap:10px;}
.parco-principle-steps .parco-step{counter-increment:principle;position:relative;padding-left:30px;font-size:clamp(13px,1vw,17px);line-height:1.4;color:#64535b;transition:color .45s ease,opacity .45s ease;}
.parco-principle-steps .parco-step::before{content:counter(principle,decimal-leading-zero);position:absolute;left:0;color:inherit;font-weight:600;}
.parco-principle-steps .parco-step.is-active{color:#a44925;font-weight:600;}
.parco-quota-caption{color:#2d1924!important;font-weight:600!important;margin-top:18px!important;}
.parco-quota-caption:not(.is-active){display:none!important;}
html body :is(#masterplan,#struttura).parco-light-cover .hero-copy :is(h2,.hero-intro){color:#2d1924!important;text-shadow:none!important;}
html body :is(#masterplan,#struttura).parco-light-cover>.journey-pin::before{background:linear-gradient(90deg,rgba(255,255,255,.70),rgba(255,255,255,.12) 80%)!important;}
html body :is(#masterplan,#struttura).parco-light-cover .hero-intro::before{background:#2d1924!important;}
.parco-city-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #ffffff55;padding-top:16px;margin:16px 0 10px;}
.parco-city-stats>div{display:flex;flex-direction:column-reverse;gap:5px;}
.parco-city-stats dt{font-size:11px;line-height:1.3;opacity:.85;}
.parco-city-stats dd{font-size:23px;font-weight:600;margin:0;color:#fff;}
.parco-city-source{font-size:10px;color:inherit;opacity:.75;text-underline-offset:3px;}
@media(max-width:900px),(max-height:700px){
 .parco-principle-steps .parco-step:not(.is-active){display:none;}
 .parco-principle-steps .parco-step{font-size:15px;}
 html body #mondo .parco-location-note[data-source-frame="104"]>p{font-size:13px!important;line-height:1.4!important;}
 .parco-city-stats{padding-top:10px;margin-top:12px;}
 .parco-city-stats dd{font-size:21px;}
}
html body #byat .photo-stage .photo-slide,html body #quote .parco-quota-editorial .photo-stage .photo-slide{object-fit:contain!important;background:#fff;}
@media(max-width:900px){
 html body #byat .byat-panel{background:#fff!important;color:#2d1924!important;}
 html body #byat .byat-copy,html body #byat .byat-copy p{color:#2d1924!important;}
 html body #byat .byat-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:12px!important;}
 html body #byat .parco-principle-steps{margin:0!important;flex:none!important;}
 .parco-principle-steps .parco-step:nth-child(2)::before{content:'02';}
 .parco-principle-steps .parco-step:nth-child(3)::before{content:'03';}
 .parco-principle-steps .parco-step:nth-child(4)::before{content:'04';}
}
html body #byat .byat-copy{background:#fff!important;}
html body #byat .byat-copy .copy-scroll,html body #byat .byat-copy .copy-content{justify-content:center!important;}
@media(max-width:900px){
 html body #byat .byat-copy{background:#fff!important;}
 html body #byat .byat-copy .parco-principle-steps{margin-top:12px!important;}
}
/* Match the existing mobile controller's two-ID selectors. */
html body #mondo #byat .exterior-track>.exterior-panel>.byat-copy{display:flex!important;flex-direction:column!important;justify-content:safe center!important;background:#fff!important;gap:12px!important;}
html body #mondo #byat .exterior-track>.exterior-panel>.byat-copy :is(h2,p){color:#2d1924!important;}
html body #mondo #byat .exterior-track>.exterior-panel .photo-gallery .photo-stage .photo-slide{object-fit:contain!important;background:#fff!important;}
html body #mondo #byat .parco-principle-steps{margin:12px 0 0!important;}
html body #mondo #byat .exterior-track>.exterior-panel>.byat-copy .adaptive-body{flex:0 1 auto!important;}
/* Image presentation requested for the structure/technology revision. */
html body #quote .butera-track>.parco-quota-editorial .photo-gallery .photo-stage .photo-slide{object-fit:cover!important;width:100%!important;height:100%!important;padding:0!important;}
html body #tecnologia .butera-track>.parco-fit-image .photo-gallery .photo-stage .photo-slide{object-fit:contain!important;width:100%!important;height:100%!important;padding:0!important;background:#fff!important;}
html body #costruzione.parco-cover .hero-copy h2{color:var(--brand-primary)!important;text-shadow:none!important;}
html body #costruzione.parco-cover .hero-copy .hero-intro{color:#2d1924!important;text-shadow:none!important;}
html body #costruzione.parco-cover>.journey-pin::before{background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.08) 80%)!important;}
html body #chatbot-section,html body #chatbot-section-slot{background:#fff!important;}
html body:is(.on-assistant-section,.chatbot-expanded) #skip-animation{display:none!important;}
html body :is(#chatbot-section,#chatbot-dock) #chatbot-panel{background:#fff!important;color:#2d1924!important;}
html body :is(#chatbot-section,#chatbot-dock) #chatbot-panel .chatbot-header{color:#2d1924!important;}
html body :is(#chatbot-section,#chatbot-dock) #chatbot-panel :is(.chatbot-disclaimer,.chatbot-disclaimer a){color:#64535b!important;}


/* Explicit project actions. */
html body :is(#urban-read-more,.project-cta,[data-parco-return]){display:inline-flex!important;align-items:center;justify-content:center;gap:.5em;background:var(--brand-primary)!important;color:#fff!important;border:1px solid var(--brand-primary)!important;border-radius:10px!important;padding:13px 20px!important;text-decoration:none!important;font-weight:600;cursor:pointer;}
html body :is(#urban-read-more,.project-cta,[data-parco-return]):focus-visible{outline:3px solid currentColor;outline-offset:4px;}
@media(min-width:901px){html body #arredi .gallery-track>.furniture-card.is-expanded{width:var(--expanded-furniture-width,calc(100vw - 2 * var(--page-margin,5vw)))!important;}}
html body #arredi .furniture-card.is-expanded .furniture-visual>img{object-fit:contain!important;}
