.nos-intro,.nos-video{background:#faf8f3;color:#26221c}
.nos-night .nos-intro h2,.nos-night .nos-video h2{color:#26221c}
.nos-intro-body p,.nos-intro-body p:first-child,.nos-video-head p,.nos-video-note{color:#655d50}
.nos-intro-body p:first-child{color:#342d23}
.nos-player{box-shadow:0 20px 60px -35px #48311860}
.nos-casa{padding-top:clamp(80px,9vw,120px);background:#21180f}
.nos-threshold{display:none}
.nos-casa-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,5vw,72px)}
.nos-diagram svg{display:block;overflow:hidden}
#scene-art{stroke-linecap:round;stroke-linejoin:round}
.house-part{transition:opacity .25s,filter .25s}
.house-part[data-selected="true"]{filter:drop-shadow(0 0 9px #f5a52465)}
.house-part[data-selected="false"]{opacity:.48}
.scene-line{fill:none;stroke:#e8c58a;stroke-width:2.5}
.scene-soft{fill:none;stroke:#8c7150;stroke-width:1.5}
.scene-title{fill:#f7eddf;font:500 17px Geist,Arial,sans-serif;letter-spacing:.01em}
.scene-note{fill:#c9b49c;font:400 13px Geist,Arial,sans-serif}
.scene-gold{fill:#f5a524}
.draw-in{stroke-dasharray:1800;stroke-dashoffset:0;animation:draw-path 1.6s ease both}
.scene-enter{animation:scene-appear .65s ease both;transform-origin:center}
.sun-rise{animation:sun-rise 1.4s ease both}
.road-light{fill:none;stroke:#f5a524;stroke-width:3;stroke-dasharray:5 15;animation:road-flow 4s linear 2}
@keyframes draw-path{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}
@keyframes scene-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes sun-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes road-flow{to{stroke-dashoffset:-100}}
.nos-casa-list button{font-size:16px;padding:12px 15px;gap:12px}
.nos-casa-list button small{display:block;color:#c9b49c;font-size:12px;margin-bottom:2px}
#house-caption{font-size:14px;line-height:1.6;min-height:48px;margin:24px 15px 0;color:#c9b49c}
#house-statement h3{font-size:clamp(28px,3.4vw,44px);line-height:1;letter-spacing:-.035em;margin:0 0 22px;font-family:var(--display)}
#house-statement p{font-size:clamp(18px,1.7vw,22px);line-height:1.75;color:#e4d7c4;margin:0;text-wrap:pretty}
#house-statement .statement-label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f5a524;margin-bottom:18px}
.house-replay{display:block;margin:35px auto 0;border:1px solid #f7eddf35;color:#ddc9aa;background:transparent;padding:10px 18px;border-radius:25px;cursor:pointer;font:inherit;font-size:12px}
.house-replay:hover{background:#ffffff0a}
.nos-tab:focus-visible,.house-replay:focus-visible{outline:2px solid #f5a524;outline-offset:5px}
[hidden]{display:none!important}
@media(max-width:760px){.nos-casa-grid{grid-template-columns:1fr;gap:20px}.nos-diagram{max-width:550px;width:100%;margin:auto}#house-statement p{font-size:18px}.nos-casa-list button{font-size:15px}#house-caption{min-height:0}.nos-casa-head{max-width:100%}}
@media(prefers-reduced-motion:reduce){.draw-in,.scene-enter,.sun-rise,.road-light{animation:none!important}.house-part{transition:none}}

.house-world{display:block;width:100%;height:auto;border-radius:24px;outline:none}.nos-casa-grid{align-items:center}.nos-diagram{min-width:0}

/* One landscape fills the panel; the editorial content sits over its quiet side. */
.nos-casa{overflow:hidden}
.nos-casa > .nos-wrap{max-width:1480px}
.nos-casa-grid{position:relative;display:flex;justify-content:flex-end;min-height:710px;isolation:isolate;gap:0}
.nos-casa-grid .nos-diagram{position:absolute;inset:-50px -60px -45px;max-width:none;width:auto;height:auto;z-index:-2;margin:0;overflow:hidden;
mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent),linear-gradient(to right,transparent,#000 8%,#000 90%,transparent);mask-composite:intersect;
-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent),linear-gradient(to right,transparent,#000 8%,#000 90%,transparent);-webkit-mask-composite:source-in}
.nos-casa-grid:after{content:'';position:absolute;inset:-50px -60px -45px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 28%,rgba(33,24,15,.3) 44%,rgba(33,24,15,.88) 60%,#21180ff5 83%)}
.house-world{border-radius:0;height:100%;width:100%}
#house-copy{width:43%;padding:30px 22px 35px 30px;align-self:center;text-shadow:0 1px 8px #21180f60}
#house-statement p{font-size:clamp(18px,1.5vw,21px)}
.nos-casa-list button[aria-pressed=true]{background:#21180f70}
.house-replay{position:relative;margin-top:12px}
.house-ambient{display:block;margin:15px auto 0;padding:7px 12px;color:#d4c2aa;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:12px;cursor:pointer}
.house-ambient:focus-visible{outline:2px solid #f5a524;outline-offset:4px}
@media(max-width:1000px) and (min-width:761px){#house-copy{width:46%;padding-right:0}.nos-casa-grid{min-height:740px}.nos-casa-grid:after{background:linear-gradient(90deg,transparent 20%,#21180f55 40%,#21180fe8 59%,#21180f 95%)}}
@media(max-width:760px){.nos-casa-grid{display:block;min-height:0;padding-top:360px}.nos-casa-grid .nos-diagram{inset:-35px -28px auto;height:440px;mask-image:linear-gradient(transparent,#000 12%,#000 68%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 68%,transparent)}.nos-casa-grid:after{inset:270px -28px auto;height:140px;background:linear-gradient(transparent,#21180f)}#house-copy{position:relative;z-index:1;width:100%;padding:0 0 24px}.house-world{height:100%}.house-replay{margin-top:5px}}

/* Quiet accordion; only the chosen architectural element turns gold. */
#casaList li{border-bottom:1px solid #e6d4b31c}
#casaList button{width:100%;text-align:left;border-radius:8px;padding:12px 14px;gap:13px}
#casaList button[aria-expanded=true]{color:#efbd64;background:#21180f90}
#casaList button[aria-expanded=false] .dot{background:#8e9699;box-shadow:none}
.pillar-plus{margin-left:auto;font-size:23px;font-weight:300;transition:transform .25s}
[aria-expanded=true] .pillar-plus{transform:rotate(45deg)}
.pillar-detail{padding:0 18px 17px 18px;animation:pillar-reveal .25s ease-out}
.pillar-detail p{font-size:14px;line-height:1.65;color:#e4d8c8;margin:5px 0 12px}
.pillar-scripture{border-left:2px solid #ba914e;padding-left:13px}
.pillar-scripture span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#b9a98e}
.pillar-scripture a{display:inline-block;color:#edc17b;font-size:14px;margin:4px 0;text-underline-offset:3px}
.pillar-scripture small{display:block;font-size:12px;line-height:1.6;color:#d0c3b1}
.pillar-scripture em{font-style:normal;color:#aa9d8b}
#casaList button:focus-visible,.pillar-scripture a:focus-visible{outline:2px solid #edc17b;outline-offset:3px}
.house-part[data-selected=false]{filter:grayscale(1);opacity:.65}
@keyframes pillar-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pillar-detail{animation:none}.pillar-plus{transition:none}}

/* Elliptical feathering merges the landscape into the section without rectangular corners. */
.nos-casa-grid .nos-diagram{mask-image:radial-gradient(ellipse 63% 59% at 46% 49%,#000 44%,#000d 62%,transparent 91%);-webkit-mask-image:radial-gradient(ellipse 63% 59% at 46% 49%,#000 44%,#000d 62%,transparent 91%);mask-composite:add;-webkit-mask-composite:source-over}
@media(max-width:760px){.nos-casa-grid .nos-diagram{mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 35%,#000d 57%,transparent 88%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000 35%,#000d 57%,transparent 88%)}}

/* Cutout portraits: warm doorway and offset architectural linework on white. */
.nos-team-section{background:#fff;overflow:hidden}
.nos-team-section .nos-team-lead{grid-template-columns:1.05fr 1fr;gap:clamp(32px,7vw,110px)}
.nos-team-section .nos-portrait{display:block;width:100%;position:relative;isolation:isolate;aspect-ratio:1/1;border:0;padding:0;border-radius:0;background:none;overflow:visible;cursor:pointer;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}
.portrait-gold{position:absolute;z-index:-2;inset:18% 10% 0 10%;border-radius:50% 50% 3px 3px;background:linear-gradient(135deg,#f3cb79,#dba238);transform:rotate(-4deg);transform-origin:50% 100%;transition:transform .65s cubic-bezier(.2,.7,.3,1)}
.portrait-arches{position:absolute;z-index:-1;width:85%;height:88%;left:15%;bottom:0;stroke:#444d47;stroke-width:2;opacity:.5;transform:rotate(5deg);transition:transform .65s ease,opacity .4s}
.nos-team-section .nos-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:grayscale(1);transition:filter .5s ease,transform .65s cubic-bezier(.2,.7,.3,1);transform-origin:center bottom}
.portrait-cutout:is(:hover,:focus-visible,[aria-pressed=true]) img{filter:grayscale(0);transform:translateY(-4px) scale(1.025)}
.portrait-cutout:is(:hover,:focus-visible,[aria-pressed=true]) .portrait-gold{transform:rotate(0)}
.portrait-cutout:is(:hover,:focus-visible,[aria-pressed=true]) .portrait-arches{transform:rotate(0) translateX(4%);opacity:.72}
.portrait-cutout:focus-visible{outline:2px solid #9a681a;outline-offset:8px}
.nos-team-section .portrait-pending{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;border-radius:20px;background:#fffffff0;color:#645c50;font-size:11px;letter-spacing:.03em}
.nos-team-section .nos-member:nth-child(even) .portrait-gold{background:linear-gradient(135deg,#f1dfb5,#dfb45f);transform:rotate(4deg)}
.nos-team-section .nos-member:nth-child(even) .portrait-arches{left:0;transform:rotate(-5deg)}
.nos-team-section .nos-member b{margin-top:25px}
.nos-team-section .nos-team-grid{gap:clamp(25px,4vw,56px)}
@media(max-width:760px){.nos-team-section .nos-team-lead{grid-template-columns:1fr}.nos-team-lead .portrait-cutout{max-width:460px;margin:auto}.nos-team-section .nos-team-grid{gap:34px 22px}.portrait-arches{stroke-width:2.5}}
@media(prefers-reduced-motion:reduce){.portrait-cutout img,.portrait-gold,.portrait-arches{transition:none!important}}
/* Small architectural accent, approximately 55% of the portrait width. */
.nos-team-section .portrait-gold{inset:auto 9% 8% auto;width:55%;height:66%;border-radius:50% 50% 3px 3px}
.nos-team-section .portrait-arches{left:auto;right:5%;bottom:7%;width:58%;height:69%}
.nos-team-section .nos-member:nth-child(even) .portrait-gold{left:9%;right:auto}
.nos-team-section .nos-member:nth-child(even) .portrait-arches{left:5%;right:auto}


/* A single moving scene unifies the service teams. */
.departments-motion{position:relative;isolation:isolate;overflow:hidden;background:#211a13;color:#fff;margin:30px 0 clamp(72px,9vw,128px);padding:clamp(72px,8vw,112px) 0}
.departments-background{position:absolute;inset:0;z-index:-2;pointer-events:none;background:#211a13}
.departments-background video{width:100%;height:100%;object-fit:cover;filter:grayscale(.65) sepia(.25) brightness(.65);opacity:.8}
.departments-motion:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#16130feb 8%,#231c14a8 70%,#61431870),linear-gradient(0deg,#17130de0,transparent 70%)}
.departments-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}
.departments-motion .nos-sec-head{max-width:730px}
.departments-motion .nos-sec-head h2{color:#fff;font-size:clamp(32px,4vw,52px);line-height:.98;letter-spacing:-.035em}
.departments-motion .nos-sec-head p{color:#e1dcd3;max-width:540px}
.departments-motion .nos-sec-head .departments-eyebrow{color:#e6bb6c;font-size:11px;letter-spacing:.19em;font-weight:600;margin-bottom:24px}
.departments-pause{flex-shrink:0;background:#ffffff0d;color:#e9dfcf;border:1px solid #ffffff40;border-radius:30px;padding:10px 16px;font:inherit;font-size:12px;cursor:pointer;margin-top:5px}
.departments-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.department-card{display:flex;flex-direction:column;min-height:310px;padding:32px;border:1px solid #ffffff35;border-radius:24px;background:#211c17c9;backdrop-filter:blur(14px);text-decoration:none;color:#fff;transition:transform .3s,border-color .3s,background .3s}
.department-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#d3a85d1a;color:#eac17b;margin-bottom:30px}
.department-icon svg{width:39px;height:39px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.department-card h3{font-family:var(--display);font-size:clamp(21px,2.2vw,29px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance;margin:0 0 12px}
.department-card p{font-size:15px;line-height:1.55;color:#d1c8ba;margin:0 0 30px}
.department-explore{margin-top:auto;padding-top:20px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e9c78c}
.department-explore span{font-size:21px}
.department-card:hover,.department-card:focus-visible{transform:translateY(-6px);border-color:#e5b86c99;background:#3d3021df}
.department-card:focus-visible,.departments-pause:focus-visible{outline:2px solid #f1c777;outline-offset:5px}
@media(max-width:760px){.departments-heading{display:block}.departments-heading .nos-sec-head{margin-bottom:24px}.departments-pause{margin-bottom:30px}.departments-cards{grid-template-columns:1fr;gap:16px}.department-card{min-height:0;padding:26px}.department-icon{margin-bottom:22px}.department-card p{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.department-card{transition:none}.department-card:hover,.department-card:focus-visible{transform:none}}

/* Keep the oval silhouette, with zero opacity along the entire top edge. */
.nos-casa-grid .nos-diagram{
  --scene-oval:radial-gradient(ellipse 63% 59% at 46% 49%,#000 44%,#000d 62%,transparent 91%);
  --scene-top-fade:linear-gradient(to bottom,transparent 0%,#0000 2%,#0004 7%,#000b 14%,#000 23%,#000 73%,#000b 84%,#0004 93%,#0000 98%,transparent 100%);
  -webkit-mask-image:var(--scene-oval),var(--scene-top-fade);
  mask-image:var(--scene-oval),var(--scene-top-fade);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
@media(max-width:760px){
  .nos-casa-grid .nos-diagram{
    --scene-oval:radial-gradient(ellipse 70% 60% at 50% 45%,#000 35%,#000d 57%,transparent 88%);
  }
}

/* Navigation sits above the scene and its blending overlays. */
.nos-casa .nos-tabs{position:relative;z-index:2}
.nos-casa .nos-casa-grid{z-index:0}
