@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--accent:#1f9f99;--petrol:#073f42;--petrol-dark:#032b2d;--coral:#ef6d5a;--cream:#f4f0e8;--ink:#123033;--white:#fff;--line:rgba(18,48,51,.18);--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:300 16px/1.65 Inter,system-ui,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}.kicker{margin:0 0 18px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}h1,h2,h3,p{word-break:normal}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:600;transition:.25s}.btn-solid{background:var(--accent);border-color:var(--accent);color:white}.btn-solid:hover{background:var(--coral);border-color:var(--coral)}.btn-ghost{color:white;border-color:rgba(255,255,255,.65);background:rgba(0,0,0,.08)}.btn-ghost:hover{background:white;color:var(--petrol)}.btn-light{background:white;border-color:white;color:var(--petrol)}.btn-light:hover{background:var(--coral);border-color:var(--coral);color:white}.text-link{display:inline-flex;gap:34px;align-items:center;margin-top:28px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--petrol)}.text-link span{font-size:20px;color:var(--accent)}
.demo-banner{position:fixed;z-index:100;top:0;left:0;right:0;height:30px;background:var(--coral);color:#fff;text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;line-height:30px}.demo-banner a{text-decoration:underline}.demo-banner+.site-header{top:30px}.site-header{position:fixed;z-index:90;top:0;left:0;right:0;height:78px;padding:0 4vw;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;background:rgba(3,43,45,.84);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);color:white}.brand{justify-self:start;display:flex;flex-direction:column;line-height:1}.brand strong{font:500 23px Playfair Display,serif;letter-spacing:.13em}.brand small{margin-top:6px;font-size:8px;letter-spacing:.28em}.nav-links{justify-self:center;display:flex;align-items:center;gap:28px}.nav-links a{position:relative;font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--coral);transition:.25s}.nav-links a:hover:after{right:0}.header-cta{justify-self:end;background:var(--accent);padding:13px 18px;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.header-cta span{margin-left:14px}.nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:12px}.nav-toggle span{display:block;height:1px;background:#fff;margin:7px 0}
.hero{position:relative;min-height:100svh;color:white;display:flex;align-items:flex-end;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,26,28,.92) 0%,rgba(2,26,28,.62) 38%,rgba(2,26,28,.05) 72%),linear-gradient(0deg,rgba(2,26,28,.65),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(760px,calc(100% - 10vw));margin:0 0 8vh 7vw}.hero-content .kicker{color:#61d0ca}.hero h1{margin:0;max-width:760px;font:500 clamp(58px,7.4vw,118px)/.86 Playfair Display,serif;letter-spacing:-.045em}.hero-lead{max-width:570px;margin:30px 0 0;font-size:17px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.hero-signature{position:absolute;z-index:2;right:4.5vw;bottom:8vh;text-align:right;font:500 24px/1.15 Playfair Display,serif;text-transform:uppercase;letter-spacing:.12em}.hero-signature em{font-size:44px;color:#60d6cf;text-transform:none;letter-spacing:0}.hero-scroll{position:absolute;z-index:2;right:2vw;top:50%;width:48px;height:48px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-size:20px}
.intro-strip{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:white}.intro-image{margin:0;min-height:760px}.intro-image img{height:100%;object-fit:cover;object-position:center}.intro-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}.intro-copy h2,.statement h2,.tech-content h2,.section-title h2,.music-copy h2,.gallery-head h2,.review-intro h2,.faq-title h2,.contact-form-wrap h2{font:500 clamp(50px,6vw,88px)/.93 Playfair Display,serif;letter-spacing:-.045em;margin:0}.script-line{margin:5px 0 30px;font:italic 500 clamp(24px,3vw,42px) Playfair Display,serif;color:var(--accent)}.intro-copy>p:not(.kicker):not(.script-line){max-width:680px;color:#607174}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats span{padding:22px 20px 22px 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#66777a}.stats b{display:block;font:500 30px Playfair Display,serif;color:var(--petrol)}
.statement{padding:10vw 8vw;background:var(--coral);color:white}.statement-top{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:24px;margin-bottom:7vw}.statement .kicker{color:white}.statement h2{font-size:clamp(60px,9vw,150px);max-width:1200px}.statement h2 em{color:var(--petrol-dark)}.statement>p{max-width:700px;margin:52px 0 0 45%;font-size:18px}
.service-collage{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:minmax(620px,1fr) minmax(430px,.72fr)}.collage-photo{overflow:hidden}.collage-photo img{height:100%;object-fit:cover;transition:transform .8s}.collage-photo:hover img{transform:scale(1.035)}.collage-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.collage-copy.dark{background:var(--petrol-dark);color:white}.collage-copy.dark .kicker{color:#66d5cf}.collage-copy h2{font:500 clamp(48px,5.4vw,82px)/.94 Playfair Display,serif;margin:0 0 30px}.collage-copy p{max-width:650px}.clean-list{list-style:none;padding:0;margin:30px 0}.clean-list li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15)}.clean-list li:before{content:"↗";margin-right:14px;color:#66d5cf}.collage-copy.coral{background:var(--accent);color:white}.big-number{font:500 clamp(76px,10vw,150px)/.8 Playfair Display,serif}.collage-copy.coral h3{font:italic 500 clamp(34px,4vw,58px) Playfair Display,serif;margin:20px 0}.collage-copy.coral p{max-width:450px}
.tech-section{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff}.tech-visual{position:relative;min-height:980px}.tech-visual img{height:100%;object-fit:cover}.tech-stamp{position:absolute;right:0;bottom:0;background:var(--accent);color:#fff;padding:28px 35px;font:500 24px/1.15 Playfair Display,serif;letter-spacing:.08em}.tech-content{padding:8vw 7vw}.tech-content h2 em,.music-copy h2 em,.gallery-head h2 em{color:var(--accent)}.tech-list{margin-top:55px;border-top:1px solid var(--line)}.tech-item{display:grid;grid-template-columns:52px 1fr auto;gap:22px;padding:25px 0;border-bottom:1px solid var(--line);align-items:start}.tech-item>span{color:var(--accent);font-size:11px;letter-spacing:.12em}.tech-item h3{font:500 21px Playfair Display,serif;margin:0 0 5px}.tech-item p{margin:0;color:#6a7b7e;font-size:13px}.tech-item>b{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6a7b7e}
.packages{padding:10vw 5vw;background:var(--petrol-dark);color:white}.section-title{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;align-items:end;margin-bottom:70px}.section-title .kicker{grid-column:1/-1;color:#66d5cf;margin-bottom:-40px}.section-title h2{font-size:clamp(55px,7vw,105px)}.section-title>p{max-width:560px;color:rgba(255,255,255,.72)}.package-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.package-card{position:relative;min-height:700px;overflow:hidden}.package-card>img{position:absolute;inset:0;height:100%;object-fit:cover}.package-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,26,28,.98) 5%,rgba(2,26,28,.58) 65%,rgba(2,26,28,.1))}.package-card.featured{outline:2px solid var(--coral);outline-offset:-2px}.package-body{position:absolute;z-index:2;inset:auto 0 0;padding:35px}.package-body>span{color:#66d5cf;font-size:11px}.package-body>p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7)}.package-body h3{font:500 50px Playfair Display,serif;margin:4px 0 10px}.package-price{font-size:16px;color:#66d5cf}.package-body ul{list-style:none;padding:0;margin:23px 0}.package-body li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:13px}.package-body li:before{content:"✓";margin-right:10px;color:#66d5cf}
.music-planner{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.music-photo{min-height:820px}.music-photo img{height:100%;object-fit:cover}.music-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.music-copy>p:not(.kicker){max-width:650px;color:#64777a}.music-tags{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0}.music-tags span{padding:9px 13px;border:1px solid var(--line);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.visual-gallery{padding:10vw 4vw;background:white}.gallery-head{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;margin-bottom:65px}.gallery-head>p{max-width:520px;color:#617477}.masonry{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:95px;gap:12px}.masonry figure{margin:0;position:relative;overflow:hidden;grid-column:span 4;grid-row:span 4}.masonry .g1{grid-column:span 7;grid-row:span 7}.masonry .g2{grid-column:span 5;grid-row:span 4}.masonry .g3{grid-column:span 5;grid-row:span 3}.masonry .g4{grid-column:span 4;grid-row:span 5}.masonry .g5{grid-column:span 8;grid-row:span 5}.masonry img{height:100%;object-fit:cover;transition:.7s}.masonry figure:hover img{transform:scale(1.04)}.masonry figcaption{position:absolute;left:14px;bottom:14px;background:rgba(3,43,45,.82);color:white;padding:8px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.reviews{padding:9vw 5vw;background:var(--accent);color:white;display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw}.review-intro .kicker{color:white}.review-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.review-card{min-width:min(520px,80vw);scroll-snap-align:start;background:white;color:var(--ink);padding:44px;display:flex;flex-direction:column;min-height:390px}.stars{color:var(--coral);letter-spacing:.1em}.review-card blockquote{font:500 27px/1.35 Playfair Display,serif;margin:42px 0}.review-card cite{margin-top:auto;font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#6a7b7e}
.faq-section{padding:10vw 7vw;background:var(--cream);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:26px 0;border:0;background:transparent;color:var(--ink);font:500 21px Playfair Display,serif}.faq-question b{font:300 28px Inter,sans-serif;transition:.25s}.faq-answer{display:none;padding:0 55px 28px 0;color:#637679}.faq-item.open .faq-answer{display:block}.faq-item.open .faq-question b{transform:rotate(45deg)}
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;min-height:960px;background:white}.contact-photo{position:relative}.contact-photo img{height:100%;object-fit:cover}.contact-photo-copy{position:absolute;left:0;right:0;bottom:0;padding:45px;background:linear-gradient(0deg,rgba(3,43,45,.88),transparent);color:white}.contact-photo-copy p{margin:0;font-size:12px;letter-spacing:.2em}.contact-photo-copy strong{font:italic 500 55px Playfair Display,serif;color:#65d6d0}.contact-form-wrap{padding:8vw 7vw}.contact-intro{max-width:690px;color:#657679;margin-bottom:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.field input,.field select,.field textarea{border:0;border-bottom:1px solid #9aa9aa;background:transparent;padding:14px 2px;border-radius:0;outline:none;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:120px;resize:vertical}.submit-row{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.submit-row p{margin:0;font-size:11px;color:#6b7c7e}.alert{padding:14px 16px;margin:20px 0}.alert-success{background:#e4f6f3;color:#14645f}.alert-error{background:#fde8e4;color:#983b2d}
.site-footer{padding:55px 5vw 28px;background:var(--petrol-dark);color:white;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font:500 34px Playfair Display,serif;letter-spacing:.1em}.footer-brand small{letter-spacing:.2em}.site-footer>div:not(.footer-brand):not(.footer-last){display:flex;flex-direction:column;gap:8px;font-size:13px;color:rgba(255,255,255,.75)}.footer-last{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.55)}.cookie{position:fixed;z-index:120;left:20px;right:20px;bottom:20px;max-width:900px;margin:auto;padding:18px 20px;background:var(--petrol-dark);color:white;display:none;grid-template-columns:1fr auto;gap:20px;align-items:center}.cookie.show{display:grid}.cookie p{margin:0;font-size:12px}.cookie>div{display:flex;gap:8px}.mobile-cta{display:none}
@media(max-width:1100px){.site-header{grid-template-columns:1fr auto auto}.nav-toggle{display:block;grid-column:2}.header-cta{grid-column:3}.nav-links{position:fixed;top:78px;left:0;right:0;height:calc(100vh - 78px);background:var(--petrol-dark);display:none;flex-direction:column;justify-content:center;gap:24px}.demo-banner+.site-header .nav-links{top:108px;height:calc(100vh - 108px)}.nav-links.open{display:flex}.nav-links a{font-size:15px}.intro-strip,.tech-section,.music-planner,.contact-section{grid-template-columns:1fr}.intro-image,.music-photo{min-height:600px}.tech-visual{min-height:680px}.service-collage{grid-template-columns:1fr}.collage-main{min-height:650px}.collage-photo{min-height:520px}.section-title{grid-template-columns:1fr}.section-title .kicker{margin:0}.package-list{grid-template-columns:1fr}.package-card{min-height:650px}.reviews,.faq-section{grid-template-columns:1fr}.contact-photo{min-height:640px}}
@media(max-width:720px){.site-header{height:66px;padding:0 18px;grid-template-columns:1fr auto}.brand strong{font-size:19px}.header-cta{display:none}.nav-toggle{grid-column:2}.nav-links{top:66px;height:calc(100vh - 66px)}.demo-banner+.site-header .nav-links{top:96px;height:calc(100vh - 96px)}.hero{min-height:800px}.hero-content{width:auto;margin:0 22px 76px}.hero h1{font-size:58px}.hero-lead{font-size:15px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-signature,.hero-scroll{display:none}.intro-strip{min-height:auto}.intro-image{min-height:440px}.intro-copy,.tech-content,.music-copy,.contact-form-wrap{padding:75px 24px}.intro-copy h2,.tech-content h2,.music-copy h2,.gallery-head h2,.review-intro h2,.faq-title h2,.contact-form-wrap h2{font-size:49px}.stats{grid-template-columns:1fr}.stats span{border-bottom:1px solid var(--line)}.statement{padding:85px 24px}.statement h2{font-size:58px}.statement>p{margin:36px 0 0}.service-collage{grid-template-rows:auto}.collage-main,.collage-photo{min-height:460px}.collage-copy{padding:75px 24px}.collage-copy h2{font-size:50px}.tech-visual{min-height:580px}.tech-item{grid-template-columns:40px 1fr}.tech-item>b{grid-column:2}.packages{padding:85px 18px}.section-title h2{font-size:54px}.package-card{min-height:650px}.package-body{padding:24px}.music-photo{min-height:540px}.visual-gallery{padding:85px 12px}.gallery-head{grid-template-columns:1fr;padding:0 12px}.masonry{grid-template-columns:1fr;grid-auto-rows:340px}.masonry figure,.masonry .g1,.masonry .g2,.masonry .g3,.masonry .g4,.masonry .g5{grid-column:auto;grid-row:auto}.reviews{padding:85px 20px}.review-card{min-width:88vw;padding:30px}.faq-section{padding:85px 24px}.faq-question{font-size:19px}.contact-photo{min-height:520px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.submit-row{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;padding:55px 24px 90px}.footer-last{grid-column:auto;flex-direction:column;gap:8px}.cookie{grid-template-columns:1fr;bottom:74px}.cookie>div{flex-direction:column}.mobile-cta{display:grid;position:fixed;z-index:105;left:0;right:0;bottom:0;grid-template-columns:1fr 1fr;background:var(--petrol-dark);padding:9px;gap:8px}.mobile-cta a{text-align:center;padding:12px 8px;color:white;font-size:10px;text-transform:uppercase;letter-spacing:.09em;border:1px solid rgba(255,255,255,.25)}.mobile-cta a:last-child{background:var(--accent);border-color:var(--accent)}}
