:root{--ink:#171713;--paper:#f3efe7;--sand:#d7c7b1;--orange:#e6522c;--line:rgba(23,23,19,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}em{font-family:"Playfair Display",serif;font-weight:600} .nav{height:82px;position:absolute;z-index:10;left:0;right:0;top:0;display:flex;align-items:center;padding:0 4vw;color:white;border-bottom:1px solid rgba(255,255,255,.25)}.brand{font-size:14px;font-weight:800;letter-spacing:.13em;display:flex;align-items:center;gap:10px}.brand span{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-family:"Playfair Display";font-size:17px}.nav nav{display:flex;gap:34px;margin:auto;font-size:13px}.nav nav a{opacity:.82}.nav nav a:hover{opacity:1}.nav-cta{font-size:13px;border-bottom:1px solid;padding:10px 0}.nav-cta span,.button span{margin-left:22px}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{height:min(920px,100vh);min-height:720px;position:relative;color:white;overflow:hidden;background:#1b211b}.hero-photo{position:absolute;inset:0;background:url('assets/hero.jpg') center 37%/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,18,15,.84) 0%,rgba(16,18,15,.54) 45%,rgba(16,18,15,.08) 75%),linear-gradient(0deg,rgba(14,15,13,.65),transparent 45%)}.hero-copy{position:absolute;left:8vw;top:24%;width:min(720px,53vw)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow i{width:7px;height:7px;background:var(--orange);border-radius:50%}.hero h1{font-size:clamp(66px,7.5vw,122px);line-height:.84;letter-spacing:-.055em;margin:28px 0 34px}.hero h1 em{font-size:.93em}.lead{font-size:18px;line-height:1.65;max-width:620px;color:rgba(255,255,255,.79)}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:42px}.button{height:56px;padding:0 25px;display:inline-flex;align-items:center;justify-content:space-between;min-width:218px;font-size:13px;font-weight:700}.button-light{background:white;color:var(--ink)}.text-link{font-size:13px}.play{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-size:9px;margin-right:12px}.hero-meta{position:absolute;right:5vw;bottom:46px;display:flex;align-items:flex-end;gap:55px}.hero-meta>div{display:flex;gap:12px;align-items:center}.hero-meta strong{font-size:30px}.hero-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;color:rgba(255,255,255,.65)}.hero-meta .quote{font-family:"Playfair Display";font-style:italic;font-size:14px;line-height:1.5;border-left:1px solid rgba(255,255,255,.35);padding-left:30px}.scroll{position:absolute;left:2.5vw;bottom:48px;writing-mode:vertical-rl;font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.6)}.scroll b{margin-top:12px;font-size:18px}.section{padding:130px 8vw}.section-tag{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#716f67}.intro{display:grid;grid-template-columns:22% 1fr;border-bottom:1px solid var(--line)}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--orange)}h2{font-size:clamp(48px,5.7vw,86px);line-height:1.04;letter-spacing:-.055em;margin:16px 0 70px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro-grid p{font-size:17px;line-height:1.8;color:#56554f}.intro-grid ul{list-style:none;margin:0;padding:0}.intro-grid li{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.intro-grid li:before{content:'—';color:var(--orange);margin-right:15px}.formats{background:#191b17;color:white;padding-left:0;padding-right:0}.formats .section-head{padding:0 8vw}.formats .section-tag{color:#aaa89e}.formats h2{margin-bottom:60px}.format-cards{height:610px;display:flex}.format-card{position:relative;flex:1;overflow:hidden;padding:36px;border-left:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;justify-content:space-between;transition:flex .55s ease;background:#222}.format-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,13,11,.88),rgba(12,13,11,.1)),var(--bg) center/cover;filter:grayscale(.7);opacity:.42;transition:.5s}.format-card:hover,.format-card.active{flex:1.75}.format-card:hover:before,.format-card.active:before{filter:none;opacity:.9}.format-card>*{position:relative}.format-card>span{font-size:10px}.format-card h3{font-size:42px;margin-bottom:15px}.format-card p{font-size:13px;max-width:340px;color:rgba(255,255,255,.75);line-height:1.6}.format-card a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;display:inline-block;padding:8px 0}.moments .section-head{display:grid;grid-template-columns:22% 1fr 28%;align-items:end}.moments .section-head h2{margin-bottom:70px}.moments .section-head p{font-size:14px;line-height:1.7;color:#6c6a63;margin-bottom:76px}.gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:380px 300px;gap:16px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.03)}.gallery figcaption{position:absolute;left:18px;bottom:16px;color:white;font-size:10px;text-transform:uppercase;letter-spacing:.12em;text-shadow:0 1px 5px #000}.g1{grid-row:1/3}.g2{grid-column:2/4}.trust{padding-top:80px;padding-bottom:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.trust p{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#858279}.trust-names{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:42px;color:#45443f;font-weight:800;letter-spacing:.07em}.trust-names span:nth-child(2){font-size:24px}.trust-names span:nth-child(3){font-family:"Playfair Display";font-size:28px}.reviews{background:#d9ccb9;display:grid;grid-template-columns:22% 1fr}.review-wrap{max-width:920px}.mark{font-family:"Playfair Display";font-size:100px;line-height:.5;color:var(--orange)}blockquote{font-family:"Playfair Display";font-style:italic;font-size:clamp(30px,3.2vw,49px);line-height:1.35;margin:30px 0 55px}.review-person{display:flex;flex-direction:column;gap:5px;font-size:12px}.review-person span{text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:#6c675f}.review-nav{display:flex;gap:18px;align-items:center;justify-content:flex-end}.review-nav button{border:1px solid rgba(0,0,0,.3);background:transparent;width:42px;height:42px;border-radius:50%}.review-nav span{font-size:10px}.contact{background:var(--orange);color:#fff;display:grid;grid-template-columns:1.4fr .6fr;gap:9vw;align-items:end}.contact h2{font-size:clamp(52px,6vw,90px);margin-bottom:0}.contact-side p{font-size:14px;line-height:1.7;opacity:.8;margin-bottom:34px}.button-dark{background:var(--ink);color:white;width:100%}.phone{display:block;margin-top:24px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:8px}footer{background:#151612;color:#ddd;padding:55px 8vw;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;align-items:center;font-size:11px}footer>div{display:flex;gap:24px}footer small{text-align:right;color:#777}.reveal{animation:up .8s ease both}@keyframes up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(max-width:850px){.nav{height:68px}.nav nav,.nav-cta{display:none}.menu{display:block;margin-left:auto}.hero{height:850px}.hero-photo{background-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(12,14,12,.92) 0%,rgba(12,14,12,.15) 75%)}.hero-copy{left:6vw;top:auto;bottom:170px;width:88vw}.hero h1{font-size:57px}.lead{font-size:14px}.hero-actions{margin-top:28px;gap:18px}.text-link{font-size:11px}.hero-meta{left:6vw;right:auto;bottom:45px;gap:30px}.hero-meta .quote,.scroll{display:none}.section{padding:85px 6vw}.intro,.reviews{grid-template-columns:1fr;gap:45px}.intro-grid{grid-template-columns:1fr;gap:30px}h2{font-size:48px;margin-bottom:45px}.format-cards{height:auto;display:block;padding:0 6vw}.format-card{height:430px;margin-bottom:12px}.format-card:hover,.format-card.active{flex:auto}.moments .section-head{grid-template-columns:1fr}.moments .section-head p{margin-bottom:45px}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:330px 240px 240px}.g1{grid-column:1/3;grid-row:auto}.g2{grid-column:auto}.trust-names{flex-wrap:wrap;justify-content:center}.contact{grid-template-columns:1fr;gap:55px}.contact h2{font-size:48px}footer{grid-template-columns:1fr;text-align:left}footer small{text-align:left}.nav{padding:0 6vw}}
@media(max-width:520px){.hero h1{font-size:48px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-meta div:nth-child(2){display:none}.format-card{height:370px}.gallery{display:block}.gallery figure{height:260px;margin-bottom:12px}.contact h2,h2{font-size:42px}.section{padding-top:70px;padding-bottom:70px}}
@media(min-width:851px){.hero-photo{background:url('assets/hero.jpg') center 37%/cover no-repeat}.hero-photo:before{content:"";position:absolute;inset:0;background:url('assets/hero.jpg') -50% 34%/132% auto no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0 14%,#000 30%);mask-image:linear-gradient(90deg,transparent 0 14%,#000 30%)}}

/* Interactive icon and hover system */
a{transition:color .28s ease,background-color .28s ease,border-color .28s ease,opacity .28s ease,transform .28s ease,box-shadow .28s ease}
button{font:inherit;cursor:pointer;transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.button i,.nav-cta i,.format-card a i{margin-left:22px;transition:transform .28s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.button:hover i,.nav-cta:hover i,.format-card a:hover i{transform:translate(3px,-2px)}
.button-light:hover{background:var(--orange);color:#fff}
.button-dark:hover{background:#fff;color:var(--ink)}
.button-instagram{width:100%;margin-top:12px;border:1px solid rgba(255,255,255,.65);color:#fff;background:transparent}.button-instagram:hover{background:#fff;color:var(--ink);border-color:#fff}
.contact-side .instagram-disclaimer{margin:9px 2px 0;font-size:9px;line-height:1.5;color:rgba(255,255,255,.72);opacity:1}
.nav nav a{position:relative}
.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--orange);transition:right .28s ease}
.nav nav a:hover{color:#fff}.nav nav a:hover:after{right:0}
.nav-cta:hover{color:#ff7654;border-color:#ff7654;transform:translateY(-2px)}
.text-link:hover{color:#ff7654}.text-link:hover .play{background:var(--orange);border-color:var(--orange);transform:scale(1.08)}
.play{transition:background-color .28s ease,border-color .28s ease,transform .28s ease}
.scroll:hover{color:#fff;transform:translateY(5px)}
.format-card a:hover{color:#ff7654;border-color:#ff7654}
.review-nav button:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}
.trust-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:38px;align-items:stretch}.trust-logos>div{height:112px;background:rgba(255,255,255,.62);border:1px solid rgba(23,23,19,.1);display:flex;align-items:center;justify-content:center;padding:16px;filter:grayscale(1);transition:filter .35s ease,transform .35s ease,background-color .35s ease}.trust-logos>div:hover{filter:grayscale(0);transform:translateY(-5px);background:#fff}.trust-logos img{display:block;width:100%;height:100%;object-fit:contain}
.review-content{min-height:310px}.review-footer{margin-top:24px;padding-top:26px;border-top:1px solid rgba(23,23,19,.18);display:flex;align-items:center;justify-content:space-between;gap:28px}.reviews-more{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding:10px 0}.reviews-more:hover{color:var(--orange);transform:translateY(-2px)}.reviews-more i{transition:transform .28s ease}.reviews-more:hover i{transform:translate(3px,-3px)}
.phone:hover{color:var(--ink);border-color:var(--ink);padding-left:6px}
footer a:hover{color:#ff7654}
.menu:hover{color:#ff7654;transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

@media(max-width:1050px){.trust-logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.review-content{min-height:390px}.review-footer{align-items:flex-start;flex-direction:column}.review-nav{align-self:flex-end}.trust-logos{grid-template-columns:repeat(2,1fr)}.trust-logos>div{height:100px}}

/* Video stories */
.video-showcase{background:#11120f;color:#f5f1e8;overflow:hidden}.video-showcase .section-tag{color:#8e8d84}.video-showcase .kicker{margin-bottom:18px}.video-heading{display:grid;grid-template-columns:22% 1fr}.video-heading h2{margin-bottom:85px}.video-group{border-top:1px solid rgba(255,255,255,.16);padding-top:34px;margin-top:52px}.video-group-copy{display:grid;grid-template-columns:22% 1fr;margin-bottom:34px}.video-group-copy>span{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.15em}.video-group-copy h3{font-size:clamp(28px,3vw,44px);margin:0 0 10px}.video-group-copy p{max-width:610px;color:rgba(255,255,255,.58);font-size:13px;line-height:1.7;margin:0}.promo-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wedding-video-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,390px));justify-content:center;gap:24px}.video-card{position:relative;background:#191a16;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}.video-card:hover{transform:translateY(-6px);border-color:rgba(230,82,44,.7);box-shadow:0 24px 60px rgba(0,0,0,.32)}.video-card video{display:block;width:100%;background:#090a08;object-fit:cover}.video-card-wide video{aspect-ratio:16/9}.video-card-vertical video{aspect-ratio:9/16}.video-caption{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px}.video-caption span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--orange)}.video-caption strong{font-size:13px}.video-caption small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.45)}.instagram-card{margin-top:80px;border:1px solid rgba(255,255,255,.18);padding:28px 32px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;background:linear-gradient(110deg,rgba(230,82,44,.14),rgba(255,255,255,.03))}.instagram-card:hover{background:linear-gradient(110deg,rgba(230,82,44,.28),rgba(255,255,255,.06));border-color:var(--orange);transform:translateY(-4px)}.instagram-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:24px}.instagram-card>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.instagram-card small{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.55)}.instagram-card strong{font-size:24px}.instagram-card em{font-family:Manrope,Arial,sans-serif;font-style:normal;font-size:12px;color:rgba(255,255,255,.65)}.instagram-card>i{transition:transform .28s ease}.instagram-card:hover>i{transform:translate(4px,-4px)}
@media(max-width:850px){.video-heading,.video-group-copy{grid-template-columns:1fr;gap:18px}.video-heading h2{margin-bottom:60px}.promo-video-grid{grid-template-columns:1fr}.wedding-video-grid{grid-template-columns:1fr 1fr}.video-caption{grid-template-columns:1fr}.video-caption small{display:none}.instagram-card{margin-top:55px;padding:24px}.video-showcase{padding-left:6vw;padding-right:6vw}}
@media(max-width:520px){.wedding-video-grid{gap:10px}.video-card-vertical .video-caption{padding:13px}.video-card-vertical .video-caption strong{font-size:11px}}
