*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:#121212;background:#f5f2eb;overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1380px,calc(100% - 56px));margin:auto}.section,.category{padding:130px 0}.loader{position:fixed;inset:0;background:#080808;z-index:999;display:grid;place-items:center;transition:.7s}.loader img{width:min(470px,72vw);height:auto}.loader.hide{opacity:0;visibility:hidden}.hero{height:100vh;min-height:700px;position:relative;color:#fff;overflow:hidden}.hero-media,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;transform:scale(1.08);transition:opacity 1.3s,transform 7s}.hero-slide.active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.12) 65%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)}.nav{height:110px;position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between}.brand img{width:255px;height:auto}.links{display:flex;gap:24px;font-size:12px}.links a{opacity:.8}.links a:hover{opacity:1}.menu{display:none;background:none;border:0}.menu span{display:block;width:28px;height:1px;background:#fff;margin:7px}.hero-copy{position:relative;z-index:2;padding-top:15vh}.hero-copy>p,.eyebrow{font-size:11px;letter-spacing:.28em}.hero h1,.intro h2,.section-head h2,.about h2,.cta h2{font-family:Italiana,serif;font-weight:400;line-height:.95}.hero h1{font-size:clamp(58px,8vw,126px);margin:28px 0 42px}.hero-copy>div{display:flex;align-items:center;gap:30px}.btn{display:inline-flex;background:#fff;color:#111;padding:17px 25px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.link{font-size:13px;border-bottom:1px solid;padding-bottom:6px}.counter{position:absolute;right:30px;top:50%;z-index:3;display:flex;align-items:center;gap:10px;transform:rotate(90deg);font-size:11px}.counter i{width:60px;height:1px;background:#fff}.intro{display:grid;grid-template-columns:.7fr 2fr;gap:50px}.intro h2{font-size:clamp(48px,6vw,86px);margin:0}.intro-text{grid-column:2;max-width:680px;font-size:18px;line-height:1.75}.section-head{display:grid;grid-template-columns:1.4fr .7fr;gap:50px;align-items:end;margin-bottom:65px}.section-head h2{font-size:clamp(48px,6vw,86px);margin:20px 0 0}.section-head>p{line-height:1.8}.warm{background:#d7c5ae}.dark{background:#0b0b0b;color:#fff}.paper{background:#f2efe8}.graphite{background:#303134;color:#fff}.cream{background:#e6ded0}.photo{border:0;padding:0;background:none;overflow:hidden;cursor:zoom-in;position:relative;min-height:300px}.photo img{transition:transform .9s,filter .9s}.photo:hover img{transform:scale(1.055);filter:brightness(.92)}.mosaic{display:grid;grid-template-columns:1.25fr .8fr .8fr;grid-auto-rows:340px;gap:16px}.tall{grid-row:span 2}.wide{grid-column:span 2}.moving-row{display:flex;gap:16px;overflow:hidden;padding:0 16px}.moving-row .photo{flex:0 0 31vw;height:68vh;min-height:520px}.moving-row .photo:nth-child(even){margin-top:70px}.wedding-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:360px;gap:16px}.wedding-grid .big{grid-row:span 2}.portrait-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.portrait-strip .photo{height:65vh}.portrait-strip .photo:nth-child(even){margin-top:60px}.family-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:360px;gap:16px}.about{padding:120px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-photo{height:720px}.about-copy h2{font-size:clamp(60px,8vw,116px);margin:24px 0}.about-copy p{font-size:18px;line-height:1.8}.contact-section{padding:130px 0;background:#f5f2eb}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:stretch}.contact-copy h2{font-family:Italiana,serif;font-size:clamp(54px,7vw,100px);font-weight:400;line-height:.95;margin:24px 0 34px}.contact-copy>p{font-size:17px;line-height:1.8;max-width:620px}.contact-list{margin:42px 0 34px;border-top:1px solid #c8c2b7}.contact-list a{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid #c8c2b7;align-items:start}.contact-list span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#6e6a63}.contact-list strong{font-weight:400;line-height:1.55;overflow-wrap:anywhere}.dark-btn{background:#111;color:#fff}.map-card{min-height:650px;overflow:hidden;background:#ddd}.map-card iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.92)}.footer-contact{line-height:1.55}.footer-contact a:hover{text-decoration:underline}
.cta{height:82vh;min-height:650px;position:relative;color:#fff;display:flex;align-items:center}.cta>img,.cta>div{position:absolute;inset:0}.cta>div{background:rgba(0,0,0,.58)}.cta article{position:relative}.cta h2{font-size:clamp(58px,8vw,115px);margin:24px 0 38px}.footer{padding:60px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;align-items:end;font-size:12px}.footer img{width:280px;height:auto}.footer p{text-align:right}.whatsapp{position:fixed;right:24px;bottom:24px;width:55px;height:55px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:700;font-size:11px;z-index:50;box-shadow:0 10px 30px #0004}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:100;display:grid;place-items:center;padding:35px;opacity:0;visibility:hidden;transition:.35s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:93vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;top:15px;right:24px;background:none;border:0;color:#fff;font-size:44px;cursor:pointer}.reveal-up,.reveal-left,.reveal-right{opacity:0;transition:opacity 1s,transform 1s}.reveal-up{transform:translateY(65px)}.reveal-left{transform:translateX(-75px)}.reveal-right{transform:translateX(75px)}.visible{opacity:1;transform:none}.track-left{transform:translateX(5%);transition:transform 1.2s}.track-left.visible{transform:translateX(0)}
@media(max-width:950px){.shell{width:min(100% - 34px,1380px)}.links{position:fixed;inset:0;background:#0b0b0b;flex-direction:column;justify-content:center;align-items:center;font-family:Italiana;font-size:38px;transform:translateY(-100%);transition:.5s;z-index:-1}.links.open{transform:none}.menu{display:block;z-index:2}.intro,.section-head,.about-grid,.contact-grid{grid-template-columns:1fr}.intro-text{grid-column:auto}.mosaic,.wedding-grid,.family-grid{grid-template-columns:1fr 1fr}.portrait-strip{grid-template-columns:1fr 1fr}.portrait-strip .photo{height:55vh}.moving-row{overflow-x:auto;scroll-snap-type:x mandatory}.moving-row .photo{flex:0 0 70vw;scroll-snap-align:center}.about-photo{height:600px}.map-card{min-height:520px}.footer{grid-template-columns:1fr}.footer p{text-align:left}}
@media(max-width:580px){.section,.category{padding:90px 0}.brand img{width:210px}.hero-copy{padding-top:20vh}.hero h1{font-size:56px}.hero-copy>div{align-items:flex-start;flex-direction:column}.counter{display:none}.intro h2,.section-head h2{font-size:45px}.mosaic,.wedding-grid,.family-grid,.portrait-strip{display:block}.photo,.portrait-strip .photo,.portrait-strip .photo:nth-child(even){width:100%;height:68vh;margin:0 0 12px;min-height:0}.moving-row .photo{flex-basis:82vw;height:70vh}.moving-row .photo:nth-child(even){margin-top:0}.about-photo{height:520px}.contact-section{padding:90px 0}.contact-list a{grid-template-columns:1fr;gap:8px}.map-card{min-height:420px}.cta h2{font-size:54px}.footer{padding-bottom:110px}}

.music-player{position:fixed;left:24px;bottom:24px;z-index:55}.music-toggle{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);background:rgba(11,11,11,.78);color:#fff;border-radius:999px;padding:11px 16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px #0004;cursor:pointer;transition:transform .3s,background .3s,border-color .3s}.music-toggle:hover{transform:translateY(-2px);background:rgba(11,11,11,.92);border-color:rgba(255,255,255,.5)}.music-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:16px;position:relative}.music-toggle.playing .music-icon{animation:musicPulse 1.7s ease-in-out infinite}.music-toggle.playing .music-icon:after{content:'';position:absolute;inset:-5px;border:1px solid rgba(255,255,255,.45);border-radius:50%;animation:musicRing 1.7s ease-out infinite}.music-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}@keyframes musicPulse{50%{transform:scale(.92)}}@keyframes musicRing{0%{opacity:.75;transform:scale(.8)}100%{opacity:0;transform:scale(1.45)}}
@media(max-width:580px){.music-player{left:16px;bottom:20px}.music-toggle{padding:9px}.music-label{display:none}.music-icon{width:34px;height:34px}.whatsapp{right:16px;bottom:20px}}
