.hero-film{position:relative;height:calc(100svh - var(--header-height));min-height:590px;max-height:900px;background:#365d65;color:#fff;isolation:isolate}.film-media,.film-shade,.motion-toggle{position:absolute;inset:0}.film-media{z-index:-2;overflow:hidden}.film-media video,.film-poster{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.film-media video{opacity:0}.film-ready .film-media video{opacity:1}.film-error .film-media video{opacity:0}.film-shade{z-index:-1;background:linear-gradient(180deg,#16343910 25%,#102c3680 70%,#102c36d9 100%)}.motion-toggle{width:100%;height:100%;border:0;background:transparent;color:white;touch-action:pan-y pinch-zoom}.motion-toggle svg{position:absolute;width:27px;height:32px;left:50%;top:45%;transform:translate(-50%,-50%);fill:#ffffff10;stroke:#fff;stroke-width:1.1;opacity:0;filter:drop-shadow(0 1px 5px #0005)}.film-paused .motion-toggle svg{opacity:1}.hero-copy{position:absolute;left:0;right:0;bottom:100px;pointer-events:none}.hero-copy h1{font-family:var(--serif);font-size:clamp(62px,7.4vw,108px);font-weight:400;letter-spacing:-.055em;line-height:1.04;max-width:830px}.hero-copy>p{max-width:420px;margin:25px 0 27px;color:#edf4f2;font-size:13px;line-height:1.8}.hero-copy .button{pointer-events:auto;border-color:#ffffff8c;color:#fff;min-width:192px}.hero-copy .button:hover{background:var(--paper);color:var(--ink)}.hero-location{position:absolute;right:max(48px,calc((100vw - 1280px)/2));bottom:104px;text-align:right;pointer-events:none;font-size:11px;color:#d8e6e6}.hero-location strong{display:block;font-size:16px;font-weight:400;color:white;margin-bottom:4px}.film-progress{width:105px;height:1px;background:#ffffff40;margin:18px 0 0 auto;overflow:hidden}.film-progress span{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}.hero-foot{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;color:#d8e6e6;font-size:9px;letter-spacing:.1em;pointer-events:none}
.vision{display:grid;grid-template-columns:1fr 3fr;gap:45px;border-bottom:1px solid var(--line);padding-block:70px 76px}.vision .eyebrow{margin-top:9px}.vision h2{max-width:800px;font-size:clamp(27px,3vw,40px);line-height:1.45}.vision-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px;color:var(--muted);font-size:12px;line-height:1.9}
.project-editorial{padding-block:86px}.project-editorial .section-head{margin-bottom:38px}.project-editorial .section-head h2{font-size:32px}.project-feature{display:grid;grid-template-columns:1.65fr 1fr;gap:50px;align-items:center}.project-feature-image{display:block;overflow:hidden}.project-feature-image img{width:100%;aspect-ratio:1.35;object-fit:cover}.project-feature-copy .eyebrow{margin-bottom:12px}.project-feature-copy h3{font-size:clamp(30px,3.5vw,48px);margin-bottom:22px}.project-feature-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.9;max-width:340px}.feature-facts{margin:27px 0;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.feature-facts div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line);font-size:10px}.feature-facts dt{color:var(--muted)}.feature-facts dd{margin:0;text-align:right}.secondary-projects{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:52px}.secondary-project{display:grid;grid-template-columns:1.08fr 1fr;gap:25px;align-items:center;border-top:1px solid var(--line);padding-top:28px}.secondary-project>a{display:block;overflow:hidden}.secondary-project img{width:100%;aspect-ratio:1.2;object-fit:cover}.secondary-project .eyebrow{font-size:8px;margin-bottom:11px;letter-spacing:.09em}.secondary-project h3{font-size:22px;line-height:1.35}.secondary-project p:not(.eyebrow){font-size:11px;color:var(--muted);margin:13px 0}.secondary-project .text-link{font-size:10px}
.region-section{background:#e8ede8;padding-block:78px 86px}.region-section .section-head{align-items:start}.region-section h2{font-size:33px}.region-section .section-head>p{font-size:12px;max-width:310px}.region-index{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;margin-top:42px}.region-lead>a{display:block;overflow:hidden}.region-lead img{aspect-ratio:1.6;width:100%;object-fit:cover}.region-lead .region-heading{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.region-lead h3{font-size:31px}.region-lead .region-heading span{font-size:10px;color:var(--muted)}.region-lead>p{font-size:12px;color:var(--muted);margin-top:12px;max-width:440px}.region-list{display:grid;grid-template-columns:1fr;gap:0}.region-row{display:grid;grid-template-columns:108px 1fr;gap:25px;align-items:center;padding:18px 0;border-top:1px solid #c6d1cb}.region-row:first-child{padding-top:0;border:0}.region-row:last-child{padding-bottom:0}.region-row img{width:108px;aspect-ratio:1.3;object-fit:cover}.region-row h3{font-size:21px}.region-row p{color:var(--muted);font-size:10px;margin-top:5px;line-height:1.7}.region-row a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-section{display:grid;grid-template-columns:1.35fr 1fr;gap:90px;align-items:center;padding-block:70px}.contact-section h2{font-size:32px;max-width:550px;line-height:1.4;margin:12px 0 22px}.contact-section>div>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:470px;margin-bottom:25px}.contact-detail{border-left:1px solid var(--line);padding-left:50px}.contact-detail h3{font-size:17px;letter-spacing:-.02em;margin-bottom:15px}.contact-detail p{color:var(--muted);font-size:11px}.contact-detail [data-contact-links]{margin:18px 0}.contact-detail [data-contact-links]:empty{display:none}.business-placeholder[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){.project-feature-image img,.secondary-project img,.region-lead img{transition:transform .6s cubic-bezier(.2,.65,.3,1)}.project-feature-image:hover img,.secondary-project>a:hover img,.region-lead>a:hover img{transform:scale(1.025)}}
@media(max-width:1050px){.hero-location{right:32px}.project-feature{gap:30px}.secondary-projects{gap:28px}.secondary-project{display:block}.secondary-project img{aspect-ratio:1.55}.secondary-project>div{margin-top:20px}.region-index{gap:35px}.contact-section{gap:40px}.contact-detail{padding-left:35px}}
@media(max-width:760px){.hero-film{height:calc(92svh - var(--header-height));min-height:580px;max-height:820px}.hero-copy{bottom:110px}.hero-copy h1{font-size:clamp(52px,11vw,76px);max-width:550px}.hero-copy>p{font-size:12px;max-width:300px;margin:22px 0}.hero-copy .button{min-width:180px}.hero-location{right:20px;bottom:36px;font-size:9px}.hero-location strong{font-size:13px}.film-progress{display:none}.hero-foot{bottom:37px;font-size:8px}.hero-foot span:last-child{display:none}.vision{display:block;padding-block:45px}.vision .eyebrow{margin:0 0 18px}.vision h2{font-size:27px;line-height:1.4}.vision-copy{grid-template-columns:1fr;gap:18px;margin-top:23px;font-size:12px}.project-editorial{padding-block:55px}.project-editorial .section-head h2{font-size:27px}.project-editorial .section-head .text-link{margin-top:17px}.project-feature{display:block}.project-feature-image img{aspect-ratio:1.25}.project-feature-copy{padding-top:28px}.project-feature-copy h3{font-size:35px;margin-bottom:15px}.project-feature-copy>p:not(.eyebrow){max-width:100%}.feature-facts{margin:22px 0}.secondary-projects{gap:28px;margin-top:36px}.secondary-project{padding-top:20px}.secondary-project img{aspect-ratio:1.1}.secondary-project h3{font-size:19px}.secondary-project p:not(.eyebrow){font-size:10px}.secondary-project .eyebrow{font-size:8px;letter-spacing:0}.region-section{padding-block:50px}.region-section h2{font-size:28px}.region-section .section-head>p{max-width:100%;margin-top:15px}.region-index{grid-template-columns:1fr;gap:32px;margin-top:25px}.region-lead h3{font-size:26px}.region-row{grid-template-columns:100px 1fr;gap:20px;padding-block:18px}.region-row img{width:100px}.region-row h3{font-size:20px}.contact-section{display:block;padding-block:50px}.contact-section h2{font-size:28px}.contact-detail{margin-top:35px;padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:360px){.secondary-projects{grid-template-columns:1fr}.secondary-project{display:grid;grid-template-columns:105px 1fr;gap:18px}.secondary-project>div{margin:0}.secondary-project img{aspect-ratio:1}.hero-copy h1{font-size:49px}.hero-location strong{font-size:11px}.hero-foot{font-size:7px}.hero-location{max-width:170px}}
.transaction-note{font-size:11px;color:var(--muted);margin:-18px 0 32px;max-width:560px}
.project-transactions{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);margin-top:22px;padding-top:20px}
.project-transactions .button{flex:1 1 140px;min-height:44px;padding:11px 12px;font-size:11px;text-align:center}
.secondary-project .project-transactions{gap:8px;margin-top:18px;padding-top:16px}
.secondary-project .project-transactions .button{font-size:10px}

/* CoastalViet: full-cover destination photography, 5 covers, restrained opacity motion. */
.cover-carousel{position:relative;isolation:isolate;height:calc(100svh - var(--header-height));min-height:620px;max-height:1000px;background:#173b46;color:#fff;overflow:hidden;touch-action:pan-y}
.cover-slides,.cover-slide,.cover-slide>img,.cover-shade{position:absolute;inset:0;width:100%;height:100%}
.cover-slide{opacity:0;pointer-events:none;transition:opacity 1.2s cubic-bezier(.45,0,.55,1)}
.cover-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.cover-slide>img{object-fit:cover;object-position:center}
.cover-shade{background:linear-gradient(90deg,rgba(5,30,39,.03) 12%,rgba(4,24,32,.12) 40%,rgba(4,24,32,.78) 100%),linear-gradient(0deg,rgba(4,24,32,.6),transparent 30%)}
.cover-copy{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center;flex-direction:column;text-align:right;padding-bottom:60px}
.cover-overline{font-size:11px;letter-spacing:.22em;margin-bottom:28px}
.cover-copy h1,.cover-copy h2{font-family:var(--sans);font-size:clamp(60px,6.5vw,100px);font-weight:400;line-height:1.12;letter-spacing:-.045em;max-width:800px;color:#fff}
.cover-copy>p:not(.cover-overline){font-size:16px;line-height:1.7;margin:25px 0 32px;max-width:510px}
.cover-link{display:inline-flex;gap:65px;align-items:center;min-height:48px;border-bottom:1px solid #ffffff90;padding-bottom:8px;font-size:14px}
.cover-link:hover span{transform:translate(3px,-3px)}.cover-link span{font-size:25px;transition:transform .25s}
.cover-controls{position:absolute;bottom:45px;left:0;right:0;z-index:3;display:flex;align-items:center;gap:22px}
.cover-numbers{display:flex;gap:12px}.cover-numbers button{border:1px solid #ffffff80;border-radius:50%;width:46px;height:46px;background:#0a263d24;color:white;font-size:13px}
.cover-numbers button[aria-pressed=true]{background:#fff;color:#173b46;border-color:#fff}.cover-numbers button:hover{background:#ffffff36}
.cover-pause{min-height:44px;border:0;border-bottom:1px solid #ffffff80;background:transparent;color:white;padding:7px 2px;font-size:12px}.cover-counter{margin-left:auto;font-size:11px;letter-spacing:.2em}
.cover-credit{position:absolute;bottom:110px;left:max(48px,calc((100vw - 1280px)/2));max-width:450px;font-size:10px;color:#fff;line-height:1.5;text-shadow:0 1px 5px #000}
.coastal-vision{padding-block:100px}.vision-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:85px;align-items:end;margin:28px 0 45px}.vision-heading h2{font-size:clamp(32px,3.5vw,50px);line-height:1.25}.vision-heading>p{color:var(--muted);font-size:14px;max-width:390px}
.vision-principles{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-top:1px solid var(--line);padding-top:28px}.vision-principles article>span{font-size:10px;letter-spacing:.15em;color:var(--gold)}.vision-principles h3{font-size:21px;margin:17px 0 12px}.vision-principles p{max-width:440px;color:var(--muted);font-size:13px}
.deal-section{background:#eaece5;padding-block:80px}.deal-section .section-head{align-items:center}.deal-section h2{font-family:var(--serif);font-size:56px;font-weight:400;margin-top:12px}.deal-section .section-head>p{max-width:520px;font-size:12px}.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.deal-card{min-width:0;background:var(--paper)}.deal-card img{height:250px;width:100%;object-fit:cover}.deal-copy{padding:22px 26px 30px}.deal-image-note{color:var(--muted);font-size:10px;line-height:1.5;margin-bottom:25px}.deal-copy h3{font-size:21px;line-height:1.45;margin:12px 0 18px}.deal-price{font-family:var(--serif);font-size:40px;line-height:1.2}.deal-price small{font-family:var(--sans);font-size:11px}.deal-condition{font-size:11px;margin:8px 0 20px;color:var(--gold)}.deal-copy>p:not([class]){font-size:12px;color:var(--muted);line-height:1.9}.deal-source{font-size:10px;color:var(--muted);line-height:1.8;margin:22px 0 18px}.deal-note{max-width:840px;color:var(--muted);font-size:11px;margin-top:32px}.deal-expired{padding:35px}
.consultation{padding-block:90px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.consultation h2{font-family:var(--sans);font-size:48px;font-weight:400;margin:20px 0 25px}.consultation>div>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:13px}.consultation .consult-channel{font-size:11px;margin-top:30px;border-top:1px solid var(--line);padding-top:22px}
.consult-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-content:start}.consult-form label{display:block;font-size:11px;font-weight:500}.consult-form input,.consult-form select,.consult-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #a1aba5;background:transparent;color:var(--ink);padding:12px 0;border-radius:0;font-size:13px}.consult-form textarea{resize:vertical}.consult-wide{grid-column:1/-1}.consult-form .button{justify-self:start}.consult-draft{border-top:1px solid var(--line);padding-top:20px}.consult-draft textarea{font-size:11px}.consult-draft .button{margin-top:20px}.consult-draft [role=status]{font-size:11px;margin-top:15px}
@media(max-width:1050px){.cover-copy{padding-bottom:80px}.cover-copy h1,.cover-copy h2{font-size:80px}.cover-credit{left:32px;max-width:340px}.vision-heading,.vision-principles{gap:35px}.deal-grid{gap:20px}.deal-copy{padding:18px}.deal-card img{height:210px}.consultation{gap:35px}.consultation h2{font-size:42px}}
@media(max-width:760px){.cover-carousel{height:calc(90svh - var(--header-height));min-height:590px;max-height:820px}.cover-shade{background:linear-gradient(0deg,rgba(4,24,32,.85),rgba(4,24,32,.4) 58%,rgba(4,24,32,.05))}.cover-copy{justify-content:flex-end;padding-bottom:190px;align-items:flex-end}.cover-overline{font-size:9px;margin-bottom:18px}.cover-copy h1,.cover-copy h2{font-size:clamp(48px,12vw,72px)}.cover-copy>p:not(.cover-overline){font-size:12px;margin:18px 0 20px}.cover-link{gap:45px;font-size:13px}.cover-controls{bottom:28px;gap:14px;flex-wrap:wrap}.cover-numbers{gap:8px}.cover-numbers button{width:44px;height:44px}.cover-pause{margin-left:auto;font-size:10px}.cover-counter{display:none}.cover-credit{left:20px;bottom:97px;max-width:calc(100% - 40px);font-size:9px}.coastal-vision{padding-block:60px}.vision-heading{display:block;margin-top:20px}.vision-heading>p{margin-top:25px}.vision-principles{gap:25px}.vision-principles h3{font-size:18px}.vision-principles p{font-size:11px}.deal-section{padding-block:50px}.deal-section h2{font-size:45px}.deal-section .section-head>p{margin-top:20px}.deal-grid{grid-template-columns:1fr;gap:28px}.deal-card img{height:auto;aspect-ratio:1.5}.deal-copy{padding:22px}.deal-copy h3{font-size:23px}.deal-note{font-size:10px}.consultation{display:block;padding-block:55px}.consultation h2{font-size:42px}.consult-form{margin-top:40px;gap:25px}.consult-form label{font-size:11px}.consult-form input,.consult-form select,.consult-form textarea{font-size:16px}.consultation .consult-channel{font-size:11px}}
@media(max-width:360px){.cover-carousel{min-height:640px}.cover-controls{column-gap:4px;row-gap:8px}.cover-numbers{gap:5px}.cover-numbers button{width:44px}.cover-pause{font-size:10px;margin-left:0}.cover-credit{bottom:150px}.cover-copy{padding-bottom:235px}.cover-copy h1,.cover-copy h2{font-size:47px}.vision-principles{grid-template-columns:1fr}.consult-form{grid-template-columns:1fr}.consult-wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.cover-slide,.cover-link span{transition:none}.cover-carousel{scroll-behavior:auto}}
