@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#1d1233;--muted:#697173;--bg:#f5f4f0;--white:#fff;--warm:#e9e6df;--accent:#2620f6;--line:rgba(20,28,33,.18);--font:'DM Sans','Helvetica Neue',Arial,sans-serif;--display:'Space Grotesk','Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}img{max-width:100%;display:block}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.35;cursor:not-allowed}::selection{background:var(--accent);color:#111}
.container-wide{width:min(100% - 100px,1450px);margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;z-index:30;background:#fff;color:#000;padding:12px}.skip:focus{top:10px}.section-pad{padding-block:130px}.eyebrow{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.23em;font-weight:700}.eyebrow-line{width:42px;height:1px;background:var(--accent);display:block}.section-index{display:flex;flex-direction:column;gap:18px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.23em}.section-number{color:#c49c73;letter-spacing:.06em;font-size:12px}.small-index{margin-bottom:42px}.section-heading{margin:0;font:600 clamp(38px,5vw,72px)/1.16 var(--display);letter-spacing:-.059em}.section-heading em,.contact-inner h2 em,.vision-content h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.06em}.body-large{font-size:19px;line-height:1.73;letter-spacing:-.02em}
/* header */
.site-header{position:fixed;z-index:12;inset:0 0 auto;height:91px;transition:background .35s,border .35s;background:linear-gradient(180deg,rgba(7,14,20,.54),rgba(7,14,20,0));color:#fff}.site-header.scrolled{background:rgba(17,24,28,.98);border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(20px)}.nav-shell{height:100%;display:flex;align-items:center;gap:36px}.logo{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.logo-mark{width:35px;height:35px;display:flex;gap:4px;align-items:stretch;transform:skewX(-13deg)}.logo-mark span{display:block;background:var(--accent);width:7px}.logo-mark span:nth-child(2){height:65%;align-self:end}.logo-mark span:nth-child(3){height:88%;align-self:start}.logo-type{line-height:1.1;font-weight:500;letter-spacing:.17em;font-size:11px;white-space:nowrap}.logo-type strong{font-weight:800;letter-spacing:.06em}.logo-type small{display:block;letter-spacing:.24em;font-size:8px;margin-top:6px;color:#bdbbb5}.nav-links{margin:auto;display:flex;align-items:center;gap:25px}.nav-links a{font-size:12px;color:rgba(255,255,255,.85);transition:color .2s;white-space:nowrap}.nav-links a:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.locale-switch{display:flex;border:1px solid rgba(255,255,255,.35);border-radius:3px;overflow:hidden}.locale{border:0;background:transparent;color:#cfd1ce;padding:8px 9px;font-size:10px;font-weight:800;transition:.2s}.locale:not(:last-child){border-right:1px solid rgba(255,255,255,.12)}.locale.active{background:#fff;color:var(--ink)}.nav-contact{display:inline-flex;gap:22px;padding:11px 14px;border:1px solid rgba(255,255,255,.7);align-items:center;font-size:11px;font-weight:700;white-space:nowrap;transition:.2s}.nav-contact:hover{background:#fff;color:var(--ink)}.mobile-menu-toggle{display:none;border:0;background:transparent;color:#fff;width:35px;height:35px;padding:8px}.mobile-menu-toggle span{display:block;height:1px;background:#fff;margin:6px 0}.mobile-menu{position:absolute;top:91px;inset-inline:0;background:#11191d;padding:22px 6vw 28px;display:flex;flex-direction:column;gap:0;border-top:1px solid #ffffff22}.mobile-menu[hidden]{display:none}.mobile-menu a{padding:15px 0;border-bottom:1px solid #ffffff16;font-weight:600;font-size:15px}
/* hero */
.hero{height:max(680px,100svh);position:relative;background:#10171c;display:flex;align-items:center;isolation:isolate;color:#fff;overflow:hidden}.hero-bg,.hero-scrim{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-bg{object-fit:cover;object-position:58% 52%;transform:scale(1.025)}.hero-scrim{z-index:-1;background:linear-gradient(90deg,rgba(4,13,19,.90) 0%,rgba(5,14,22,.69) 34%,rgba(3,13,19,.08) 75%),linear-gradient(0deg,rgba(0,7,12,.66),transparent 40%,rgba(0,5,8,.32))}.hero-content{padding-top:90px;margin-block:auto}.hero-eyebrow{color:#fff;margin-bottom:42px}.hero h1{font-family:var(--display);font-size:clamp(54px,7vw,112px);font-weight:600;line-height:1.08;letter-spacing:-.072em;max-width:1120px;margin:0}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.077em;color:#f4e6d6}.hero-intro{font-size:16px;line-height:1.75;max-width:540px;margin:33px 0 34px;color:#f2f2f0}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:55px;padding:15px 23px;font-size:12px;font-weight:700;letter-spacing:.01em;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-accent{background:var(--accent);border:1px solid var(--accent);color:var(--ink)}.button-accent:hover{background:#e5bb92}.button-outline{border:1px solid #ffffff87;color:#fff;background:#00000021}.button-outline:hover{background:#fff;color:var(--ink)}.button-arrow{font-size:21px;line-height:1;font-weight:400}.hero-bottom{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:.14em}.hero-project{display:flex;align-items:center;gap:13px}.hero-project-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #cda37d22}.hero-project b{color:#b4aca5;margin:0 7px}.hero-scroll{display:flex;align-items:center;gap:15px;color:#ddd}.scroll-line{width:52px;height:1px;background:#eaeaeacc}.vertical-note{position:absolute;right:26px;top:46%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.3em;color:#fff9}
/* story */
.story{background:#f5f4f0}.story-layout{display:grid;grid-template-columns:22% 1fr;gap:4%}.story .section-index{padding-top:20px}.story-primary{max-width:1040px}.story-copy-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr);gap:9%;margin-top:54px}.story-copy-grid p{margin:0 0 25px}.story-copy-grid p:not(.body-large){font-size:14px;line-height:1.9;color:#5e6568}.project-facts{border-top:1px solid var(--line)}.project-facts div{display:grid;grid-template-columns:1fr 1.4fr;align-items:start;gap:16px;border-bottom:1px solid var(--line);padding:20px 0}.project-facts span{font-size:9px;font-weight:700;letter-spacing:.14em;color:#797e80}.project-facts strong{font-size:12px;font-weight:700}.story-feature{display:grid;grid-template-columns:2.1fr 1fr;gap:0;margin-top:115px;min-height:470px}.feature-image{overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.8}.feature-side{background:#1a2428;color:#eee;display:flex;flex-direction:column;justify-content:space-between;padding:38px 45px}.feature-mini-num{font-size:12px;color:var(--accent);letter-spacing:.16em}.feature-side p{font-family:var(--display);font-size:clamp(23px,2.8vw,40px);letter-spacing:-.055em;line-height:1.34;margin:0}.feature-side em{font-family:Georgia,serif;font-weight:400}.feature-line{background:var(--accent);width:64px;height:2px}
/* gallery */
.portfolio{background:#ece9e3}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px}.portfolio-head-aside{max-width:325px;padding-bottom:7px}.portfolio-head-aside p{line-height:1.85;color:#5e6769;font-size:14px;margin:0 0 42px}.micro-label{font-size:9px;font-weight:800;letter-spacing:.18em}.filter-row{border-top:1px solid var(--line);margin-top:55px;padding:24px 0 25px;display:flex;gap:10px;flex-wrap:wrap}.filter{border:1px solid #cccac4;background:transparent;color:#51595a;padding:10px 19px;font-size:11px;font-weight:700;letter-spacing:.015em;transition:.2s}.filter span{margin-left:24px;font-size:16px}.filter.active,.filter:hover{background:#182126;color:#fff;border-color:#182126}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.gallery-item{position:relative;display:block;grid-column:span 4;aspect-ratio:1.33;border:0;background:#c2c2bc;overflow:hidden;padding:0;text-align:left;color:#fff}.gallery-item.span-7{grid-column:span 7;aspect-ratio:1.47}.gallery-item.span-5{grid-column:span 5;aspect-ratio:1.05}.gallery-item.span-6{grid-column:span 6;aspect-ratio:1.60}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .4s}.gallery-item:hover img{transform:scale(1.055);filter:brightness(.8)}.gallery-item[data-index="1"] img,.gallery-item[data-index="7"] img,.gallery-item[data-index="8"] img,.gallery-item[data-index="9"] img,.gallery-item[data-index="11"] img{object-position:center 53%}.gallery-item.hidden{display:none}.gallery-overlay{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;padding:30px 22px 19px;background:linear-gradient(0deg,#081217ba,transparent);font-weight:700;font-size:13px;letter-spacing:.015em}.gallery-plus{border:1px solid #ffffff99;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:18px;font-weight:400}
/* lifestyle interstitial */
.vision-band{height:520px;position:relative;background:#293a35;color:#fff;isolation:isolate;display:flex;align-items:center}.vision-band>img,.vision-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.vision-band>img{object-fit:cover;object-position:center 50%}.vision-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,26,25,.86),rgba(5,15,20,.22) 82%)}.vision-content{width:min(100% - 100px,1450px)}.vision-content h2{font:600 clamp(35px,4.8vw,67px)/1.19 var(--display);letter-spacing:-.06em;max-width:760px;margin:24px 0 0}
/* tour */
.tour-section{background:#141d21;color:#f6f4ee}.tour-top{margin-bottom:60px}.tour-top-inner{display:flex;align-items:end;justify-content:space-between;gap:55px}.tour-description{width:330px;max-width:40%}.tour-description p{font-size:15px;line-height:1.85;color:#bfc5c4;margin:0 0 27px}.tour-tip{display:flex;align-items:center;gap:13px;color:#f2ece5;font-size:11px}.orbit-icon{font-size:28px;color:var(--accent)}.tour-shell{border:1px solid #3b474c;background:#101619}.tour-shell-top,.tour-shell-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;font-size:10px;letter-spacing:.13em;font-weight:700;color:#c7ccc9}.tour-top-sep{color:var(--accent);margin-inline:10px}.tour-live{color:#e1c09d}.tour-live i{display:inline-block;background:#92d78d;width:7px;height:7px;border-radius:50%;margin-right:8px}.tour-embed{height:min(58vw,690px);min-height:410px;background:#0b1218}.tour-embed iframe{border:0;display:block;width:100%;height:100%}.tour-shell-bottom{border-top:1px solid #2d393e;color:#a4adad;font-weight:500}
/* plans */
.plans-section{background:#f5f4f0}.plans-intro{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:68px}.plans-intro>p{max-width:370px;font-size:14px;line-height:1.9;color:#656d6e;margin:0 0 3px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.plan-card{border:1px solid #dedbd5;background:#eae8e3;min-height:320px;padding:0;overflow:hidden;display:flex;flex-direction:column;text-align:left}.plan-card.plan-large{grid-column:span 3}.plan-meta{display:flex;align-items:center;gap:17px;padding:20px 24px;border-bottom:1px solid #d8d5ce;font-size:12px}.plan-meta small{color:#a18d79;font-size:10px}.plan-meta strong{font-size:13px;font-weight:700}.plan-meta>span{margin-left:auto;font-size:19px;font-weight:400}.plan-card>:is(img,picture){max-width:100%;width:100%;object-fit:contain;height:280px;padding:25px;transition:transform .5s}.plan-card>picture>img{display:block;width:100%;height:100%;object-fit:contain}.plan-card:hover>:is(img,picture){transform:scale(1.035)}.plan-large img{height:365px;padding:15px 45px}.plan-card:nth-child(4)>picture{padding:30px 10px}
/* services */
.services-section{background:#e9e6df}.service-title-wrap{display:grid;grid-template-columns:22% 1fr;gap:4%}.services-intro{display:flex;align-items:end;justify-content:space-between;gap:45px}.services-intro>p{max-width:300px;line-height:1.85;font-size:14px;color:#5d6667;margin:0 0 7px}.services-list{margin-top:72px;border-top:1px solid #bbb9b2}.service-item{display:grid;grid-template-columns:22% 1fr 45px;gap:4%;align-items:center;border-bottom:1px solid #bbb9b2;padding:35px 0}.service-num{font-size:12px;color:#b79575;font-weight:700}.service-item h3{font:600 clamp(22px,2.4vw,35px)/1.2 var(--display);letter-spacing:-.05em;margin:0 0 12px}.service-item p{font-size:13px;line-height:1.8;color:#646b6b;margin:0;max-width:680px}.service-icon{font-size:34px;font-weight:300;color:#666}.services-footnote{margin:40px 0 0 26%;font-size:12px;color:#727774;line-height:1.7;max-width:675px}
/* contact */
.contact-section{background:#202b2c;color:#fff;overflow:hidden;position:relative}.contact-section:before{content:'P';position:absolute;right:-.03em;top:-.22em;font:800 750px/1 var(--display);color:#ffffff06;pointer-events:none;letter-spacing:-.1em}.contact-inner{position:relative;padding-block:130px 124px}.contact-eyebrow{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.22em;font-weight:700;color:#c4ac98}.contact-inner h2{font:600 clamp(42px,6.5vw,92px)/1.12 var(--display);letter-spacing:-.065em;margin:32px 0 27px}.contact-inner h2 em{color:#e3c4a3}.contact-inner>p{max-width:620px;font-size:16px;line-height:1.85;color:#d3d7d5;margin:0 0 32px}.contact-buttons{display:flex;gap:12px;flex-wrap:wrap}.contact-address{display:flex;flex-wrap:wrap;gap:40px;margin-top:58px;font-size:13px;color:#b8c0bc}.contact-address a:hover{color:#fff}
/* footer */
.footer{background:#12191c;color:#ccd0cc}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-block:52px;border-bottom:1px solid #343b3d}.footer-note{max-width:320px;font-size:12px;line-height:1.7;color:#9ca6a5}.footer-bottom{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:start;padding-block:27px 40px;font-size:9px;letter-spacing:.09em;color:#969e9b}.footer-bottom span:nth-child(2){max-width:600px;margin:auto;line-height:1.8;letter-spacing:0}.footer-bottom a{white-space:nowrap;color:#d7b899}
/* viewer */
.lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:0;background:#11191d;color:#fff;border:0;overflow:hidden}.lightbox::backdrop{background:#000e}.lightbox-top,.lightbox-bottom{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:11px;letter-spacing:.1em}.lightbox-top .lightbox-brand>span{color:#cda37d}.lightbox-close{border:1px solid #ffffff66;background:transparent;color:#fff;border-radius:50%;width:37px;height:37px}.lightbox-stage{position:relative;height:calc(100% - 134px);display:flex;align-items:center;justify-content:center;gap:15px;padding:0 60px}.lightbox-stage img{height:100%;width:100%;object-fit:contain;min-width:0}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ffffff66;border-radius:50%;background:#172126bd;color:#fff;width:47px;height:47px;font-size:24px}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-bottom{color:#bdc6c2}
/* responsive */
@media(max-width:1280px){.container-wide{width:min(100% - 64px,1320px)}.nav-links{gap:15px}.nav-shell{gap:22px}.nav-links a{font-size:11px}.nav-contact{gap:8px}.vertical-note{display:none}.hero h1{font-size:clamp(55px,7.1vw,95px)}}
@media(max-width:1060px){.nav-links,.nav-contact{display:none}.mobile-menu-toggle{display:block}.section-pad{padding-block:95px}.story-layout,.service-title-wrap{grid-template-columns:1fr;gap:32px}.story .section-index{padding:0}.section-index:not(.small-index){flex-direction:row;align-items:center}.section-heading{font-size:clamp(42px,6vw,70px)}.story-feature{margin-top:75px}.services-intro>p{max-width:285px}.services-footnote{margin-left:0}.service-item{grid-template-columns:75px 1fr 30px}.plan-card{min-height:240px}.plan-card>:is(img,picture){height:240px}}
@media(max-width:720px){.container-wide,.vision-content{width:calc(100% - 38px)}.section-pad{padding-block:74px}.site-header{height:73px}.nav-shell{gap:8px}.logo-type{font-size:9px}.logo-type small{font-size:7px}.logo-mark{width:28px;height:28px;gap:3px}.logo-mark span{width:6px}.nav-actions{gap:7px}.locale{padding:7px 7px;font-size:9px}.mobile-menu{top:73px}.hero{height:100svh;min-height:620px;align-items:center}.hero-bg{object-position:59% center}.hero-scrim{background:linear-gradient(90deg,#071218dc,#07121872 85%),linear-gradient(0deg,#071218e8,transparent 35%)}.hero-content{padding-top:76px}.hero-eyebrow{margin-bottom:27px;font-size:9px}.eyebrow-line{width:25px}.hero h1{font-size:clamp(43px,11.4vw,72px);letter-spacing:-.066em}.hero-intro{font-size:14px;line-height:1.75;margin:29px 0}.hero-ctas{flex-direction:column;align-items:stretch;max-width:310px}.button{min-height:52px}.hero-bottom{bottom:25px;font-size:8px;line-height:1.5}.hero-scroll{display:none}.story-copy-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.body-large{font-size:17px}.story-feature{grid-template-columns:1fr;margin-top:65px}.feature-image img{aspect-ratio:1.45}.feature-side{min-height:265px;padding:30px}.feature-side p{font-size:31px;max-width:350px}.section-head,.plans-intro,.tour-top-inner,.services-intro{flex-direction:column;align-items:stretch;gap:23px}.portfolio-head-aside{max-width:550px}.portfolio-head-aside p{margin-bottom:20px}.filter-row{margin-top:35px;gap:6px}.filter{padding:9px 13px;font-size:10px}.filter span{margin-left:3px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-item,.gallery-item.span-5,.gallery-item.span-6,.gallery-item.span-7{grid-column:span 1;aspect-ratio:.91}.gallery-item.span-7,.gallery-item.span-6{grid-column:span 2;aspect-ratio:1.5}.gallery-overlay{padding:30px 10px 11px;font-size:11px}.gallery-plus{height:27px;width:27px;font-size:15px}.vision-band{height:470px}.vision-content h2{font-size:42px}.tour-top{margin-bottom:33px}.tour-description{max-width:none;width:auto}.tour-embed{min-height:450px;height:70svh}.tour-shell-top,.tour-shell-bottom{padding:14px;font-size:8px}.tour-shell-bottom span:last-child{display:none}.plans-intro{margin-bottom:42px}.plan-grid{grid-template-columns:1fr 1fr;gap:8px}.plan-card.plan-large{grid-column:span 2}.plan-card{min-height:0}.plan-card>:is(img,picture){height:225px;padding:12px}.plan-large img{height:250px;padding:15px}.plan-card>picture,.plan-card:nth-child(4)>picture{padding:12px clamp(12px,6vw,30px)}.plan-meta{padding:14px;gap:9px}.plan-meta strong{font-size:10px}.plan-meta small{font-size:9px}.plan-meta>span{font-size:14px}.service-title-wrap{gap:20px}.services-list{margin-top:46px}.service-item{grid-template-columns:40px 1fr 20px;gap:10px;padding:26px 0}.service-item h3{font-size:22px}.service-item p{font-size:12px}.service-icon{font-size:20px}.contact-inner{padding-block:90px}.contact-inner h2{font-size:clamp(41px,9vw,75px)}.contact-inner>p{font-size:14px}.contact-address{gap:15px;flex-direction:column;margin-top:42px}.footer-top{align-items:flex-start;flex-direction:column;gap:28px}.footer-bottom{display:flex;flex-direction:column;gap:15px}.footer-bottom span:nth-child(2){margin:0}.lightbox-top,.lightbox-bottom{height:56px;padding:0 14px}.lightbox-stage{height:calc(100% - 112px);padding:0 35px}.lightbox-prev,.lightbox-next{width:30px;height:30px;font-size:19px}.lightbox-prev{left:5px}.lightbox-next{right:5px}}
@media(max-width:380px){.hero h1{font-size:41px}.logo-type{letter-spacing:.08em}.logo-type strong{letter-spacing:0}.locale{padding:7px 5px}.container-wide{width:calc(100% - 32px)}.gallery-overlay{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Studio Projetar 3D identity */
.brand-mark{width:38px;height:38px;object-fit:contain}
.site-header.scrolled,.mobile-menu,.footer,.tour-section,.feature-side{background:#1d1233}
.nav-links a:hover{color:#c9c6ff}
.hero-scrim{
  background:linear-gradient(90deg,#1d1233f2 0%,#1d1233bb 41%,#1d123300 100%),
             linear-gradient(0deg,#1d1233d9,transparent 28%,#1d12338c);
}
.hero h1{font-size:clamp(48px,6.6vw,100px);letter-spacing:-.07em;max-width:1120px}
.hero h1 em{font:inherit;color:#eeedff}
.hero-intro{max-width:590px}
.hero-eyebrow{margin-bottom:24px}
.hero-project-dot,.hero .eyebrow-line{background:#aaa5ff}
.button-accent{color:#fff}
.button-accent:hover{background:#403bf8;border-color:#403bf8}
.button:focus-visible,.nav-actions :focus-visible{outline-color:#aaa5ff}
.section-number,.service-num{color:#4b38a0}
.tour-section .section-number,.feature-mini-num,.tour-live,.orbit-icon{color:#cbc7ff}
.feature-side p{max-width:25ch}
.benefits{background:#1d1233;color:#f4f4e4;padding:42px 0 46px}
.benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px)}
.benefits-grid>div{border-top:1px solid #ffffff3d;padding-top:15px}
.benefits-grid span{font-size:11px;color:#b9b4ff}
.benefits h2{font:600 clamp(19px,2vw,30px)/1.18 var(--display);margin:11px 0}
.benefits p{font-size:14px;line-height:1.6;color:#dfd9e8;margin:0;max-width:39ch}
.contact-section{background:#1d1233 url('assets/brand-wave.webp') right top / min(65vw,940px) auto no-repeat}
.contact-section::before{background:linear-gradient(90deg,#1d1233 35%,#1d12334d);content:"";inset:0}
.contact-inner h2{max-width:15ch}
.contact-eyebrow,.footer-bottom a{color:#cbc7ff}
.lightbox-top .lightbox-brand>span{color:#cbc7ff}
@media(max-width:720px){
  .brand-mark{width:29px;height:29px}
  .logo{gap:7px}
  .hero-scrim{background:linear-gradient(90deg,#1d1233ed,#1d12337a),linear-gradient(0deg,#1d1233,transparent 35%)}
  .hero h1{font-size:clamp(38px,9.5vw,65px)}
  .benefits-grid{grid-template-columns:1fr;gap:25px}
  .contact-section{background-size:100% auto}
  .contact-section::before{background:linear-gradient(0deg,#1d1233 38%,#1d12336e)}
}
.direction-icon{display:block;width:1em;height:1em;flex:none}

.gallery-item.gallery-portrait{aspect-ratio:4 / 5}

/* Vertical films */
.films-section{background:var(--ink);color:#f4f4e4}
.films-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}
.films-kicker{color:#cbc7ff;font-size:10px;letter-spacing:.18em;font-weight:700}
.films-intro{max-width:58ch;line-height:1.65;color:#dfd9e8}
.film-dialog-top button{padding:10px 12px;color:inherit;background:#ffffff10;border:1px solid #ffffff55;font-size:12px}
.film-dialog-top button:hover{background:#ffffff24}
.film-track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:4px 4px 12px}
.film-card{position:relative;display:grid;align-content:end;justify-items:start;gap:8px;isolation:isolate;aspect-ratio:9 / 16;overflow:hidden;border:0;padding:16px;text-align:left;color:#fff;background:#362753;font-weight:700}
.film-card[data-repeat]{display:none}
.film-card img,.film-card video,.film-card::after{position:absolute;inset:0;width:100%;height:100%}
.film-card img,.film-card video{object-fit:contain;z-index:-2}
.film-card video{opacity:0;pointer-events:none}
.film-card video.is-playing{opacity:1}
.film-card::after{content:"";background:linear-gradient(0deg,#120b20ee,transparent 54%);z-index:-1}
.film-play{display:inline-flex;gap:6px;align-items:center;background:#1d1233de;border:1px solid #ffffff62;padding:6px 9px;font-size:11px}
.film-card:hover .film-play,.film-card:focus-visible .film-play{background:var(--accent)}
.film-card:focus-visible{outline-offset:-3px;outline-color:#cbc7ff}
.film-cta{margin-top:22px}
.film-dialog{width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:12px;border:0;color:#fff;background:#160d26;overflow:hidden}
.film-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:8px}
.film-dialog::backdrop{background:#100819e8}
.film-dialog-top{width:min(100%,750px);display:flex;align-items:center;justify-content:space-between;gap:10px}
.film-dialog-top h2{font-size:16px;margin:0}
.film-dialog video{width:100%;height:100%;min-height:0;object-fit:contain;background:transparent}

@media(max-width:720px){
  .gallery-grid .gallery-item{grid-column:span 1;aspect-ratio:1}
  .gallery-grid:not(:has(.hidden)) .gallery-item:last-child:nth-child(odd){grid-column:1 / -1;aspect-ratio:2 / 1}
  .lightbox.plan-view .lightbox-stage{padding-inline:8px;overflow:hidden}
  .lightbox.plan-view .lightbox-prev,.lightbox.plan-view .lightbox-next{z-index:1}
  .lightbox.site-plan-view .lightbox-stage img{flex:none;max-width:none;width:calc(100dvh - 112px);height:calc(100vw - 16px);transform:rotate(90deg)}
  .films-head{display:block}
  .film-card[data-repeat]{display:grid}
  @media(prefers-reduced-motion:reduce){.film-card[data-repeat]{display:none}}
  .film-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
}

.hero-project:hover{text-decoration:underline;text-underline-offset:4px}
.quote-dialog{width:min(92vw,460px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--ink);color:#f4f4e4;padding:24px;border:1px solid #ffffff55}
.quote-dialog::backdrop{background:#100819db}
.quote-top{display:flex;justify-content:flex-end}
.quote-top button{color:inherit;background:transparent;border:1px solid #ffffff55;padding:7px 12px}
.quote-dialog h2{font-size:clamp(22px,5vw,30px);line-height:1.2;margin:16px 0 20px}
.quote-answers{display:flex;flex-wrap:wrap;gap:8px}
.quote-answers .button{min-height:44px;padding:10px 14px}
.quote-answers [aria-pressed="true"]{background:#fff;color:var(--ink)}
#quote-next{margin-top:20px}
#quote-next label,#quote-next p{display:block;font-size:13px;margin:10px 0}
#quote-message{width:100%;padding:10px;font:inherit;font-size:16px;line-height:1.45;color:inherit;background:#ffffff10;border:1px solid #ffffff55;resize:vertical}
