@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--paper:#f7f6f2;--ink:#252b29;--muted:#676d66;--line:#d8dbd4;--accent:#e9edb9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #7a863c;outline-offset:6px}.skip{position:fixed;top:-80px;background:white;padding:16px;z-index:100}.skip:focus{top:0}header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{font-family:'Italiana',Georgia,serif;font-size:27px;white-space:nowrap}.brand em{font-style:normal;font-size:36px}nav{display:flex;align-items:center;gap:36px;font-size:14px}nav>a:hover{opacity:.65}.nav-cta{border-bottom:1px solid var(--ink);padding:12px 0}.nav-cta span{margin-left:20px}.menu{display:none}.hero{margin:0 20px;position:relative;min-height:660px;height:calc(100svh - 112px);max-height:1000px;isolation:isolate;color:white;background:#344c4d;overflow:hidden}.hero-img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,28,28,.57),rgba(7,28,28,.04)),linear-gradient(0deg,rgba(6,26,28,.35),transparent 55%)}.hero-top,.hero-bottom{position:absolute;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.13em}.hero-top{top:34px}.hero-bottom{bottom:28px;font-size:11px;letter-spacing:.19em}.hero-content{padding:115px 5% 90px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.19em;margin:0 0 25px}h1,h2,h3{font-family:'Italiana',Georgia,serif;font-weight:400}h1{font-size:clamp(68px,7.8vw,128px);line-height:1.04;letter-spacing:-.035em;margin:0 0 24px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}h1 em{font-size:.88em}h2 em{font-size:.89em}h1+p{font-size:17px;line-height:1.65;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;background:var(--paper);color:var(--ink);padding:19px 25px;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.intro{position:relative;display:grid;grid-template-columns:1fr 2.2fr;padding:115px 8%;border-bottom:1px solid var(--line);gap:30px;overflow:hidden}.intro>.eyebrow{padding-top:15px}.intro h2{font-size:clamp(40px,4vw,62px);line-height:1.15;letter-spacing:-.02em;margin:0 0 30px}.intro p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:640px;color:var(--muted)}.intro-mark{position:absolute;font-family:Georgia,serif;font-style:italic;font-size:230px;opacity:.045;right:3%;bottom:-60px}.places{padding:95px 8% 110px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading h2{font-size:clamp(36px,4vw,58px);line-height:1.14;margin:0}.section-heading>p{font-size:14px;color:var(--muted);line-height:1.6}.cards{display:grid;grid-template-columns:1.12fr 1fr;gap:55px}.card.second{margin-top:95px}.image-button{position:relative;display:block;border:0;padding:0;width:100%;height:530px;text-align:left;color:white;background:#345957;overflow:hidden}.second .image-button{height:430px}.image-button:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0006,transparent 35%);pointer-events:none}.image-button img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.image-button:hover img{transform:scale(1.04)}.image-label{position:absolute;left:25px;bottom:27px;font-size:11px;letter-spacing:.16em;z-index:1}.round-arrow{position:absolute;right:23px;bottom:19px;border:1px solid #ffffff90;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:24px;z-index:1}.card-caption{padding-top:22px}.card-caption h3{font-size:31px;margin:0 0 10px}.card-caption>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.closing{text-align:center;padding:90px 20px 100px;background:#e9ecdf}.closing h2{font-size:clamp(42px,5.4vw,78px);line-height:1.12;margin:0 0 38px;letter-spacing:-.025em}.dark{background:var(--ink);color:white}.dark:hover{background:#3d4c43}footer{padding:45px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer>span{font-size:12px;color:var(--muted)}dialog{width:min(650px,calc(100% - 32px));max-height:85svh;border:0;background:var(--paper);color:var(--ink);padding:50px;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#182825a8;backdrop-filter:blur(5px)}dialog h2{font-size:44px;line-height:1.08;margin:20px 0}dialog p:not(.eyebrow),dialog li{font-size:16px;line-height:1.7;color:var(--muted)}dialog h3{font-size:26px}dialog ul{padding-left:20px}.close{display:block;margin:0 0 35px auto;border:0;background:transparent;font-size:14px}.text-button{padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--ink);margin-top:15px}@media(min-width:1500px){.hero-content{padding-top:160px}}@media(max-width:760px){header{height:78px;padding:0 22px}.brand{font-size:22px}.brand em{font-size:30px}header nav{display:none}.menu{display:block;border:0;border-bottom:1px solid;background:transparent;padding:8px 0;font-size:14px}#mobile-nav:not([hidden]){display:flex;position:absolute;z-index:5;left:0;right:0;top:78px;flex-direction:column;background:var(--paper);padding:30px;gap:24px}.hero{margin:0 10px;height:calc(100svh - 90px);min-height:630px}.hero-top{top:26px;left:7%;font-size:11px}.hero-top span:last-child{display:none}.hero-content{padding:125px 7% 100px}h1{font-size:clamp(56px,11.8vw,88px)}.hero-content .eyebrow{font-size:11px}.hero-content p{font-size:16px}.hero-bottom{left:7%;right:7%;font-size:9px;letter-spacing:.1em}.intro{grid-template-columns:1fr;padding:65px 7%;gap:12px}.intro h2{font-size:42px}.intro p:not(.eyebrow){font-size:16px}.places{padding:65px 7%}.section-heading{display:block}.section-heading>p{margin-top:22px}.cards{grid-template-columns:1fr;gap:38px}.card.second{margin-top:0}.image-button,.second .image-button{height:440px}.card-caption h3{font-size:29px}.closing{padding:70px 7%}footer{flex-direction:column;align-items:start;padding:35px 7%;gap:10px}footer p{margin:4px 0 15px}dialog{padding:30px}dialog h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}[hidden]{display:none!important}

