:root{--ivory:#f7f5f1;--ink:#111;--nude:#b9967b;--muted:#74706b;--line:#d9d4cd;--white:#fff;--serif:'Italiana',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.header{height:88px;padding:0 4vw;display:flex;align-items:center;gap:32px;position:fixed;top:0;left:0;right:0;background:rgba(247,245,241,.94);backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid transparent;transition:.3s}.header.scrolled{border-color:var(--line)}.brand{display:flex;flex-direction:column;line-height:1;min-width:150px}.brand small{font-size:8px;letter-spacing:.28em;margin-left:3px}.brand span{font-family:var(--serif);font-size:25px}.desktop-nav{display:flex;gap:24px;margin-left:auto;font-size:13px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--ink);transition:.3s}.desktop-nav a:hover:after{width:100%}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:0 22px;border:1px solid var(--ink);font-size:13px;letter-spacing:.04em;background:transparent;cursor:pointer;transition:.25s}.btn:hover{background:var(--ink);color:white}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--nude);border-color:var(--nude)}.menu,.mobile-nav{display:none}.hero{min-height:100vh;padding:140px 8vw 60px;display:grid;grid-template-columns:1fr 47%;gap:6vw;align-items:center;position:relative;overflow:hidden}.hero-copy{max-width:650px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:500}.hero h1,.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6vw,88px);line-height:1.02;margin:28px 0}.hero h1 em,.section h2 em{font-weight:400;color:var(--nude)}.lead{max-width:560px;font-size:18px;color:var(--muted)}.actions{display:flex;align-items:center;gap:28px;margin:35px 0}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:3px}.credentials{font-size:12px;letter-spacing:.04em;color:var(--muted);margin-top:60px}.photo{background:linear-gradient(135deg,#d6cec4,#a58f7b);position:relative;overflow:hidden;display:grid;place-items:center;color:rgba(17,17,17,.55);letter-spacing:.16em;font-size:10px}.photo:after{content:'';position:absolute;inset:12px;border:1px solid rgba(255,255,255,.4)}.hero-photo{height:min(72vh,760px)}.vertical{position:absolute;right:2vw;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em}.section{padding:120px 8vw}.intro{background:#fff;display:grid;grid-template-columns:44% 1fr;gap:9vw;align-items:center}.working-photo{height:670px;background:linear-gradient(150deg,#c4b6a9,#786b63)}.intro-copy>p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:18px}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:45px}.stats div{padding:24px 10px 18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.stats strong{font-family:var(--serif);font-size:30px;font-weight:400}.stats span{font-size:12px;color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:80px}.section-head>p{max-width:390px;color:var(--muted);margin-bottom:35px}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:50px}.service{grid-column:span 2;border-top:1px solid var(--ink);padding-top:16px}.service.featured,.service:nth-child(4){grid-column:span 3}.num{font-size:11px;color:var(--muted)}.mini-photo{height:270px;margin:15px 0 25px}.mini-photo.alt{background:linear-gradient(150deg,#aa9788,#e2d8ce)}.mini-photo.light{background:linear-gradient(150deg,#e0d9d2,#b9a18d)}.mini-photo.pale{background:linear-gradient(150deg,#c9b8a9,#f0ebe6)}.mini-photo.warm{background:linear-gradient(150deg,#b9967b,#77665a)}.service h3,.steps h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:8px 0}.service p,.service a{font-size:13px}.service p{color:var(--muted);min-height:65px}.service a{border-bottom:1px solid}.portfolio{background:var(--ink);color:white}.portfolio .eyebrow{color:#c8c2bc}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 35px}.filters button{border:1px solid #4d4d4d;background:none;color:white;padding:9px 18px;cursor:pointer}.filters button.active,.filters button:hover{background:white;color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:12px}.gallery-item{border:0;cursor:pointer}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item:nth-child(2){background:linear-gradient(140deg,#8a7565,#d9cabd)}.gallery-item:nth-child(3){background:linear-gradient(140deg,#cdbdaf,#8f7b69)}.gallery-item:nth-child(4){background:linear-gradient(140deg,#6e5f55,#bca896)}.gallery-item:nth-child(5){background:linear-gradient(140deg,#a58b76,#e1d7cf)}.gallery-item:nth-child(6){background:linear-gradient(140deg,#ded3ca,#927e6d)}.gallery-item[hidden]{display:none}.about{display:grid;grid-template-columns:1fr 44%;gap:10vw;align-items:center}.about-copy p{max-width:620px;color:var(--muted);font-size:18px}.signature{font-family:var(--serif);font-size:35px;font-style:italic;display:block;margin-top:35px}.portrait{height:700px;background:linear-gradient(160deg,#e2d8cf,#938171)}.bridal{background:#eae2da;text-align:center}.bridal-title h2{margin-left:auto;margin-right:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);text-align:left;border-top:1px solid #bdb2a8;margin:70px 0 45px}.steps article{padding:28px 35px;border-right:1px solid #bdb2a8}.steps article:last-child{border:0}.steps span{font-size:11px}.steps p{color:var(--muted)}.testimonials{text-align:center}.quote{max-width:800px;margin:50px auto}.quote>span{font-family:var(--serif);font-size:80px;color:var(--nude);line-height:.5}.quote p{font-family:var(--serif);font-size:38px;line-height:1.25}.quote small{letter-spacing:.15em;color:var(--muted)}.instagram{background:white;display:grid;grid-template-columns:30% 1fr;gap:6vw;align-items:center}.instagram h2{font-size:52px}.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.insta-grid .photo{height:310px}.insta-grid .photo:nth-child(even){margin-top:45px;background:linear-gradient(140deg,#9e8978,#e2d7ce)}.faq{display:grid;grid-template-columns:35% 1fr;gap:8vw}.faq h2{font-size:60px}.faq-item{border-top:1px solid var(--line)}.faq-question{width:100%;background:none;border:0;padding:22px 0;display:flex;justify-content:space-between;text-align:left;cursor:pointer}.faq-question span{font-size:24px;font-weight:300}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s;color:var(--muted)}.faq-item.open .faq-answer{max-height:160px}.faq-answer p{padding:0 45px 22px 0;margin:0}.contact{background:var(--nude);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact .eyebrow{color:#3f342e}.contact h2 em{color:white}.contact-copy>p{max-width:500px}.contact ul{list-style:none;padding:0;margin-top:40px;font-size:14px}.contact li{padding:8px 0;border-bottom:1px solid rgba(17,17,17,.25)}form{background:var(--ivory);padding:40px}label{display:block;font-size:12px;letter-spacing:.05em;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;outline:none;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--nude)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:11px;color:var(--muted)}.error{border-color:#8b2e2e!important}footer{padding:55px 8vw;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:35px}footer p{font-size:12px;color:#aaa}footer div{display:flex;gap:20px;font-size:12px}.whatsapp{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font-size:12px;z-index:30;box-shadow:0 8px 22px rgba(0,0,0,.18)}dialog{border:0;padding:0;background:transparent;width:min(850px,90vw)}dialog::backdrop{background:rgba(0,0,0,.86)}dialog>button{position:absolute;right:12px;top:8px;z-index:2;background:none;border:0;color:white;font-size:35px;cursor:pointer}.lightbox-image{height:80vh}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu{display:block;width:34px;height:34px;border:0;background:none}.menu span{display:block;height:1px;background:#111;margin:7px}.mobile-nav{display:flex;position:fixed;inset:88px 0 auto;background:var(--ivory);z-index:45;flex-direction:column;padding:25px 8vw;transform:translateY(-140%);transition:.35s;border-bottom:1px solid var(--line)}.mobile-nav.open{transform:none}.mobile-nav a{padding:12px 0}.hero{grid-template-columns:1fr 45%;padding-left:5vw;padding-right:5vw}.section{padding-left:6vw;padding-right:6vw}.service-grid{grid-template-columns:repeat(2,1fr)}.service,.service.featured,.service:nth-child(4){grid-column:span 1}.instagram{grid-template-columns:1fr}.insta-grid .photo{height:250px}}@media(max-width:700px){.header{height:72px;padding:0 20px}.brand span{font-size:22px}.header-cta{display:none}.mobile-nav{top:72px}.hero{display:flex;flex-direction:column;padding:115px 20px 45px;min-height:auto}.hero-copy{order:2}.hero-photo{order:1;height:55vh;width:100%}.hero h1,.section h2{font-size:48px}.hero h1{margin-top:22px}.lead{font-size:16px}.credentials{margin-top:35px}.vertical{display:none}.section{padding:82px 20px}.intro,.about,.faq,.contact{grid-template-columns:1fr}.working-photo,.portrait{height:500px}.intro-copy{padding-top:15px}.section-head{display:block}.service-grid{display:block}.service{margin-bottom:55px}.mini-photo{height:360px}.service p{min-height:auto}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.gallery-item.wide{grid-column:span 2}.steps{display:block}.steps article{border-right:0;border-bottom:1px solid #bdb2a8;padding-left:0}.instagram h2,.faq h2{font-size:48px}.insta-grid{grid-template-columns:1fr 1fr}.insta-grid .photo{height:220px}.insta-grid .photo:nth-child(even){margin-top:20px}.form-row{grid-template-columns:1fr}form{padding:28px 20px}footer{align-items:flex-start;flex-direction:column}footer div{flex-wrap:wrap}.actions{align-items:flex-start;flex-direction:column;gap:18px}.quote p{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
