:root{--ink:#47505a;--muted:#7f858a;--blue:#9fb9cc;--blue-dark:#7897ad;--rose:#eab5b4;--cream:#fbf8f4;--line:#eadfd7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#fffdfa}h1,h2,h3,p{margin:0}h1,h2{font-family:'Playfair Display',serif;font-weight:500}h1{font-size:clamp(4rem,7vw,7rem);line-height:.91;letter-spacing:-.045em;color:#667580}h1 span,h2 em{font-style:normal;color:var(--rose)}h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.04;letter-spacing:-.03em}.navbar{height:88px;background:rgba(255,253,250,.84);backdrop-filter:blur(12px);transition:.3s;z-index:10}.navbar.scrolled{box-shadow:0 8px 30px rgba(83,70,60,.08)}.navbar-brand img{width:116px;height:86px;object-fit:contain}.nav-link{font-size:.84rem;color:var(--ink);transition:.2s}.nav-link:hover{color:var(--rose)}.navbar-toggler{border:0}.navbar-toggler:focus{box-shadow:none}.btn-primary{background:var(--blue-dark);border:0;box-shadow:0 8px 20px rgba(120,151,173,.2)}.btn-primary:hover{background:#64859d;transform:translateY(-2px)}.btn-outline-brand{border-color:var(--rose);color:#c58a8a}.btn-outline-brand:hover{background:var(--rose);border-color:var(--rose);color:white}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fffdfa 0%,#f9f3ee 75%,#f5ece6 100%);min-height:720px}.hero-content{position:relative;z-index:2}.hero-copy{padding-top:70px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;color:var(--blue-dark);margin-bottom:18px}.lead{max-width:440px;color:#72787d;font-size:1.05rem;line-height:1.75;margin-top:28px}.hero-note{display:flex;align-items:center;gap:12px;color:#a2a3a1;font-size:.76rem}.line{width:38px;height:1px;background:var(--rose)}.hero-visual{position:relative;min-height:630px;display:flex;align-items:center;justify-content:center}.image-frame{width:min(100%,540px);height:670px;overflow:hidden;border-radius:260px 260px 14px 14px;box-shadow:0 26px 55px rgba(115,96,80,.16);transform:translateY(15px)}.image-frame img{width:100%;height:100%;object-fit:cover;object-position:55% center;transition:transform .5s}.hero-visual:hover .image-frame img{transform:scale(1.035)}.floating-card{position:absolute;bottom:102px;left:2%;display:flex;align-items:center;gap:12px;background:rgba(255,253,250,.92);border:1px solid rgba(255,255,255,.8);padding:14px 18px;border-radius:14px;box-shadow:0 12px 30px rgba(74,65,57,.12)}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:.78rem}.floating-card small{color:var(--muted);font-size:.68rem;margin-top:3px}.mini-icon{color:var(--rose);font-size:1.5rem}.sparkle{position:absolute;color:var(--rose);opacity:.6}.sparkle-one{top:22%;left:47%;font-size:2rem}.sparkle-two{top:37%;left:6%;color:var(--blue);font-size:2rem}.sparkle-three{right:10%;top:18%;font-size:1.5rem}.hero-glow{position:absolute;width:450px;height:450px;border-radius:50%;background:rgba(234,181,180,.12);filter:blur(55px);right:31%;top:30%}.scroll-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);color:#a9a8a3;text-decoration:none;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:10px;align-items:center}.scroll-hint i{font-size:1rem}.section-pad{padding:130px 0}.intro-section{background:#fffdfa}.muted{color:var(--muted);line-height:1.8}.service-card{height:100%;padding:22px 0}.service-icon{color:var(--blue-dark);font-size:2.25rem;margin-bottom:20px}.service-card h3{font-family:'Playfair Display',serif;font-size:1.12rem;color:#545b61;margin-bottom:10px}.service-card p{font-size:.78rem;line-height:1.7;color:var(--muted)}.gallery-section{background:var(--cream)}.text-link{color:#ba8587;text-decoration:none;font-size:.8rem;gap:8px}.gallery-grid{display:grid;grid-template-columns:1.12fr .88fr .88fr;grid-template-rows:250px 250px;gap:18px}.gallery-item:first-child{grid-row:span 2}.gallery-item:last-child{grid-column:2 / span 2}.gallery-art{height:100%;border-radius:18px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:white;background-size:cover;background-position:center}.gallery-art:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(62,53,49,.58),transparent 65%)}.gallery-art>*{position:relative}.gallery-art span{font-size:.67rem;text-transform:uppercase;letter-spacing:.16em;opacity:.85}.gallery-art strong{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:500;max-width:220px;margin-top:5px}.art-baby{background:radial-gradient(circle at 75% 20%,#e8b7b3 0 11%,transparent 12%),radial-gradient(circle at 35% 18%,#9db8c8 0 13%,transparent 14%),linear-gradient(135deg,#dbc7b8,#aabfca 52%,#d99ca1)}.art-birthday{background:radial-gradient(circle at 72% 32%,#b8cdd5 0 17%,transparent 18%),radial-gradient(circle at 45% 18%,#edbfc2 0 16%,transparent 17%),linear-gradient(145deg,#b0c6d0,#edd0c3)}.art-wedding{background:radial-gradient(circle at 24% 20%,#f5d9b4 0 17%,transparent 18%),radial-gradient(circle at 78% 28%,#e9b8b5 0 18%,transparent 19%),linear-gradient(145deg,#eadfd2,#bd9c8d)}.art-corporate{background:radial-gradient(circle at 18% 25%,#9ab9ca 0 13%,transparent 14%),radial-gradient(circle at 83% 15%,#e8c2b9 0 14%,transparent 15%),linear-gradient(105deg,#6d8fa4,#c5a9a2)}.about-section{background:#fffdfa}.about-photo{height:520px;position:relative;display:flex;align-items:center;justify-content:center}.portrait-placeholder{width:325px;height:420px;border-radius:170px 170px 20px 20px;background:linear-gradient(145deg,#d7e0e4,#edd4ce);display:flex;align-items:center;justify-content:center;color:white;font-size:7rem;box-shadow:0 25px 45px rgba(110,90,75,.14);overflow:hidden}.portrait-placeholder i{opacity:.58}.photo-orbit{position:absolute;border:1px solid var(--line);border-radius:50%;width:420px;height:420px}.orbit-one{transform:rotate(-25deg) scaleX(.7)}.orbit-two{transform:rotate(25deg) scaleX(.7);border-color:#c7dae2}.about-stamp{position:absolute;bottom:24px;left:11%;background:var(--rose);color:white;width:108px;height:108px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-10deg);z-index:2}.about-stamp strong{font-family:'Playfair Display';font-size:2rem;line-height:1}.about-stamp span{font-size:.62rem;line-height:1.25;margin-top:6px}.testimonial-section{background:var(--cream)}.quote-mark{font-family:'Playfair Display';font-size:6rem;color:var(--rose);height:70px;line-height:1;margin-top:35px}.testimonial-section blockquote{font-family:'Playfair Display';font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.4;color:#667078}.stars{color:var(--rose);letter-spacing:.22em;margin:28px 0 11px}.author{font-size:.8rem}.author span{color:#a2a2a0}.dots button{width:7px;height:7px;border:0;border-radius:50%;background:#ddd0c9;padding:0;margin:0 5px}.dots button.active{background:var(--rose);transform:scale(1.5)}.cta-section{padding:90px 0;background:linear-gradient(110deg,#8faec2,#a8bfd0);color:white}.eyebrow-light{color:#e6f0f4}.cta-section h2{color:white}.cta-section h2 em{color:#f5d0cf}.cta-section p:not(.eyebrow){color:rgba(255,255,255,.8);margin-top:18px}.cta-section .btn-light{color:#6f8798}.cta-section .btn-light:hover{background:#fff0ed;color:#bf898b}footer{padding:32px 0;background:#fffdfa}footer img{width:86px;height:58px;object-fit:contain}footer p{font-size:.7rem;color:#a3a3a1}.socials{display:flex;gap:16px}.socials a{color:#a3a3a1;font-size:1.15rem}.socials a:hover{color:var(--rose)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:991px){.navbar{height:74px}.navbar-brand img{width:92px;height:68px}.navbar-collapse{background:rgba(255,253,250,.98);padding:15px 20px;border-radius:0 0 16px 16px}.hero-copy{padding-top:90px}.hero-visual{min-height:540px}.image-frame{height:540px}.section-pad{padding:90px 0}}@media(max-width:575px){h1{font-size:4.25rem}.hero{min-height:1000px}.hero-copy{padding-top:110px}.hero-visual{min-height:500px}.image-frame{height:500px}.floating-card{left:0;bottom:35px}.gallery-grid{display:flex;flex-direction:column}.gallery-item{height:240px}.gallery-item:first-child{height:340px}.about-photo{height:440px}.portrait-placeholder{width:260px;height:350px}.photo-orbit{width:340px;height:340px}.about-stamp{left:3%}.section-pad{padding:76px 0}.cta-section{padding:70px 0}}
