/* Keep the captured Home ancestors from becoming an extra scroll container. */
.wa-clone-home .framer-YpX8Q.framer-kz5pra,
.wa-clone-home .framer-haYBm { overflow:clip; }
/* Approved portrait-to-architecture scene; visual rules stay inside this Home hero. */
.wa-portrait-architecture {
  --gutter:clamp(24px,7.5vw,125px);
  --aw-admin-offset:0px;
  position:relative;
  width:100%;
  min-width:0;
  flex:none;
  background:#112749;
  color:#E7E0D6;
  color-scheme:dark;
  font:400 14px/normal "WA Montserrat",Montserrat,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wa-portrait-architecture *, .wa-portrait-architecture *::before, .wa-portrait-architecture *::after { box-sizing:border-box; }
.wa-portrait-architecture :is(h1,h2,p,dl) { margin:0; }
.wa-portrait-architecture a { color:inherit; text-decoration:none; border-radius:0; }
.wa-portrait-architecture img { display:block; max-width:100%; }
.wa-portrait-architecture :is(a,button):focus-visible { outline:2px solid #E7E0D6; outline-offset:5px; }
.wa-portrait-architecture ::selection { background:#E7E0D6; color:#112749; }
.wa-portrait-architecture [hidden] { display:none !important; }
.wa-portrait-architecture .scene-stage { position:relative; isolation:isolate; overflow:hidden; min-height:1120px; padding:0 var(--gutter); }
.wa-portrait-architecture .property-world { position:absolute; inset:-4%; z-index:-4; opacity:.55; pointer-events:none; }
.wa-portrait-architecture .property-world img { width:100%; height:100%; object-fit:cover; object-position:62% center; }
.wa-portrait-architecture .scene-tone { position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(90deg,rgba(17,39,73,.91),rgba(17,39,73,.74) 39%,rgba(17,39,73,.12) 79%),linear-gradient(0deg,rgba(17,39,73,.67),transparent 39%); }
.wa-portrait-architecture .portrait-figure { position:absolute; right:-1%; top:72px; width:64%; height:790px; z-index:-3; pointer-events:none; isolation:isolate; mask-image:radial-gradient(ellipse 72% 77% at 57% 43%,#000 41%,transparent 76%); -webkit-mask-image:radial-gradient(ellipse 72% 77% at 57% 43%,#000 41%,transparent 76%); }
.wa-portrait-architecture :is(.portrait-image,.architecture-exposure) { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:56% 34%; }
.wa-portrait-architecture .portrait-image { filter:grayscale(1) contrast(1.08); mix-blend-mode:screen; opacity:.92; }
.wa-portrait-architecture .architecture-exposure { mix-blend-mode:soft-light; opacity:.48; object-position:73% center; filter:contrast(1.18) saturate(.45); }
.wa-portrait-architecture .portrait-figure::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#112749 1%,transparent 52%),linear-gradient(90deg,#112749,transparent 43%); }
.wa-portrait-architecture.scene-no-portrait .portrait-figure, .wa-portrait-architecture.scene-no-property :is(.property-world,.architecture-exposure,.scene-caption) { display:none; }

/* Reserve the original header space while the fixed navigation lives at document level. */
.wa-portrait-architecture .scene-header { display:flex; align-items:center; justify-content:space-between; height:105px; position:relative; z-index:8; gap:22px; margin-inline:calc(-1 * var(--gutter)); }

.wa-portrait-architecture .scene-opening { position:relative; max-width:690px; padding:120px 0 90px; }
.wa-portrait-architecture .scene-kicker { font-size:10px; line-height:normal; letter-spacing:.19em; text-transform:uppercase; display:flex; align-items:center; gap:14px; color:rgba(231,224,214,.7); margin-bottom:26px; }
.wa-portrait-architecture .scene-kicker::before { content:''; width:27px; height:1px; flex:none; background:currentColor; opacity:.6; }
.wa-portrait-architecture .scene-opening h1, .wa-portrait-architecture .scene-perspective h2 { font-family:"WA Montserrat",Montserrat,Arial,sans-serif; font-weight:400; font-style:normal; text-transform:none; text-wrap:wrap; color:#E7E0D6; letter-spacing:-.055em; line-height:1.1; font-size:clamp(46px,5.2vw,82px); overflow-wrap:anywhere; }
.wa-portrait-architecture .scene-opening h1 span { display:block; color:rgba(231,224,214,.72); font:inherit; font-size:.82em; line-height:1.24; margin-top:9px; }
.wa-portrait-architecture .scene-opening > p:last-child { font-size:14px; line-height:1.85; max-width:32ch; margin-top:26px; color:rgba(231,224,214,.76); overflow-wrap:anywhere; }
.wa-portrait-architecture .scene-perspective { position:relative; padding:45px 0 90px; max-width:660px; }
.wa-portrait-architecture .scene-perspective h2 { font-size:clamp(43px,4.7vw,71px); max-width:12ch; }
.wa-portrait-architecture .advisor-note { font-size:14px; line-height:1.9; max-width:49ch; margin-top:24px; color:rgba(231,224,214,.81); overflow-wrap:anywhere; }
.wa-portrait-architecture .advisor-note strong { color:#E7E0D6; font-weight:400; display:block; margin-bottom:7px; font-size:16px; }
.wa-portrait-architecture .credentials { display:flex; gap:16px; flex-wrap:wrap; margin-top:23px; font-size:10px; color:rgba(231,224,214,.72); }
.wa-portrait-architecture .credentials span { display:flex; align-items:center; gap:8px; overflow-wrap:anywhere; min-width:0; }
.wa-portrait-architecture .credentials svg { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.35; }
.wa-portrait-architecture .scene-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:620px; gap:26px; margin-top:34px; padding-top:27px; border-top:1px solid rgba(231,224,214,.19); }
.wa-portrait-architecture .scene-facts > div { display:flex; flex-direction:column; }
.wa-portrait-architecture .scene-facts dd { order:1; margin:0; font-size:42px; letter-spacing:-.05em; line-height:1.2; overflow-wrap:anywhere; }
.wa-portrait-architecture .scene-facts dt { order:2; font-size:9px; line-height:1.8; letter-spacing:.06em; color:rgba(231,224,214,.61); margin-top:8px; overflow-wrap:anywhere; }
.wa-portrait-architecture .scene-facts > div:last-child dd { font-size:32px; line-height:1.55; }
.wa-portrait-architecture .scene-footer { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:25px; padding:0 0 32px; z-index:7; }
.wa-portrait-architecture .footer-action { display:flex; align-items:center; gap:25px; min-width:0; }
.wa-portrait-architecture .scene-caption { text-align:right; font-size:10px; line-height:1.9; letter-spacing:.015em; color:rgba(231,224,214,.72); overflow-wrap:anywhere; min-width:0; }
.wa-portrait-architecture .scene-caption strong { display:block; font-weight:400; font-size:12px; color:#E7E0D6; }
.wa-portrait-architecture .scene-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:51px; padding:10px 20px; background:#E7E0D6; border:1px solid #E7E0D6; color:#112749; font-size:10px; line-height:normal; max-width:100%; overflow-wrap:anywhere; transition:background .2s,transform .2s; }
.wa-portrait-architecture .scene-cta:hover { background:#fff5e9; border-color:#fff5e9; }
.wa-portrait-architecture .scene-cta > span { font-size:19px; flex:none; transition:transform .3s; }
.wa-portrait-architecture .scene-cta:hover > span { transform:translate(3px,-3px); }
.wa-portrait-architecture .scroll-cue { font-size:9px; line-height:1.7; color:rgba(231,224,214,.64); display:none; }
.wa-portrait-architecture .scroll-cue .cue-arrow { display:inline-block; margin-left:11px; font-size:15px; animation:wa-scene-cue 2s ease-in-out infinite; }
.wa-portrait-architecture .cue-text { position:relative; }
@keyframes wa-scene-cue { 0%,100% { transform:translateY(-2px); opacity:.55; } 50% { transform:translateY(3px); opacity:1; } }

.wa-portrait-architecture.scene-motion { height:190vh; height:190svh; }
.wa-portrait-architecture.scene-motion .scene-stage { position:sticky; top:var(--aw-admin-offset); height:calc(100vh - var(--aw-admin-offset)); height:calc(100svh - var(--aw-admin-offset)); min-height:0; padding:0 var(--gutter); }
.wa-portrait-architecture.scene-motion .property-world { opacity:calc(.18 + var(--p,0) * .82); transform:translate3d(0,var(--photo-y,0px),0) scale(var(--photo-scale,1.06)); will-change:transform,opacity; }
.wa-portrait-architecture.scene-motion .portrait-figure { top:8%; height:100%; opacity:var(--portrait-opacity,1); transform:translate3d(var(--portrait-x,0px),0,0) scale(var(--portrait-scale,1)); transform-origin:60% 70%; will-change:opacity,transform; }
.wa-portrait-architecture.scene-motion .architecture-exposure { opacity:calc(.23 + var(--p,0) * 1.35); }
.wa-portrait-architecture.scene-motion .scene-opening { position:absolute; left:var(--gutter); top:var(--start-top,28%); padding:0; width:53%; max-width:720px; opacity:var(--start-opacity,1); transform:translateY(var(--start-y,0px)); will-change:opacity,transform; }
.wa-portrait-architecture.scene-motion .scene-perspective { position:absolute; left:var(--gutter); top:var(--end-top,20%); padding:0; width:52%; max-width:660px; opacity:var(--end-opacity,0); transform:translateY(var(--end-y,32px)); will-change:opacity,transform; }
.wa-portrait-architecture.scene-motion .scene-footer { position:absolute; bottom:30px; left:var(--gutter); right:var(--gutter); padding:0; }
.wa-portrait-architecture.scene-motion .scroll-cue { display:block; }
.wa-portrait-architecture.scene-motion .cue-opening { opacity:var(--start-opacity,1); }
.wa-portrait-architecture.scene-motion .cue-ending { position:absolute; left:0; top:0; opacity:var(--end-opacity,0); }
/* Release the large composited layers and pause decorative motion offscreen. */
.wa-portrait-architecture.scene-motion.scene-away :is(.property-world,.portrait-figure,.scene-opening,.scene-perspective) { will-change:auto; }
.wa-portrait-architecture.scene-away *, .wa-portrait-architecture.scene-away *::before, .wa-portrait-architecture.scene-away *::after { animation-play-state:paused; }
.admin-bar .wa-portrait-architecture { --aw-admin-offset:32px; }
@media (max-width:782px) { .admin-bar .wa-portrait-architecture { --aw-admin-offset:46px; } }
@media (max-width:1000px) {
  .wa-portrait-architecture .scene-perspective { width:68% !important; }
  .wa-portrait-architecture .scene-opening h1 { font-size:clamp(44px,6vw,64px); }
  .wa-portrait-architecture .scene-perspective h2 { font-size:50px; }
  .wa-portrait-architecture .scene-facts dd { font-size:35px; }
  .wa-portrait-architecture .scene-facts > div:last-child dd { font-size:27px; }
}
@media (max-width:650px) {
  .wa-portrait-architecture { --gutter:24px; }
  .wa-portrait-architecture .scene-stage { min-height:1070px; }
  .wa-portrait-architecture .scene-header { height:80px; }
  .wa-portrait-architecture .portrait-figure { right:-29%; width:113%; height:650px; top:80px; }
  .wa-portrait-architecture .scene-opening { padding:145px 0 110px; }
  .wa-portrait-architecture .scene-opening h1 { font-size:40px; }
  .wa-portrait-architecture .scene-opening h1 span { font-size:.84em; }
  .wa-portrait-architecture .scene-kicker { font-size:8px; margin-bottom:20px; gap:11px; }
  .wa-portrait-architecture .scene-opening > p:last-child { font-size:11px; max-width:28ch; margin-top:22px; }
  .wa-portrait-architecture .scene-perspective { padding:25px 0 66px; width:100% !important; }
  .wa-portrait-architecture .scene-perspective h2 { font-size:41px; }
  .wa-portrait-architecture .advisor-note { font-size:11px; line-height:1.85; margin-top:19px; }
  .wa-portrait-architecture .advisor-note strong { font-size:13px; }
  .wa-portrait-architecture .credentials { font-size:8px; gap:14px; margin-top:17px; }
  .wa-portrait-architecture .credentials svg { width:14px; height:14px; }
  .wa-portrait-architecture .scene-facts { margin-top:26px; padding-top:21px; gap:14px; }
  .wa-portrait-architecture .scene-facts dd { font-size:31px; }
  .wa-portrait-architecture .scene-facts > div:last-child dd { font-size:23px; line-height:1.65; }
  .wa-portrait-architecture .scene-facts dt { font-size:7px; letter-spacing:.015em; max-width:12ch; margin-top:5px; }
  .wa-portrait-architecture .scene-footer { gap:16px; padding-bottom:27px; }
  .wa-portrait-architecture .footer-action { gap:0; }
  .wa-portrait-architecture .scene-caption { font-size:7px; max-width:15ch; }
  .wa-portrait-architecture .scene-caption strong { font-size:9px; }
  .wa-portrait-architecture .scene-cta { font-size:9px; min-height:46px; padding:10px 16px; gap:24px; }
  .wa-portrait-architecture.scene-motion .scene-opening { top:var(--start-top,29%); width:87%; }
  .wa-portrait-architecture.scene-motion .portrait-figure { height:95%; top:10%; }
  .wa-portrait-architecture.scene-motion .scene-perspective { top:var(--end-top,21%); width:87% !important; }
  .wa-portrait-architecture.scene-motion .scene-footer { bottom:24px; }
  .wa-portrait-architecture .scroll-cue { position:absolute; bottom:-19px; font-size:7px; }
  .wa-portrait-architecture .scene-tone { background:linear-gradient(90deg,rgba(17,39,73,.91),rgba(17,39,73,.72) 52%,rgba(17,39,73,.16)),linear-gradient(0deg,rgba(17,39,73,.75),transparent 45%); }
  .wa-portrait-architecture .property-world img { object-position:69% center; }
}
@media (max-height:650px) and (min-width:651px) {
  .wa-portrait-architecture .scene-header { height:78px; }
  .wa-portrait-architecture.scene-motion .scene-opening { top:var(--start-top,28%); }
  .wa-portrait-architecture.scene-motion .scene-perspective { top:var(--end-top,19%); width:65%; max-width:740px; }
  .wa-portrait-architecture .scene-opening h1 { font-size:47px; }
  .wa-portrait-architecture .scene-perspective h2 { font-size:44px; max-width:20ch; }
  .wa-portrait-architecture .scene-kicker { margin-bottom:16px; font-size:8px; }
  .wa-portrait-architecture .scene-opening > p:last-child { font-size:12px; margin-top:18px; }
  .wa-portrait-architecture .advisor-note { font-size:12px; margin-top:14px; line-height:1.7; max-width:62ch; }
  .wa-portrait-architecture .advisor-note strong { font-size:14px; margin-bottom:3px; }
  .wa-portrait-architecture .credentials { margin-top:14px; font-size:9px; }
  .wa-portrait-architecture .scene-facts { margin-top:19px; padding-top:17px; }
  .wa-portrait-architecture .scene-facts dd { font-size:31px; }
  .wa-portrait-architecture .scene-facts > div:last-child dd { font-size:23px; }
  .wa-portrait-architecture .scene-facts dt { margin-top:4px; font-size:8px; }
  .wa-portrait-architecture.scene-motion .scene-footer { bottom:24px; }
}
@media (max-height:600px) and (max-width:650px) {
  .wa-portrait-architecture.scene-motion .scene-opening { top:var(--start-top,28%); }
  .wa-portrait-architecture.scene-motion .scene-perspective { top:var(--end-top,19%); }
  .wa-portrait-architecture .scene-perspective h2 { font-size:34px; max-width:15ch; }
  .wa-portrait-architecture .scene-opening h1 { font-size:35px; }
  .wa-portrait-architecture .advisor-note { font-size:10px; margin-top:14px; }
  .wa-portrait-architecture .advisor-note strong { font-size:12px; }
  .wa-portrait-architecture .scene-facts { margin-top:20px; padding-top:16px; }
  .wa-portrait-architecture .scene-facts dd { font-size:28px; }
  .wa-portrait-architecture .scene-facts > div:last-child dd { font-size:21px; }
  .wa-portrait-architecture .credentials { margin-top:13px; font-size:7px; }
  .wa-portrait-architecture.scene-motion .scene-footer { bottom:29px; }
}


@media (prefers-reduced-motion:reduce) {
  .wa-portrait-architecture *, .wa-portrait-architecture *::before, .wa-portrait-architecture *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
@media print {
  .wa-portrait-architecture.scene-motion { height:auto; }
  .wa-portrait-architecture.scene-motion .scene-stage { position:relative; top:auto; height:auto; min-height:0; }
  .wa-portrait-architecture.scene-motion :is(.scene-opening,.scene-perspective) { position:relative; top:auto; left:auto; width:100% !important; padding:40px 0; opacity:1; transform:none; }
  .wa-portrait-architecture.scene-motion .scene-footer { position:relative; inset:auto; padding:0 0 32px; }
}
