/* Mobile edition of the institutional site. Desktop composition is untouched. */
.menu-languages,.territory-mobile-picker{display:none}
@media(prefers-reduced-motion:no-preference){[data-mobile-entry="waiting"]:not(:focus-within){opacity:0!important}}
@media(max-width:760px), (max-width:1024px) and (max-height:500px) and (pointer:coarse){
 html.site-chapter-scroll{--site-header-height:calc(72px + env(safe-area-inset-top,0px));--mobile-chapter-height:calc(100svh - var(--site-header-height));scroll-snap-type:none}
 .site-chapter-scroll .original-site main>section,.site-chapter-scroll .journey-stage>section,.site-chapter-scroll .original-site>.contact{min-height:var(--mobile-chapter-height);scroll-snap-stop:always}
 .original-site:not(.inner-page) .site-header,.inner-page .site-header{inset:0 0 auto;margin:0;height:calc(72px + env(safe-area-inset-top,0px));padding:calc(14px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 14px max(24px,env(safe-area-inset-left,0px));display:flex;gap:20px;align-items:center;justify-content:space-between}
 .inner-page .site-header{position:relative}
 .site-header .header-social,.site-header .languages{display:none}
 .site-header .header-brand{position:static;transform:none;width:144px;min-height:44px;display:flex;align-items:center;margin:0}
 .site-header .header-brand img{width:100%;height:auto}
 .site-header .menu-toggle{min-height:44px;font-size:10px;gap:10px;letter-spacing:.8px}
 .site-header .menu-icon{width:34px;height:34px;flex:none}
 html.menu-open,html.portfolio-open,html.article-open{overflow:hidden;scroll-snap-type:none}
 .site-menu{inset:0;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:calc(104px + env(safe-area-inset-top,0px)) max(28px,env(safe-area-inset-right,0px)) calc(36px + env(safe-area-inset-bottom,0px)) max(28px,env(safe-area-inset-left,0px));box-shadow:none;background:#10100f}
 .site-menu::before{content:"";position:absolute;left:max(28px,env(safe-area-inset-left,0px));top:calc(26px + env(safe-area-inset-top,0px));width:176px;height:38px;background:url(original/logo-white.png) left center/contain no-repeat}
 .site-menu .menu-close{position:absolute;right:max(22px,env(safe-area-inset-right,0px));top:calc(23px + env(safe-area-inset-top,0px));width:44px;height:44px;display:grid;place-items:center;font-size:30px}
 .site-menu nav{padding:0;gap:2px;width:100%;max-width:520px;margin:auto;align-items:stretch}
 .site-menu nav>a{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:58px;padding:14px 0;border:0;border-bottom:1px solid #ffffff21;border-radius:0;font:400 clamp(26px,7.4vw,34px)/1.15 "Ginora Sans",sans-serif;letter-spacing:.01em}
 .site-menu nav>a:active{background:#ffffff0d}
 .site-menu nav>.menu-login{margin-top:18px;padding:14px 0;min-height:52px;border:0;font:400 12px/1.4 Azeret,monospace;letter-spacing:.04em;color:#cfbfa8}
 .menu-languages{display:flex;gap:24px;max-width:520px;margin:24px auto 0;padding-top:24px;border-top:1px solid #ffffff21}
 .menu-languages a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px}
 .menu-languages img{width:19px;height:13px;object-fit:contain}
 /* Chapter marks are desktop-only; phones keep native scrolling and the menu. */
 .section-dots{display:none}
 .whatsapp-floating{width:48px;height:48px;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .whatsapp-floating svg{width:26px;height:26px}
 .whatsapp-floating{transition:opacity .18s ease,visibility .18s}
 .mobile-direct-contact .whatsapp-floating{opacity:0;visibility:hidden;pointer-events:none}
 .hero-scroll-enabled .opening-logo{top:50%;width:64%;max-width:260px;filter:none}
 .hero-scroll-enabled .opening-sequence .opening{opacity:var(--mobile-hero-copy-opacity,1)}
 /* Portrait art direction: enlarge the person, not the empty black video canvas. */
 .hero-scroll-enabled :is(#hero-scroll-video,.hero-scroll-sequence){position:absolute;inset:50% 0 auto auto;translate:0 -50%;width:180%;height:auto;max-width:none;object-fit:contain;object-position:center bottom;background:#000}
 .js.hero-scroll-enabled :is(#hero-scroll-video,.hero-scroll-sequence){opacity:calc(var(--hero-enter-opacity,0)*var(--mobile-hero-bg-opacity,1))}
 .explore{top:auto;bottom:4%;gap:20px}
 .explore span{font-size:10px;letter-spacing:.35em}
 .hero-scroll-enabled .opening-sequence .intro-film{height:285svh}
 .hero-scroll-enabled .opening-sequence .intro-stage::before,.hero-scroll-enabled .intro-vertical-logo{display:none}
 .hero-scroll-enabled .opening-sequence .film-frame{left:50%;top:50%;translate:-50% -50%;width:min(78vw,calc((100svh - 256px)*.825));height:min(calc(78vw / .825),calc(100svh - 256px));aspect-ratio:594/720}
 .film-frame video{display:block;object-fit:contain}
 .film-frame{background:#000}
 .film-controls{left:50%;right:auto;bottom:-58px;translate:-50% 0;width:max-content;max-width:calc(100vw - 72px);padding:3px;gap:2px}
 .js .film-controls{opacity:var(--film-controls-opacity,0)}
 .film-controls .film-play,.film-controls .film-sound{min-width:102px;height:44px;padding:8px 10px}
 .film-next{bottom:16px;width:44px;height:44px;display:grid;place-items:center}
 /* Drawn arrows, not Apple/Android font or emoji substitutions. */
 .site-direction{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;font-size:0!important;line-height:0;vertical-align:middle}
 .site-direction::before{content:"";display:block;width:100%;height:100%;background:currentColor;-webkit-mask:url(arrow-northeast.svg) center/contain no-repeat;mask:url(arrow-northeast.svg) center/contain no-repeat;transform:rotate(var(--site-direction-angle,0deg));transition:transform .18s ease}
 .site-direction--right{--site-direction-angle:45deg}.site-direction--left{--site-direction-angle:225deg}.site-direction--down{--site-direction-angle:135deg}
 a:active .site-direction::before{transform:rotate(var(--site-direction-angle,0deg)) scale(.9)}
 .explore{min-width:44px;min-height:44px;color:#d1c8bd}
 .explore svg,.film-next svg{stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:miter;width:20px;height:34px}
 .film-next{color:#d1c8bd}
 .original-site .portrait{height:var(--mobile-chapter-height,calc(100svh - var(--site-header-height)));min-height:0}
 .portrait::after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent 10%,#100b0726 38%,#100b07e6 90%);pointer-events:none}
 .portrait-name{left:28px;top:auto;bottom:265px;width:calc(100% - 56px);z-index:1}
 .portrait-credentials{left:28px;right:36px;top:auto;bottom:160px;font-size:14px;line-height:1.7;z-index:1}
 .portrait-credentials p+p{margin-top:10px}
 .portrait-credentials p:last-child{font-size:12px;line-height:1.5}
 .portrait-credentials p:last-child strong{font-weight:500}
 .site-chapter-scroll .portrait-social{top:auto;bottom:88px;left:auto;right:28px;gap:2px;max-width:none;justify-content:flex-end;z-index:2}
 .portrait .portrait-social>a{width:40px;height:44px;border-color:#ffffff60;background:#ffffff0c;box-shadow:none;color:#fff}
 .portrait-social svg [stroke="white"]{stroke:#191714}.portrait-social svg [fill="white"]{fill:#191714}
 .portrait-social>span{display:none}
 .portrait .portrait-about{top:auto;bottom:88px;left:28px;width:120px;min-width:0;min-height:46px;padding:12px 16px;font-size:14px;letter-spacing:.04em;z-index:2}
 /* One baseline, three equal columns: no scattered or staggered placement. */
 .anniversary-statements{top:32px;left:24px;right:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;font-size:11.5px;line-height:1.75;text-align:left}
 .anniversary-statements p{max-width:none;margin:0}.anniversary-statements p br{display:none}
 .anniversary-statements p+p{border-left:1px solid #302c2626;padding-left:12px}
 .anniversary-statements strong{font-weight:500}
 .anniversary-years{left:0;width:100%;top:41%;height:auto;object-fit:contain}
 .anniversary-copy{top:65%;left:28px;right:36px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:24px;letter-spacing:-.01em;line-height:1.2;font-weight:400}
 .anniversary-copy span:last-child{align-self:flex-start}
 .anniversary-signature{left:28px;right:28px;bottom:88px;gap:20px}
 .anniversary-signature img{width:190px;max-width:54%}
 /* One typographic column: signature / PRO- / JETOS / concept. */
 .original-site .projects-story .projects-stage{height:var(--mobile-chapter-height,calc(100svh - 72px - env(safe-area-inset-top,0px)));min-height:0}
 .projects-story .projects-intro{inset:10% auto max(25%,calc(160px + env(safe-area-inset-bottom,0px))) 50%;height:auto;width:var(--projects-mobile-width,max-content);max-width:calc(100% - 48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(14px,2.4svh,22px);translate:-50% 0}
 .projects-story .projects-kicker{position:relative;inset:auto;translate:none;width:100%;max-width:none;min-height:36px;font-size:11px;padding:8px 12px;gap:12px;border-radius:14px;white-space:nowrap}
 .projects-story .projects-symbol{width:11px;height:18px}
 .original-site .projects-story .projects-intro h2{position:relative;inset:auto;order:1;width:100%;font-size:min(27vw,calc((100svh - var(--site-header-height,72px))*.22));line-height:.92;letter-spacing:.035em;text-align:left;white-space:normal;transform:scale(var(--projects-title-scale,1));transform-origin:left center}
 .projects-title-first,.projects-title-last{position:relative;display:block;width:max-content}
 .projects-title-first{left:var(--projects-mobile-pro-bearing,0px)}
 .projects-title-first::after{content:"-"}
 .projects-title-last{left:var(--projects-mobile-jetos-bearing,0px)}
 .projects-story .projects-signature{position:relative;inset:auto;translate:none;order:0;width:var(--projects-mobile-pro-width,64%);max-width:none;flex:none}
 .projects-story .projects-kicker{order:2;flex:none}
 .projects-story .portfolio-more{inset:auto auto max(calc(80px + env(safe-area-inset-bottom,0px)),8%) 50%;translate:-50% 0;width:min(340px,calc(100% - 56px))}
 .projects-story .portfolio-more .outline-link{width:100%;min-height:54px;font-size:16px;padding:15px 18px;letter-spacing:.02em;border-radius:12px}
 /* The model receives the flexible centre of the screen, not a leftover slot. */
 .revit-enhanced .revit-stage{display:grid;grid-template-rows:auto minmax(0,1fr) 148px;padding:28px 28px 80px;gap:0}
 .revit-heading{position:relative;inset:auto;width:100%;max-width:none}
 .revit-eyebrow{font-size:10px;line-height:1.6;letter-spacing:.06em;margin-bottom:14px}
 .revit-heading h2{font-size:clamp(27px,7.8vw,34px);line-height:1.08;letter-spacing:-.025em}
 .revit-heading h2 br{display:none}
 .revit-introduction{display:flex;font-size:14px;line-height:1.4;margin-top:14px;gap:9px}
 .revit-introduction svg{width:12px;height:20px}
 .revit-model{position:relative;inset:auto;margin:0 -28px;min-height:0}
 .revit-model figcaption{display:none}
 .revit-benefits{position:relative;inset:auto;width:100%;max-width:none;height:148px;margin:0}
 .revit-step-label{font-size:10px;line-height:1.5;margin-bottom:10px}
 .revit-benefits h3{font-size:28px;line-height:1.1}
 .revit-benefits h3 br{display:none}
 .revit-benefits article p{font-size:14px;line-height:1.6;margin-top:10px;max-width:36ch}
 .revit-footer{left:28px;right:88px;bottom:22px;gap:18px}
 .revit-track{width:100%;font-size:10px}.revit-scroll-hint{display:none}
 .revit-tour-copy{left:28px;right:36px;bottom:80px;width:auto;max-width:370px}
 .revit-tour-copy h3{font-size:34px;line-height:1.05}
 .revit-tour-copy p{font-size:15px;line-height:1.7;margin-top:14px}
 .revit-tour-copy span{font-size:10px;margin-bottom:12px}
 .revit-tour-note{top:22px;left:28px;right:auto;font-size:9px;line-height:1.6}
 .revit-tour-fallback{left:28px;right:36px;bottom:24px;max-width:none;font-size:11px}
 .original-site .conversation{height:var(--mobile-chapter-height);min-height:var(--mobile-chapter-height);padding:clamp(28px,5svh,48px) 28px 64px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
 .conversation .bronze-signature{position:relative;inset:auto;width:80%;max-width:288px;aspect-ratio:1160/250;align-self:center;margin:clamp(28px,6svh,56px) 0 0}
 .conversation .bronze-signature>img{position:static;width:100%;height:auto;transform:none}
 .conversation-content{position:relative;inset:auto;display:flex;flex-direction:column;gap:22px;align-items:stretch}
 .conversation-content h2{font:400 clamp(37px,10.5vw,48px)/1.06 "Ginora Sans",sans-serif;letter-spacing:-.025em;max-width:14ch}
 .conversation-content p{font-size:15px;line-height:1.8;max-width:36ch;font-weight:400}
 .conversation .whatsapp-cta{width:100%;min-height:56px;gap:14px;padding:16px;font:400 15px/1.4 "Ginora Sans",sans-serif;letter-spacing:.02em;text-align:left;justify-content:space-between;border-radius:12px}
 .original-site .perspectives{height:var(--mobile-chapter-height);min-height:var(--mobile-chapter-height);padding:28px 28px 32px;display:flex;flex-direction:column}
 .site-chapter-scroll .original-site main>section.perspectives,.site-chapter-scroll .original-site main>section.conversation{height:var(--mobile-chapter-height);min-height:var(--mobile-chapter-height)}
 .perspectives>h2{font:400 clamp(34px,10vw,44px)/1.05 "Ginora Sans",sans-serif;letter-spacing:-.03em;text-align:left;margin-bottom:24px}
 .journal-grid{grid-template-columns:1fr;grid-auto-rows:minmax(0,1fr);gap:0;height:auto;flex:1;min-height:0}
 .journal{padding:14px 0;min-height:0;border-top:1px solid #c2bcb2}
 .journal a,.journal:first-child a{display:grid;grid-template-columns:82px minmax(0,1fr);grid-template-rows:1fr auto;gap:8px 18px;aspect-ratio:auto;overflow:visible;color:#302c26;height:100%;align-items:center}
 .journal img,.journal:first-child img{position:static;grid-row:1/3;width:82px;height:100%;max-height:140px;aspect-ratio:auto;object-fit:cover}
 .journal .journal-author{display:none}
 .journal h3,.journal:first-child h3{position:static;margin:0;font:400 clamp(17px,5.2vw,21px)/1.18 "Ginora Sans",sans-serif;color:#302c26;transform:none!important}
 .journal a::after{position:static;display:block;content:"Ler perspectiva";background:url(arrow-northeast.svg) right center/13px 13px no-repeat;padding-right:22px;width:max-content;max-width:100%;color:#74634e;font-size:12px;line-height:1.5;letter-spacing:0;opacity:1;transform:none;margin:0}
 .journal:not(:first-child){padding:14px 0;border-top:1px solid #c2bcb2}
 .journal:first-child a::after{margin:0}
 .journal a:hover img{filter:none}.journal a:hover::after,.journal a:focus-visible::after{transform:none}
 .site-chapter-scroll .original-site main>section.territory{min-height:var(--mobile-chapter-height)}
 .original-site .territory{height:var(--mobile-chapter-height)!important;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;padding:20px 24px 24px;gap:12px}
 .territory .territory-heading{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:0;border:0;align-items:center}
 .territory .territory-eyebrow{font-size:8px;line-height:1.5;letter-spacing:.08em;margin:0;white-space:nowrap}
 .territory .territory-heading h2{font-size:40px;margin:6px 0 0}
 .territory .territory-intro{font-size:11px;line-height:1.6;max-width:22ch;margin:0}
 .territory .territory-exploration{display:flex;flex-direction:column;align-items:center;align-self:stretch;min-height:0}
 .territory .territory-map{height:auto;width:min(100%,calc((var(--mobile-chapter-height) - 316px)*.9386));max-width:100%;aspect-ratio:535/570;margin:auto;flex:none}
 .territory .territory-canvas{height:auto;width:100%;aspect-ratio:535/570}
 .territory .territory-legend{font-size:8px;gap:6px 12px;margin-top:6px;flex:none}
 .territory .territory-note{font-size:8px;line-height:1.5;margin-top:6px;flex:none}
 .territory .territory-note br{display:none}
 .territory .territory-area-controls{display:none}
 .territory .territory-control-label{font-size:10px;line-height:1.6}
 .territory .territory-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;margin:0 -28px 24px;padding:0 28px 8px;scrollbar-width:none}
 .territory .territory-filters button{font-size:12px;min-height:44px;flex:none;padding-inline:14px}
 .territory .territory-panel{padding:0;align-self:stretch}
 .territory-enhanced .territory-mobile-picker{grid-column:1/-1;display:grid;gap:4px;margin:0;font-size:10px;color:#645c50}
 .territory-mobile-picker select{width:100%;height:44px;min-height:44px;padding:8px 36px 8px 12px;border:1px solid #b1a89b;border-radius:8px;background:#f1eee8;color:#302c26;font:400 16px/1.5 Poppins,sans-serif}
 .territory-mobile-picker{position:relative}
 .territory-mobile-picker select{-webkit-appearance:none;appearance:none}
 .territory-mobile-picker::after{content:"";position:absolute;right:16px;bottom:14px;width:16px;height:16px;pointer-events:none;background:#74634e;-webkit-mask:url(arrow-northeast.svg) center/contain no-repeat;mask:url(arrow-northeast.svg) center/contain no-repeat;transform:rotate(135deg)}
 .territory-enhanced .territory-places,.territory-enhanced .territory-list-label{display:none}
 .territory .territory-places{gap:0 16px}.territory .territory-place{font-size:14px;min-height:48px}
 .territory .territory-selection{grid-template-columns:minmax(0,1fr) 108px;gap:12px;align-items:center;border-top:1px solid #bcb8af;padding-top:12px}
 .territory .territory-selection-label{display:none}
 .territory .territory-selection-name{font-size:24px}
 .territory .territory-selection-kind{font-size:10px;line-height:1.5;margin-top:4px}
 .territory a.territory-contact{width:100%;min-height:44px;margin:0;font-size:11px}
 .original-site .contact,.inner-page .contact{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .contact .footer-logo{width:220px;height:auto;margin:40px auto 32px;max-width:75%}
 .contact .contact-layout{display:flex;flex-direction:column;gap:52px;padding:0 28px}
 .contact .footer-portrait{width:132px;height:132px;max-height:none;margin:0 auto 20px}
 .contact .contact-addresses{font-size:15px;gap:0;margin:0}
 .contact .contact-addresses a{display:flex;align-items:center;justify-content:center;min-height:44px}
 .contact .contact-whatsapp{width:100%;min-height:54px;font-size:14px}
 .contact .google-reviews{padding:32px 0;max-width:none}
 .contact .google-reviews h2{font:400 40px/1.05 "Ginora Sans",sans-serif;letter-spacing:-.02em;max-width:14ch;margin-bottom:28px}
 .contact .review-excerpts{gap:24px}.contact .review-excerpts blockquote{font-size:15px;line-height:1.8}
 .contact .footer-social{justify-content:center;gap:12px;flex-wrap:wrap;margin:32px 28px}
 .contact .footer-social>a{width:44px;height:44px}.contact .footer-social>span{font-size:12px;flex-basis:100%;text-align:center;margin:8px 0 0}
 .contact .footer-bottom{font-size:11px;line-height:1.8;padding:0 28px;gap:8px 24px}
 .contact .footer-bottom>a{display:flex;align-items:center;min-height:44px}
 /* Explicit end stop keeps the legal links reachable in the tall contact chapter. */
 .site-chapter-scroll .contact .footer-bottom{scroll-snap-align:end;scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 /* Two deliberate stops: direct contact first, Google reviews and legal next. */
 .original-site .contact.contact-paged{display:block;padding:0;min-height:0}
 .contact-paged>.contact-layout{display:none}
 .contact-chapter,.reviews-chapter{height:var(--mobile-chapter-height);min-height:var(--mobile-chapter-height);scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:flex;flex-direction:column;padding:28px 28px 64px;gap:20px;justify-content:space-between}
 .contact-chapter .footer-logo{width:100%;max-width:320px;margin:8px auto 0;flex:none}
 .contact-chapter .footer-portrait{width:clamp(104px,21svh,190px);height:auto;margin:0 auto 18px}
 .contact-chapter .footer-social{margin:0;gap:6px 12px}
 .contact-chapter .footer-social>span{margin:0}
 .reviews-chapter{height:auto;min-height:var(--mobile-chapter-height);gap:28px;padding:32px 28px 48px}
 .contact .reviews-chapter .google-reviews{border:0;padding:0;min-height:0;margin:0}
 .contact .reviews-chapter .reviews-eyebrow{font-size:10px;margin-bottom:16px}
 .contact .reviews-chapter .google-reviews h2{font-size:clamp(30px,9.6vw,40px);max-width:16ch;margin-bottom:18px}
 .contact .reviews-chapter .review-score{font-size:32px}
 .contact .reviews-chapter .review-stars{font-size:20px;letter-spacing:2px}
 .contact .reviews-chapter .review-count{font-size:11px}
 .contact .reviews-chapter .review-excerpts{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:24px;margin:24px 0;overflow:visible;scroll-snap-type:none}
 .contact .reviews-chapter .review-excerpts>figure{min-width:0;scroll-snap-align:none}
 .contact .reviews-chapter .review-excerpts blockquote{font-size:15px;line-height:1.6}
 .contact .reviews-chapter .review-excerpts figcaption{font-size:11px;line-height:1.6;margin-top:8px}
 .contact .reviews-chapter .review-excerpts figcaption span{display:inline}
 .contact .reviews-chapter .reviews-source-link{font-size:12px}
 .contact .reviews-chapter .review-source-note{font-size:11px;line-height:1.6;margin-top:16px}
 .contact .reviews-chapter .footer-bottom{padding:0;gap:0 18px;scroll-snap-align:none;scroll-margin:0;justify-content:flex-start;text-align:left;flex:none;font-size:10px}
 .contact .reviews-chapter .footer-bottom p{margin:8px 0 0}
 /* Avoid full-screen live backdrop sampling while video layers move on phones. */
 .film-controls{backdrop-filter:none;-webkit-backdrop-filter:none;background:#181816ed}
 .article-dialog{height:100dvh;width:100vw;max-height:100dvh}
 .article-toolbar{padding:calc(12px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 12px max(20px,env(safe-area-inset-left,0px));gap:12px}
 .article-toolbar .article-brand>img{width:110px}.article-toolbar-actions{gap:12px}.article-toolbar button{min-height:44px;min-width:44px}.article-toolbar .article-share{font-size:11px;gap:8px}
 .article-reading{padding:36px max(28px,env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(28px,env(safe-area-inset-left,0px))}
 .article-body{font-size:16px;line-height:1.85}.article-byline,.article-byline .article-author{font-size:11px}.article-share-options{right:20px;max-width:calc(100vw - 40px)}
 .portfolio-dialog-header{padding:calc(16px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 16px max(24px,env(safe-area-inset-left,0px));gap:16px}
 .portfolio-dialog-header>img{width:140px}.portfolio-close{min-width:44px;min-height:44px;padding:8px 12px;gap:8px}
 .portfolio-dialog-content{padding:36px max(28px,env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(28px,env(safe-area-inset-left,0px))}
 .portfolio-project p{font-size:14px;line-height:1.7}
 .original-portfolio{padding:36px 28px}.original-portfolio>p,.project-city,.project-description,.about-team>p,.about-values p{font-size:16px;line-height:1.8}
 .portfolio-grid{grid-template-columns:1fr;gap:28px}.portfolio-grid h2{font-size:24px;opacity:1}
 .project-outro{padding:24px 28px 88px;flex-wrap:wrap}.project-outro a{display:flex;align-items:center;min-height:44px;font-size:14px}
 .legal-page .legal-main{padding-top:44px}.legal-page .legal-index a{min-height:44px}
 @media(prefers-reduced-motion:no-preference){
  .site-header{animation:mobile-header-arrive .5s ease-out backwards}
  .opening-logo{animation:mobile-brand-arrive 1.25s cubic-bezier(.2,.65,.25,1) both}
  .journey-enabled .journey-sequence{height:calc(var(--journey-height)*4.65)}
  .revit-enhanced.site-chapter-scroll .original-site main>section.revit-story{height:calc((100svh - var(--site-header-height))*6)}
 }
 @media(prefers-reduced-motion:reduce){
  .revit-enhanced .revit-stage{display:block;height:auto;min-height:0;padding:36px 28px 48px}
  .revit-model{position:relative;inset:auto;height:300px;margin:12px -28px 28px}
  .revit-benefits{height:auto;margin-top:0}.revit-benefits article{margin-bottom:32px}
 }
}
@keyframes mobile-brand-arrive{from{opacity:0}to{opacity:1}}
@keyframes mobile-header-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:760px) and (max-height:680px){
 .original-site .conversation{padding:20px 24px 36px;gap:14px}
 .conversation .bronze-signature{max-width:240px;margin-top:24px}
 .conversation-content{gap:12px}.conversation-content h2{font-size:30px;line-height:1.04}.conversation-content p{font-size:13px;line-height:1.55}.conversation .whatsapp-cta{min-height:48px;padding:10px 12px;font-size:13px}
 .original-site .perspectives{padding:20px 24px 24px}.perspectives>h2{margin-bottom:18px}
 .journal,.journal:not(:first-child){padding:10px 0}.journal a,.journal:first-child a{grid-template-columns:64px minmax(0,1fr);gap:5px 14px}.journal img,.journal:first-child img{width:64px}.journal h3,.journal:first-child h3{font-size:17px}.journal a::after{font-size:10px}
 .contact-chapter{padding:20px 24px 36px;gap:12px}
 .reviews-chapter{padding:28px 24px 36px;gap:28px}
 .contact-chapter .footer-portrait{width:96px;margin-bottom:12px}.contact-chapter .footer-logo{width:86%;margin-top:0}.contact-chapter .contact-whatsapp{margin-top:14px;min-height:48px}.contact-chapter .footer-social>span{font-size:10px}
 .contact .reviews-chapter .reviews-eyebrow{font-size:10px}.contact .reviews-chapter .google-reviews h2{font-size:32px;max-width:none}
 .contact .reviews-chapter .review-rating{gap:8px 12px}.contact .reviews-chapter .review-score{font-size:30px}.contact .reviews-chapter .review-stars{font-size:18px}.contact .reviews-chapter .review-count{font-size:11px}
 .anniversary-statements{top:24px;font-size:11px;gap:18px}.anniversary-copy{font-size:22px;top:60%}.anniversary-signature{bottom:88px}
 .revit-enhanced .revit-stage{padding:20px 28px 76px;grid-template-rows:auto minmax(0,1fr) 140px}
 .revit-eyebrow{font-size:9px;margin-bottom:10px}.revit-heading h2{font-size:27px}.revit-introduction{font-size:13px;margin-top:12px}
 .revit-benefits{height:140px}.revit-benefits h3{font-size:26px}.revit-benefits article p{font-size:13px;line-height:1.6;margin-top:10px}.revit-step-label{font-size:10px;margin-bottom:8px}.revit-footer{bottom:16px}
 .revit-tour-copy{bottom:80px}.revit-tour-copy h3{font-size:29px}.revit-tour-copy p{font-size:14px}
 @media(prefers-reduced-motion:reduce){.revit-enhanced .revit-stage{display:block}.revit-introduction{display:block}.revit-benefits{height:auto}}
}
@media(max-width:360px){
 .site-header .header-brand{width:132px}
 .site-menu{padding-inline:24px}.site-menu::before{left:24px}
 .portrait .portrait-social{right:24px}.portrait .portrait-about{left:24px;width:112px}
 .article-toolbar{padding-inline:16px}.article-toolbar .article-brand>img{width:100px}
}
@media(max-width:760px) and (max-height:500px), (max-width:1024px) and (max-height:500px) and (pointer:coarse){
 html.site-chapter-scroll{--site-header-height:calc(64px + env(safe-area-inset-top,0px))}
 .original-site:not(.inner-page) .site-header,.inner-page .site-header{height:calc(64px + env(safe-area-inset-top,0px));padding-block:calc(10px + env(safe-area-inset-top,0px)) 10px}
 .site-menu{padding-top:84px}.site-menu nav{max-width:680px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.site-menu nav>a{font-size:24px;min-height:52px;padding-block:10px}.site-menu nav>.menu-login{margin:0;font-size:12px}.menu-languages{max-width:680px;padding-top:16px;margin-top:16px}
 .hero-scroll-enabled :is(#hero-scroll-video,.hero-scroll-sequence){inset:0;translate:none;width:100%;height:100%}
 .hero-scroll-enabled .opening-logo{top:50%}
 .explore{bottom:19%}
 .film-next{left:auto;right:80px;bottom:16px;transform:none}
 .anniversary-statements{left:28px;right:28px;top:16px;gap:24px;font-size:11px}
 .anniversary-years{left:0;width:100%;top:20%;height:auto}
 .anniversary-copy{left:28px;right:280px;top:82%;flex-direction:row;justify-content:space-between;font-size:20px}
 .anniversary-signature{left:auto;right:88px;bottom:22px;width:160px}.anniversary-signature img{width:160px;max-width:100%}
 .anniversary-signature>span{display:none}
 .projects-story .projects-intro{inset:4% auto 25% 50%;gap:14px}
 .projects-story .projects-kicker{font-size:10px;min-height:32px;padding:6px 12px}
 .original-site .projects-story .projects-intro h2{font-size:min(20vw,calc((100svh - var(--site-header-height,64px))*.205))}
 .projects-story .portfolio-more{inset:auto auto 14px 50%;width:300px}
 .projects-story .portfolio-more .outline-link{min-height:44px;font-size:14px;padding:10px 16px}
 .revit-enhanced .revit-stage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto minmax(0,1fr);padding:20px 32px 28px;column-gap:24px}
 .revit-heading{grid-column:1;grid-row:1}.revit-heading h2{font-size:26px}.revit-eyebrow{font-size:9px;margin-bottom:10px}.revit-introduction{display:flex;font-size:12px;line-height:1.4;margin-top:10px;gap:8px}.revit-introduction svg{height:18px}
 .revit-model{grid-column:2;grid-row:1/3;inset:auto;margin:0 -24px 0 0}
 .revit-benefits{grid-column:1;grid-row:2;align-self:end;inset:auto;width:100%;height:158px}
 .revit-benefits h3{font-size:24px}.revit-benefits article p{font-size:13px;line-height:1.55;margin-top:8px}.revit-step-label{font-size:9px;margin-bottom:8px}.revit-footer{display:none}
 .revit-tour-copy{left:32px;bottom:28px;width:45%}.revit-tour-copy h3{font-size:28px}.revit-tour-copy p{font-size:13px}
 .revit-tour-note{top:16px;left:32px}
 .original-site .conversation{padding:20px 32px 28px;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:28px}.conversation .bronze-signature{width:82%;max-width:250px;margin:0;justify-self:center}.conversation-content{gap:12px}.conversation-content h2{font-size:28px}.conversation-content p{font-size:11px;line-height:1.5}.conversation .whatsapp-cta{min-height:44px;font-size:12px;padding:10px 12px}
 .original-site .perspectives{padding:18px 32px 24px}.perspectives>h2{font-size:32px;margin-bottom:16px}.journal-grid{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px 24px}.journal,.journal:not(:first-child){padding:10px 0}.journal a,.journal:first-child a{grid-template-columns:62px minmax(0,1fr);gap:4px 12px}.journal img,.journal:first-child img{width:62px;height:100%;max-height:100px}.journal h3,.journal:first-child h3{font-size:17px}.journal a::after{font-size:10px}
 .original-site .territory{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:12px 32px;padding:16px 32px 20px}.territory .territory-heading{grid-column:2;grid-row:1;margin:0;grid-template-columns:1fr}.territory .territory-eyebrow{font-size:8px}.territory .territory-heading h2{font-size:32px}.territory .territory-intro{display:none}.territory .territory-exploration{grid-column:1;grid-row:1/3;width:100%;float:none}.territory .territory-panel{grid-column:2;grid-row:2;width:100%;margin:0;align-self:end}.territory .territory-map{height:auto;width:min(100%,calc((var(--mobile-chapter-height) - 86px)*.9386))}
 .contact-chapter{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;padding:20px 32px 28px;gap:12px 32px}.contact-chapter .footer-logo{grid-column:1;align-self:end;width:100%}.contact-chapter .contact-identity{grid-column:2;grid-row:1/3;align-self:center}.contact-chapter .footer-social{grid-column:1;align-self:start}.contact-chapter .footer-portrait{width:84px;margin-bottom:6px}.contact-chapter .contact-addresses{font-size:12px}.contact-chapter .contact-addresses a{min-height:44px}.contact-chapter .contact-whatsapp{font-size:12px;margin-top:8px;min-height:44px}
 .reviews-chapter{height:auto;padding:28px 32px;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:32px}.contact .reviews-chapter .google-reviews{margin:0}.contact .reviews-chapter .google-reviews h2{font-size:34px;max-width:none}.contact .reviews-chapter .review-excerpts{grid-template-columns:1fr 1fr;gap:24px}.contact .reviews-chapter .review-excerpts blockquote{font-size:15px}.contact .reviews-chapter .review-excerpts figcaption{font-size:11px}.contact .reviews-chapter .reviews-source-link{min-height:44px;font-size:12px}.contact .reviews-chapter .footer-bottom{align-self:end;font-size:10px}
 @media(prefers-reduced-motion:reduce){.revit-enhanced .revit-stage{display:block}.revit-heading{width:100%}.revit-model{inset:auto;height:300px;margin:16px 0}.revit-benefits{height:auto}.revit-introduction{display:block}}
}
/* Phone portrait: a persistent signature and one changing statement at a time. */
@media(max-width:760px) and (orientation:portrait){
 .anniversary{isolation:isolate}
 .anniversary-years{left:calc(100% + 12px);top:0;width:var(--mobile-chapter-height);height:auto;max-width:none;rotate:90deg;transform-origin:0 0;pointer-events:none;z-index:0}
 .anniversary-copy{top:61%;left:26px;right:22px;transform:translateY(-50%);gap:2px;font-size:clamp(30px,9.7vw,43px);line-height:1.12;letter-spacing:-.035em;z-index:1}
 .anniversary-copy>span{white-space:nowrap}
 .anniversary-statements{top:24%;bottom:auto;height:clamp(96px,20svh,150px);left:26px;right:clamp(78px,23vw,104px);display:flex;flex-direction:column;justify-content:space-between;gap:24px;font:400 clamp(22px,6.6vw,28px)/1.38 "Ginora Sans",sans-serif;letter-spacing:-.025em;z-index:1}
 .anniversary-statements{align-items:stretch}
 .anniversary-statements p br{display:initial}
 .anniversary-statements p,.anniversary-statements p+p{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);margin:0;border-left:1px solid #25252266;padding:0 0 0 16px;max-width:none}
 .anniversary-statements strong{font-weight:700}
 .anniversary-statements p+p::before{display:none;content:"";position:absolute;left:-7px;right:0;top:calc(-1*clamp(18px,4.5svh,38px));height:1px;background:#25252238}
 .anniversary-signature{left:26px;right:26px;bottom:max(76px,8.5svh);gap:16px;z-index:1}
 .anniversary-signature img{width:clamp(170px,59vw,240px);max-width:76%}
 .anniversary-signature>span{display:block;min-width:32px}
 @media(max-height:680px){.anniversary-statements{font-size:clamp(18px,5.8vw,23px);gap:20px}.anniversary-statements p+p::before{top:-18px}}
 @media(prefers-reduced-motion:no-preference){
  .journey-enabled .journey-sequence{height:calc(var(--journey-height)*6.6)}
  .journey-enabled .anniversary-copy>span{opacity:1}
  .journey-enabled .anniversary-statements>p:nth-child(1){--note-progress:var(--trajectory-note-1,0);--note-y:var(--trajectory-note-y-1,18px)}
  .journey-enabled .anniversary-statements>p:nth-child(2){--note-progress:var(--trajectory-note-2,0);--note-y:var(--trajectory-note-y-2,18px)}
  .journey-enabled .anniversary-statements>p:nth-child(3){--note-progress:var(--trajectory-note-3,0);--note-y:var(--trajectory-note-y-3,18px)}
  .journey-enabled .anniversary-statements>p{opacity:var(--note-progress);translate:0 var(--note-y)}
 }
 @media(prefers-reduced-motion:reduce){
  .anniversary{display:flex;flex-direction:column;height:auto;min-height:var(--mobile-chapter-height);padding:32px 26px 150px}
  .anniversary-copy{position:relative;inset:auto;transform:none;font-size:28px;margin-bottom:36px;order:0}
  .anniversary-statements{position:relative;inset:auto;height:auto;font-size:21px;gap:32px;order:1}
  .anniversary-statements p,.anniversary-statements p+p{position:relative;inset:auto;transform:none}
  .anniversary-statements p+p::before{display:block;top:-16px}
 }
 html:not(.journey-enabled) .anniversary{display:flex;flex-direction:column;height:auto;min-height:var(--mobile-chapter-height);padding:32px 26px 150px}
 html:not(.journey-enabled) .anniversary-copy{position:relative;inset:auto;transform:none;font-size:28px;margin-bottom:36px;order:0}
 html:not(.journey-enabled) .anniversary-statements{position:relative;inset:auto;height:auto;font-size:21px;gap:32px;order:1}
 html:not(.journey-enabled) .anniversary-statements p{position:relative;inset:auto;transform:none}
 html:not(.journey-enabled) .anniversary-statements p+p::before{display:block;top:-16px}
}