.hero-content>.eyebrow{text-transform:uppercase}.hero-description{max-width:510px}.hero h1{font-size:clamp(60px,6.8vw,104px)}@media(max-width:760px){.hero h1{font-size:clamp(42px,11.8vw,72px)}.hero-content{padding-top:115px}.hero-description{max-width:440px}}

/* Reference-inspired hospitality hero */

.hero{margin:0;min-height:960px;height:auto;max-height:none;display:flex;align-items:center}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.53),rgba(0,0,0,.23))}
.hero-content{padding:110px 7% 110px;width:100%}
.hero-content>.eyebrow{display:flex;align-items:center;gap:22px;font-size:13px;letter-spacing:.37em;font-weight:600;color:#d1d1d1;margin:0 0 42px}
.hero-content>.eyebrow:before{content:'';width:34px;height:1px;background:#a5a5a5;flex-shrink:0}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(72px,7.8vw,118px);line-height:1.02;letter-spacing:.01em;margin:0 0 38px;font-weight:400}
.hero-description{max-width:760px;color:#e0e0e0;font-family:Arial,sans-serif;font-size:19px;line-height:1.65}
.hero-description p{margin:0 0 19px}.hero-description p:last-child{margin-bottom:0}
.hero-actions{display:flex;gap:22px;max-width:660px;margin-top:44px}
.hero-actions .button{min-height:64px;flex:1;justify-content:center;text-align:center;font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.3em;background:#fff;color:#080808;border:1px solid white;padding:20px 28px}
.hero-actions .button:hover{background:#e8e8e8;transform:none}
.hero-actions .button-outline{background:transparent;color:white;border-color:#ffffff55}
.hero-actions .button-outline:hover{background:#ffffff18}
@media(max-width:760px){.hero{min-height:0}.hero-content{padding:76px 7% 72px}.hero-content>.eyebrow{font-size:11px;letter-spacing:.24em;gap:15px;margin-bottom:32px}.hero-content>.eyebrow:before{width:24px}.hero h1{font-size:clamp(46px,11.5vw,78px);line-height:1.08;margin-bottom:30px}.hero-description{font-size:16px;line-height:1.7}.hero-actions{gap:12px;margin-top:32px}.hero-actions .button{font-size:10px;letter-spacing:.18em;padding:18px 12px;min-height:58px}}

.hero{background:#132020}.video-toggle{position:absolute;right:24px;bottom:20px;background:#0006;color:white;border:1px solid #ffffff70;padding:10px 14px;font-size:12px;z-index:2}.video-toggle:hover{background:#0009}



.case-studies{position:relative;padding:100px 8%;border-top:1px solid var(--line)}.section-anchor{position:absolute;top:0}.case-studies>h2{font-size:clamp(42px,4.5vw,64px);line-height:1.1;margin:0 0 65px}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px 60px;max-width:1120px;margin:auto}.case-study{min-width:0}.reel-frame{width:100%;max-width:480px;margin:0 auto 28px;background:#fff;border:1px solid var(--line);overflow:hidden}.reel-frame iframe{display:block;width:100%;height:740px;border:0;background:white}.case-copy{max-width:480px;margin:auto}.case-copy h3{font-size:32px;line-height:1.15;margin:0 0 15px}.case-metrics{font-size:14px;line-height:1.7;margin:0 0 18px;font-weight:500}.case-strategy{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 20px}.reel-link{display:inline-block;font-size:14px;padding-bottom:5px;border-bottom:1px solid var(--line)}.reel-link:hover{border-color:var(--ink)}@media(max-width:900px){.case-grid{gap:65px 28px}.case-studies{padding:70px 5%}.reel-frame iframe{height:650px}}@media(max-width:760px){.case-studies{padding:65px 7%}.case-studies>h2{margin-bottom:40px}.case-grid{grid-template-columns:1fr;gap:60px}.reel-frame iframe{height:660px}.case-copy h3{font-size:30px}}

.drone-portfolio{padding:100px 8%;border-top:1px solid var(--line)}.drone-portfolio h2{font-size:clamp(36px,4.5vw,64px);line-height:1.15;margin:0 0 40px}.drone-portfolio video{display:block;width:100%;max-height:80vh;background:#000;object-fit:contain}@media(max-width:760px){.drone-portfolio{padding:65px 7%}.drone-portfolio h2{margin-bottom:28px}}

.drone-video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;background:#000}

.drone-project{margin-top:80px}@media(max-width:760px){.drone-project{margin-top:55px}}

.vertical-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vertical-video-grid iframe{display:block;width:100%;aspect-ratio:9/16;height:auto;border:0;background:#000;min-width:0}@media(max-width:760px){.vertical-video-grid{grid-template-columns:1fr;gap:28px}.vertical-video-grid iframe{max-width:440px;margin-inline:auto}}

/* Responsive biography with two natural-proportion portraits. */
.intro.about-with-photo{grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-template-rows:auto auto;align-items:start;gap:24px clamp(40px,6vw,88px)}
.about-copy{grid-column:1;grid-row:1/3;min-width:0}.about-copy .eyebrow{margin-bottom:28px}.about-copy p+p{margin-top:22px}
.about-gallery{display:contents}.about-gallery img{display:block;width:100%;height:auto;grid-column:2;border:0;box-shadow:none}.about-gallery img:first-child{grid-row:1}.about-gallery img:last-child{grid-row:2}
@media(max-width:760px){.intro.about-with-photo{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:28px;grid-template-areas:"heading" "headshot" "first" "second" "fpv" "third"}.about-copy{display:contents}.about-copy .eyebrow{grid-area:heading;margin:0}.about-copy p:nth-child(2){grid-area:first}.about-copy p:nth-child(3){grid-area:second}.about-copy p:nth-child(4){grid-area:third}.about-copy p+p{margin:0}.about-gallery img{max-width:400px;justify-self:center}.about-gallery img:first-child{grid-area:headshot}.about-gallery img:last-child{grid-area:fpv}}

.collaborate-page{padding:90px 8% 110px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);max-width:1600px;margin:auto}.collaborate-page h1{font-size:clamp(48px,5.8vw,84px);line-height:1.08;margin:0 0 30px}.collaborate-page>div>p:not(.eyebrow){max-width:380px;color:var(--muted);font-size:17px;line-height:1.8}.collaborate-page>div>a{display:inline-block;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:6px;font-size:15px}.collaborate-page label{display:block;font-size:14px;margin:0 0 26px;line-height:1.6}.collaborate-page input,.collaborate-page select,.collaborate-page textarea{display:block;width:100%;border:0;border-bottom:1px solid #929b93;border-radius:0;background:transparent;padding:14px 0;font:inherit;font-size:16px;color:var(--ink);resize:vertical}.collaborate-page input:focus-visible,.collaborate-page textarea:focus-visible,.collaborate-page select:focus-visible{outline:2px solid #7a863c;outline-offset:4px}.collab-submit{background:var(--ink);color:white;border:0;min-height:56px}.collab-submit:hover{background:#3c4940}.form-note{font-size:12px;color:var(--muted);line-height:1.8;max-width:440px}@media(max-width:900px){header nav{gap:20px}}@media(max-width:760px){.collaborate-page{grid-template-columns:1fr;padding:55px 7% 70px;gap:45px}.collaborate-page h1{font-size:54px}.collab-submit{width:100%;justify-content:space-between}}
