/* Direção visual revisada a partir do projeto aprovado pela cliente. */
:root{--ink:#17223c;--blue:#3e6ed7;--cream:#fff;--muted:#5e687c;--line:#e6ebf5;--green:#337f46;--pale:#f1f6ff;--yellow:#ffdf8c}
body{font-family:Nunito,"Segoe UI",sans-serif;background:linear-gradient(145deg,#eff6ff 0,#f6f9ff 540px,#fff 1000px)}
h1,h2,h3,.brand{font-family:Fredoka,"Segoe UI",sans-serif;font-weight:600;letter-spacing:-.025em}
.topline{display:none}
header{top:14px;width:calc(100% - 40px);max-width:1320px;margin:14px auto 0;border:1px solid #e5eaf4;border-radius:99px;background:#ffffffed;box-shadow:0 2px 3px #17223c0c;backdrop-filter:blur(16px)}
.nav.wrap{width:calc(100% - 44px);min-height:66px;gap:20px}
.brand{font-size:24px;letter-spacing:-.5px}
.brand small{display:none}
.brand-icon{display:grid;background:var(--blue);color:#fff;width:38px;height:38px;font-size:27px;margin-right:10px}
.nav nav{font-size:14px;font-weight:700;gap:28px}
.button{border-radius:99px;box-shadow:0 7px 18px #337f4620;font-family:Nunito,"Segoe UI",sans-serif;font-weight:700}
.compact{background:var(--blue);border-color:var(--blue);box-shadow:0 5px 12px #3e6ed71a}
.compact:hover{background:#2e56b4;border-color:#2e56b4}
.hero{width:min(1240px,calc(100% - 64px));grid-template-columns:1fr 1fr;gap:64px;padding-top:65px;padding-bottom:68px}
.hero h1{font-size:clamp(44px,4.8vw,68px);line-height:1.04;margin:24px 0;max-width:650px}
.hero .eyebrow{display:inline-flex;align-items:center;background:#e4edff;border-radius:99px;padding:7px 13px;font-size:11px;letter-spacing:.6px;margin:0}
.hero .dot{background:var(--blue)}
.lead{font-size:19px;line-height:1.55;color:var(--muted);margin-bottom:13px}
.hero-description{font-size:16px;line-height:1.65;margin-bottom:27px;max-width:470px}
.hero-visual{padding:35px 0 30px}
.photo-frame{border-radius:32px;box-shadow:0 18px 28px #243b6e12}
.photo-frame>img{height:490px;object-position:48% 45%}
.photo-frame:after,.image-label{display:none}
.since{top:59px;right:auto;left:-23px;background:#ffffffed;transform:none;border:1px solid #e5eaf4;border-radius:19px;padding:16px 22px;box-shadow:0 8px 20px #223e6210}
.since strong{font-family:Fredoka,sans-serif;font-size:27px;color:var(--blue)}
.since b{font-size:11px}
.since span{font-size:12px;color:var(--muted)}
.love-note{left:auto;right:-20px;bottom:10px;border-radius:20px;background:#ffffffed;padding:17px 22px 17px 64px;font-size:13px}
.love-note>span{color:#ba7a00;background:#fff0bf;border-radius:12px;width:34px;height:37px;left:18px;text-align:center;font-size:28px}
.micro{font-size:12px;margin:13px 0 21px}
.hero-trust{border:0;padding-top:7px;gap:25px;font-size:13px}
.service-strip{background:#f0f5ff;border-block:1px solid #e6edfc;padding:21px 0}
.service-strip>.wrap{color:#4365a2;font-size:11px}
.service-strip i{color:#6f91dc}
.eyebrow{letter-spacing:1.2px;color:var(--blue)}
h2{font-size:clamp(34px,3.3vw,48px)}
.section{padding-block:88px}
.section-head>p{font-size:15px}
.groom-photo img{border-radius:28px}
.groom-photo>span{border-radius:14px;background:#ffffffed}
.groom-list article>span{background:#eaf1ff;border-radius:50%;width:34px;height:34px;min-width:34px;text-align:center;padding-top:6px}
.groom-list h3{font-size:25px}
.gallery-section{background:linear-gradient(180deg,#f3f7ff,#fafcff)}
.gallery{gap:25px}
.gallery-item img{border-radius:24px;box-shadow:0 7px 18px #1c3e720a}
.gallery-item>span{padding:15px 8px;font-size:15px}
.care-card{border-radius:26px;box-shadow:0 8px 25px #18345206}
.care-card>div{padding:28px}
.care-card>img{height:235px}
.care-card h3{font-size:27px}
.why{background:linear-gradient(125deg,#eaf2ff,#f7faff);color:var(--ink);border-block:1px solid #e6edf9}
.why .eyebrow{color:var(--blue)}
.why p{color:var(--muted)}
.why em{color:var(--blue)}
.why .button{background:var(--green);border-color:var(--green);color:white}
.reasons article{border-color:#dce6f8}
.reasons article>span{color:var(--blue)}
.reviews figure{border-radius:24px;box-shadow:0 8px 20px #1e3b6505}
.reviews .review-invite{background:#f0f5ff}
.stars{color:#a96b00}
.reviews blockquote{font-size:18px}
.steps-section{background:#f6f9ff}
.steps article>span{background:#e4edff;color:var(--blue);font-family:Fredoka,sans-serif}
.location-visual{border-radius:28px}
.final-cta{background:linear-gradient(125deg,#edf4ff,#e2edff)}
.decor-heart{color:#d4e4ff}
.footer-grid h3{font-size:18px}
.mobile-cta{background:#fffffff2}
@media(max-width:1100px){.nav nav{gap:17px;font-size:12px}.hero{gap:42px}.hero h1{font-size:53px}.photo-frame>img{height:480px}.care-card>div{padding:22px}.care-card h3{font-size:24px}}
@media(max-width:820px){header{width:calc(100% - 28px)}.nav.wrap{width:calc(100% - 32px)}.hero{width:calc(100% - 48px);gap:28px}.hero h1{font-size:43px}.photo-frame>img{height:440px}.hero-description{font-size:15px}.lead{font-size:17px}.hero-trust{font-size:11px;gap:12px}.since{left:-10px;padding:13px}.since span{display:none}.love-note{right:-10px;font-size:11px;padding:13px 13px 13px 52px}.love-note>span{left:12px;width:30px;height:32px;font-size:25px}}
@media(max-width:600px){header{top:8px;margin-top:8px;width:calc(100% - 20px)}.nav.wrap{width:calc(100% - 24px);min-height:62px;gap:8px}.brand{font-size:20px}.brand-icon{width:29px;height:29px;font-size:22px;margin-right:6px}.compact{font-size:11px;padding:8px 11px;min-height:40px}.compact svg{display:none}.hero{width:calc(100% - 40px);gap:18px;padding-top:34px;padding-bottom:38px}.hero h1{font-size:clamp(39px,10.8vw,49px);line-height:1.06;max-width:440px;margin:22px 0}.hero .eyebrow{font-size:10px;letter-spacing:.2px;padding:6px 11px}.hero h1 br{display:none}.hero .lead{font-size:17px;line-height:1.6}.hero-description{font-size:15px}.hero-trust{font-size:11px;gap:10px;justify-content:space-between}.hero-visual{padding:20px 5px 28px}.photo-frame{border-radius:26px}.photo-frame>img{height:345px;object-position:50% 42%}.since{top:38px;left:-5px;padding:12px 16px;border-radius:15px}.since span{display:block;font-size:10px}.since strong{font-size:24px}.love-note{right:-4px;bottom:9px;padding:12px 16px 12px 55px;font-size:11px;border-radius:15px}.section{padding-block:58px}h2{font-size:35px}.section-head>p{font-size:14px}.groom-list h3{font-size:23px}.gallery{gap:17px}.gallery-item img{border-radius:18px}.gallery-item>span{font-size:12px;padding:12px 2px}.care-card>div{padding:25px}.care-card h3{font-size:27px}.why-inner{padding-block:55px}.reasons h3{font-size:23px}.final-cta h2{font-size:36px}.footer-grid h3{font-size:18px}}
