@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600;700&family=Quicksand:wght@400;500;600&display=swap');
:root{--ink:#2c2f83;--ink2:#46499a;--rose:#d99b9e;--cream:#fbf8f3;--paper:#fffdf9;--sage:#aab8a1;--gold:#c5a46d;--text:#33344b;--line:#e9e2dc;--shadow:0 18px 50px rgba(44,47,131,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream);font-family:'DM Sans',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.container{width:min(1160px,92%);margin:auto}
.header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(44,47,131,.08)}.nav{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:150px;height:auto}.links{display:flex;align-items:center;gap:30px;font-family:'Playfair Display',serif;color:var(--ink);font-size:16px}.links a{position:relative;padding:8px 0}.links a:after{content:'';position:absolute;left:0;bottom:1px;width:0;height:2px;background:var(--rose);transition:.3s}.links a:hover:after,.links a.active:after{width:100%}.menu{display:none;border:0;background:none;color:var(--ink);font-size:28px}
.hero{min-height:720px;display:grid;place-items:center;position:relative;overflow:hidden;background:#ddd}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,27,70,.66),rgba(25,27,70,.14)),url('https://static.wixstatic.com/media/15e2c5_55d64e5dc9df44b9a3231aee4104ce45~mv2.jpg') center/cover}.hero-content{position:relative;color:#fff;width:min(800px,90%);text-align:center;padding:80px 0}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600}.hero h1{font:600 clamp(48px,8vw,92px)/1.02 'Playfair Display',serif;margin:20px 0}.hero p{font:400 22px/1.6 'Quicksand',sans-serif;margin:0 auto 32px;max-width:680px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:13px 25px;border-radius:999px;transition:.3s;cursor:pointer}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(44,47,131,.2)}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.outline{background:transparent;color:var(--ink)}
.section{padding:105px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 55px}.section-head .eyebrow{color:var(--rose)}.section h2{font:600 clamp(35px,5vw,56px)/1.15 'Playfair Display',serif;color:var(--ink);margin:12px 0 16px}.section-head p{margin:0;color:#62647a}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.photo{border-radius:2px;overflow:hidden;box-shadow:var(--shadow);background:#eee}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.photo:hover img{transform:scale(1.035)}.copy h2{font:600 48px/1.15 'Playfair Display',serif;color:var(--ink);margin:12px 0 22px}.copy p{font-size:17px}.quote{font:500 clamp(24px,4vw,38px)/1.35 'Quicksand',sans-serif;color:var(--ink);text-align:center;max-width:900px;margin:0 auto}.quote:before{content:'“';font:700 70px/0 'Playfair Display',serif;color:var(--rose);vertical-align:-22px;margin-right:5px}.quote:after{content:'”';font:700 70px/0 'Playfair Display',serif;color:var(--rose);vertical-align:-22px;margin-left:5px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery .tile{aspect-ratio:1;overflow:hidden;background:#eee}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .5s}.gallery .tile:hover img{transform:scale(1.08);filter:saturate(1.08)}
.page-hero{padding:115px 0 95px;background:linear-gradient(135deg,#f6eee9,#fdfbf8);text-align:center}.page-hero h1{font:600 clamp(46px,7vw,78px)/1.05 'Playfair Display',serif;color:var(--ink);margin:10px 0}.page-hero p{max-width:650px;margin:auto;color:#676879}.about-photo{height:690px}.about-copy p{font-size:17px}.signature{font:500 32px 'Playfair Display',serif;color:var(--ink);margin-top:30px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{background:var(--paper);box-shadow:0 10px 35px rgba(44,47,131,.08);overflow:hidden}.card-img{aspect-ratio:1;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.card:hover img{transform:scale(1.06)}.card-body{padding:22px}.card h3{font:600 23px 'Playfair Display',serif;color:var(--ink);margin:0}
.banner{min-height:360px;background:center/cover;position:relative;display:grid;place-items:center}.banner:after{content:'';position:absolute;inset:0;background:rgba(31,33,88,.38)}.banner-content{position:relative;z-index:1;color:#fff;text-align:center}.banner h1{font:600 clamp(46px,7vw,76px) 'Playfair Display',serif;margin:0}
.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.testimonial{background:#fff;padding:34px 34px 30px;border-left:3px solid var(--rose);box-shadow:0 12px 35px rgba(44,47,131,.07)}.testimonial p{font:400 17px/1.8 'Quicksand',sans-serif;margin:0 0 20px}.testimonial strong{font-family:'Playfair Display',serif;color:var(--ink)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.contact-card{padding:38px;background:#fff;box-shadow:var(--shadow)}.contact-card h2{font:600 40px 'Playfair Display',serif;color:var(--ink);margin:0 0 20px}.contact-detail{margin:10px 0}.contact-detail a{color:var(--ink);font-weight:600}.form{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:600;color:var(--ink)}.field input,.field textarea{width:100%;border:1px solid #ddd8d2;background:#fffdfb;padding:13px 15px;outline:none;border-radius:2px;transition:.25s}.field input:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(44,47,131,.08)}.field textarea{min-height:160px;resize:vertical}.form-note{font-size:13px;color:#777;margin:0}
.footer{background:#24265f;color:#fff;padding:70px 0 25px;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;align-items:start}.footer-logo{width:190px;filter:brightness(0) invert(1);opacity:.95}.footer h3{font:600 23px 'Playfair Display',serif;margin:0 0 14px}.footer p{color:#d9daec;margin:5px 0}.socials{display:flex;gap:12px;margin-top:20px}.socials img{width:38px;height:38px;object-fit:contain;background:#fff;border-radius:50%;padding:7px}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:45px;padding-top:20px;text-align:center;color:#bfc1dd;font-size:13px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@media(max-width:850px){.links{position:absolute;left:0;right:0;top:100%;background:#fffdf9;display:none;flex-direction:column;padding:20px 0 25px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.links.open{display:flex}.menu{display:block}.nav{min-height:86px}.brand img{width:125px}.hero{min-height:640px}.split,.contact-grid{grid-template-columns:1fr;gap:40px}.about-photo{height:560px}.gallery{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr 1fr}.testimonials{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.section{padding:75px 0}.hero h1{font-size:54px}.hero p{font-size:18px}.gallery{gap:7px}.portfolio-grid,.footer-grid{grid-template-columns:1fr}.contact-card{padding:25px}.page-hero{padding:85px 0 70px}.about-photo{height:440px}}
