@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--purple:#2b0b52;--plum:#1c0b35;--orange:#d79a08;--gold:#f0b62d;--red:#9a3e4f;--cream:#fbfaf7;--ink:#292332;--muted:#625c6a;--line:#e7e1db;--white:#fff;--navy:#0e3b60;--shadow:0 24px 70px rgba(28,11,53,.12);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-100px;background:var(--white);padding:12px 18px;z-index:1000}.skip-link:focus{top:16px}.utility-bar{background:var(--plum);color:#fff;font-size:.82rem}.utility-inner{display:flex;justify-content:space-between;padding:8px 0}.utility-inner a{text-decoration:none;font-weight:800}.site-header{position:sticky;top:0;z-index:50;background:rgba(252,250,253,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(43,11,94,.08)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between}.brand img{width:250px;height:72px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{text-decoration:none;font-weight:750;font-size:.92rem}.main-nav a:not(.nav-cta):hover{color:var(--orange)}.nav-cta{background:var(--purple);color:#fff;padding:13px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span:not(.sr-only){display:block;width:27px;height:2px;background:var(--purple);margin:5px}.hero{padding:78px 0 90px;overflow:hidden;background:radial-gradient(circle at 8% 10%,rgba(215,185,20,.13),transparent 28%),radial-gradient(circle at 100% 50%,rgba(237,125,26,.1),transparent 30%)}.hero-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:72px;align-items:center}.eyebrow{display:block;color:var(--orange);font-weight:850;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;margin-bottom:14px}.hero h1,.section h2,.contact h2{font-family:Georgia,"Times New Roman",serif;line-height:1.04;letter-spacing:-.035em;margin:0;color:var(--plum)}.hero h1{font-size:clamp(3.1rem,6vw,5.8rem);max-width:820px}.hero-lead{font-size:1.17rem;color:var(--muted);max-width:650px;margin:25px 0 32px}.hero-actions,.office-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 23px;border-radius:999px;text-decoration:none;font-weight:850;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--orange);color:#fff;box-shadow:0 12px 26px rgba(237,125,26,.25)}.button-secondary{border:1.5px solid var(--purple);color:var(--purple)}.button-gold{background:var(--gold);color:var(--plum)}.trust-list{display:flex;gap:22px;list-style:none;padding:0;margin:30px 0 0;flex-wrap:wrap;color:var(--purple);font-size:.9rem;font-weight:700}.trust-list li:before{content:"✓";color:var(--orange);margin-right:7px}.hero-visual{position:relative}.hero-image-frame{height:640px;border-radius:180px 180px 34px 34px;overflow:hidden;box-shadow:var(--shadow);border:8px solid #fff}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-card{position:absolute;left:-54px;bottom:45px;width:280px;padding:20px 22px;background:#fff;border-radius:18px;box-shadow:var(--shadow);border-left:5px solid var(--gold)}.hero-card strong,.hero-card span{display:block}.hero-card strong{color:var(--purple);margin-bottom:5px}.hero-card span{font-size:.87rem;color:var(--muted)}.service-strip{background:var(--purple);color:#fff}.service-strip-grid{min-height:76px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;text-align:center;font-weight:800}.service-strip span+span{border-left:1px solid rgba(255,255,255,.23)}.section{padding:105px 0}.section-heading{max-width:720px;margin-bottom:48px}.section-heading h2,.weddings h2,.about h2,.office h2{font-size:clamp(2.4rem,5vw,4.2rem)}.section-heading p{color:var(--muted);font-size:1.06rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;padding:32px;min-height:270px;border:1px solid var(--line);border-radius:22px;background:#fff;transition:.25s transform,.25s box-shadow}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card.feature{background:linear-gradient(145deg,var(--purple),var(--plum));color:#fff;border:0}.service-number{display:block;color:var(--orange);font-weight:900;font-size:.8rem;letter-spacing:.1em}.service-card h3{font-size:1.4rem;margin:34px 0 8px;line-height:1.2}.service-card p{font-size:.94rem;color:var(--muted)}.service-card.feature p{color:rgba(255,255,255,.76)}.service-card a{font-weight:850;color:var(--orange);text-decoration:none}.immigration{background:var(--purple);color:#fff}.immigration-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.section-heading.light{margin:0}.section-heading.light h2{color:#fff}.section-heading.light p{color:rgba(255,255,255,.72);margin-bottom:28px}.immigration-list{border-top:1px solid rgba(255,255,255,.2)}.immigration-list div{display:grid;grid-template-columns:50px 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding:14px 0}.immigration-list span{color:var(--gold);font-weight:900}.immigration-list p{margin:0;font-size:1.06rem;font-weight:730}.weddings{background:linear-gradient(135deg,#fff8ee,#fff)}.weddings-grid{display:grid;grid-template-columns:1.15fr .65fr;gap:90px;align-items:center}.weddings-copy>p{font-size:1.08rem;color:var(--muted)}.check-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.check-list li{font-weight:750}.check-list li:before{content:"✦";color:var(--orange);margin-right:8px}.quote-card{background:var(--plum);color:#fff;border-radius:var(--radius);padding:48px;box-shadow:var(--shadow)}.quote-mark{display:block;color:var(--gold);font:5rem/1 Georgia}.quote-card p{font:1.65rem/1.35 Georgia;margin-top:-15px}.quote-card strong{color:var(--gold)}.about-grid,.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-image{position:relative}.about-image img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.image-label{position:absolute;right:-20px;bottom:24px;background:var(--orange);color:#fff;padding:13px 18px;border-radius:12px;font-weight:800}.about-copy p,.office-copy>p{color:var(--muted)}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.about-points div{border-top:3px solid var(--gold);padding-top:14px}.about-points strong,.about-points span{display:block}.about-points strong{color:var(--purple)}.about-points span{font-size:.9rem;color:var(--muted)}.office{background:#f2edf5}.office-grid{grid-template-columns:.9fr .65fr}.office-copy address{font-style:normal;border-left:4px solid var(--orange);padding-left:18px;margin:25px 0}.text-link{font-weight:850;color:var(--purple)}.office-image{height:570px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.office-image img{width:100%;height:100%;object-fit:cover}.contact{padding:80px 0;background:var(--orange);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.contact .eyebrow{color:var(--plum)}.contact h2{color:#fff;font-size:clamp(2.5rem,5vw,4.5rem)}.contact-options{display:grid;gap:10px}.contact-options a{display:flex;justify-content:space-between;align-items:center;gap:15px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding:14px 0}.contact-options span{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.contact-options strong{font-size:1.08rem;text-align:right}.site-footer{background:var(--plum);color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:80px}.footer-brand img{width:260px;background:#fff;border-radius:12px;padding:10px}.site-footer h3{color:var(--gold);margin-top:0}.site-footer a{color:#fff;text-decoration:none}.footer-grid>div:last-child a{display:block;margin:7px 0}.legal-note{border-top:1px solid rgba(255,255,255,.15);margin-top:45px;padding-top:20px;color:rgba(255,255,255,.67);font-size:.76rem}.floating-whatsapp{position:fixed;right:20px;bottom:20px;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#20b858;color:#fff;text-decoration:none;font-weight:950;box-shadow:0 12px 30px rgba(0,0,0,.22);z-index:40}.reveal{opacity:0;transform:translateY(20px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 20px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.1);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.immigration-grid,.weddings-grid,.about-grid,.office-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.hero{padding-top:55px}.hero-visual{max-width:580px;margin:auto}.hero-image-frame{height:640px}.hero-card{left:10px}.services-grid{grid-template-columns:1fr 1fr}.immigration-grid{gap:50px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.office-image{height:600px}}
@media(max-width:620px){.container{width:min(100% - 28px,1160px)}.utility-inner span{display:none}.utility-inner{justify-content:center}.nav-wrap{height:76px}.brand img{width:205px}.hero{padding:42px 0 64px}.hero h1{font-size:2.75rem}.hero-lead{font-size:1rem}.hero-actions .button{width:100%}.hero-image-frame{height:510px;border-radius:110px 110px 26px 26px}.hero-card{position:relative;left:auto;bottom:auto;width:calc(100% - 20px);margin:-50px auto 0}.trust-list{gap:9px;flex-direction:column}.service-strip-grid{grid-template-columns:1fr 1fr;padding:15px 0;gap:0}.service-strip span{padding:8px}.service-strip span+span{border-left:0}.section{padding:72px 0}.section-heading h2,.weddings h2,.about h2,.office h2{font-size:2.55rem}.services-grid{grid-template-columns:1fr}.service-card{min-height:auto}.check-list,.about-points{grid-template-columns:1fr}.quote-card{padding:35px 28px}.image-label{right:10px}.office-image{height:510px}.contact-options a{align-items:flex-start;flex-direction:column}.contact-options strong{text-align:left;overflow-wrap:anywhere}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-brand{grid-column:auto}.floating-whatsapp{width:54px;height:54px}.immigration-list div{grid-template-columns:42px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}

/* Interior service pages */
.page-hero{padding:82px 0 70px;background:linear-gradient(135deg,var(--plum),var(--purple));color:#fff;overflow:hidden;position:relative}.page-hero:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-120px;top:-200px;border:90px solid rgba(255,255,255,.05)}.page-hero .eyebrow{color:var(--gold)}.page-hero h1{font:clamp(3rem,7vw,5.7rem)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0;max-width:900px}.page-hero p{font-size:1.15rem;max-width:720px;color:rgba(255,255,255,.76);margin:22px 0 0}.breadcrumbs{font-size:.82rem;margin-bottom:22px;color:rgba(255,255,255,.68)}.breadcrumbs a{color:#fff}.content-grid{display:grid;grid-template-columns:1.15fr .6fr;gap:70px;align-items:start}.prose h2{font:clamp(2.1rem,4vw,3.5rem)/1.08 Georgia,"Times New Roman",serif;color:var(--plum);margin-top:0}.prose h3{color:var(--purple);font-size:1.35rem;margin-top:34px}.prose p,.prose li{color:var(--muted)}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:0;list-style:none;margin:28px 0}.detail-list li{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 18px;font-weight:750;color:var(--ink)}.detail-list li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:9px}.side-card{position:sticky;top:125px;background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow);border-top:5px solid var(--orange)}.side-card h2{font:2rem/1.1 Georgia,"Times New Roman",serif;color:var(--plum);margin:0 0 12px}.side-card p{color:var(--muted);font-size:.94rem}.side-card .button{width:100%;margin-top:10px}.side-card .text-link{display:block;text-align:center;margin-top:16px}.services-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.directory-card{display:flex;flex-direction:column;min-height:245px;padding:28px;border-radius:20px;background:#fff;border:1px solid var(--line);text-decoration:none;transition:.2s}.directory-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}.directory-card span{color:var(--orange);font-weight:900;font-size:.75rem;letter-spacing:.1em}.directory-card h2{font-size:1.35rem;color:var(--purple);margin:25px 0 8px}.directory-card p{font-size:.91rem;color:var(--muted);margin:0}.directory-card strong{margin-top:auto;padding-top:18px;color:var(--orange)}.notice-box{background:#f3eef7;border-left:4px solid var(--purple);padding:18px 20px;border-radius:0 14px 14px 0;font-size:.86rem;color:var(--muted);margin-top:30px}.page-cta{background:var(--orange);color:#fff;padding:65px 0}.page-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.page-cta h2{font:clamp(2rem,4vw,3.4rem)/1.05 Georgia,"Times New Roman",serif;margin:0;max-width:670px}.page-cta .button{background:#fff;color:var(--purple)}
@media(max-width:1050px){.main-nav{gap:13px}.main-nav a{font-size:.78rem}.nav-cta{display:none}}
@media(max-width:900px){.content-grid{grid-template-columns:1fr}.side-card{position:static}.services-directory{grid-template-columns:1fr 1fr}.page-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.page-hero{padding:58px 0}.page-hero h1{font-size:2.75rem}.detail-list,.services-directory{grid-template-columns:1fr}.directory-card{min-height:auto}.page-cta{padding:50px 0}}

/* Encabezado principal: navegación limpia y equilibrada */
@media(min-width:901px){
  .nav-wrap{width:min(1500px,calc(100% - 80px));height:96px;justify-content:flex-start}
  .brand{flex:0 0 235px;margin-right:58px}
  .brand img{width:235px}
  .main-nav{flex:1;justify-content:flex-end;gap:clamp(16px,1.8vw,32px)}
  .main-nav a{white-space:nowrap}
}
.nav-cta,.floating-whatsapp{display:none!important}
@media(min-width:901px) and (max-width:1050px){
  .nav-wrap{width:min(100% - 40px,1160px)}
  .brand{flex-basis:205px;margin-right:24px}
  .brand img{width:205px}
}

/* Gama institucional: ciruela, azul petróleo, dorado y marfil */
.site-header{background:rgba(250,248,244,.97);border-bottom-color:rgba(37,20,63,.09)}
.hero{background:radial-gradient(circle at 8% 10%,rgba(198,154,59,.10),transparent 30%),radial-gradient(circle at 100% 50%,rgba(25,75,89,.08),transparent 32%)}
.button-primary{background:var(--purple);box-shadow:0 12px 26px rgba(25,75,89,.20)}
.button-secondary{border-color:var(--purple);background:#fff}
.service-strip{background:var(--purple)}
.immigration{background:linear-gradient(135deg,var(--plum),#30204b)}
.weddings{background:linear-gradient(135deg,#f7f2e8,#fff)}
.office{background:#f1eee9}
.contact{background:var(--purple)}
.contact .eyebrow{color:var(--gold)}
.contact-options a{border-bottom-color:rgba(255,255,255,.32)}
.service-card.feature{background:linear-gradient(145deg,var(--plum),#34224f)}
.image-label{background:var(--purple)}
.directory-card strong,.service-card a{color:#9b7426}
.site-footer{background:var(--plum)}

/* Botón único de contacto y acabado corporativo */
.header-whatsapp{display:inline-flex!important;align-items:center;gap:7px;padding:10px 17px;border-radius:7px;background:#187b57;color:#fff!important;font-weight:800;box-shadow:0 5px 14px rgba(24,123,87,.16);transition:background .2s ease,transform .2s ease}
.header-whatsapp:hover{background:#126447!important;transform:translateY(-1px)}
.header-whatsapp span{font-size:1.05rem;line-height:1}
.utility-bar{background:var(--plum)}
.hero{background:linear-gradient(135deg,#fff 0%,#f7f9fc 58%,#eef3f6 100%)}
.eyebrow{color:var(--orange)}
.weddings{background:linear-gradient(135deg,#f4f6f8,#fff)}
.service-card,.directory-card,.side-card{border-color:var(--line)}
@media(min-width:901px) and (max-width:1220px){.header-whatsapp{display:none!important}}
@media(max-width:900px){.header-whatsapp{display:inline-flex!important;justify-content:center;margin-top:5px}}

/* Rediseño corporativo inspirado en la referencia aprobada */
body{font-family:"Montserrat",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--cream)}
.hero h1,.section h2,.contact h2,.weddings h2,.about h2,.office h2,.page-hero h1,.prose h2,.side-card h2,.page-cta h2{font-family:"Playfair Display",Georgia,serif}
.utility-bar{background:var(--plum)}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.main-nav a{font-weight:700;color:var(--ink);padding:10px 12px;border-radius:9px;transition:background .2s,color .2s}
.main-nav a:hover{color:var(--plum)!important;background:#f8f3e8}
.main-nav .nav-active{color:var(--plum);background:linear-gradient(180deg,#ffd86a,#e9a91f);box-shadow:0 7px 16px rgba(215,154,8,.2)}
@media(min-width:901px){
  .nav-wrap{height:88px;width:min(1440px,calc(100% - 80px))}
  .brand{flex:0 0 245px;margin-right:80px}
  .brand img{width:245px;height:70px}
  .main-nav{justify-content:flex-end;gap:clamp(6px,1vw,17px)}
  .main-nav a{font-size:.84rem}
}
.hero{padding:48px 0 62px;background:radial-gradient(circle at 7% 15%,rgba(240,182,45,.08),transparent 30%),linear-gradient(135deg,#fffefa 0%,#fbf9f7 64%,#f6f0f8 100%)}
.hero-grid{grid-template-columns:1.08fr .82fr;gap:60px}
.eyebrow{color:#bd7600;font-size:.72rem;letter-spacing:.1em;margin-bottom:13px}
.hero h1{font-size:clamp(3.35rem,4.8vw,4.85rem);line-height:.99;max-width:720px;color:var(--plum);letter-spacing:-.045em}
.hero-lead{font-size:1rem;line-height:1.55;max-width:610px;margin:24px 0 27px}
.button{min-height:48px;padding:11px 24px}
.button-primary{background:linear-gradient(180deg,#f5c64f,#dfa20e);color:var(--plum);box-shadow:0 12px 25px rgba(215,154,8,.23)}
.button-secondary{border:2px solid var(--purple);background:#fff;color:var(--purple)}
.trust-list{margin-top:23px;font-size:.78rem;gap:20px}
.trust-list li:before{color:var(--gold)}
.hero-image-frame{height:auto;aspect-ratio:4/5;border-radius:180px 180px 32px 32px;border:7px solid #fff;box-shadow:var(--shadow);outline:2px solid rgba(215,154,8,.65);outline-offset:-2px}
.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-card{left:-40px;bottom:24px;width:285px;padding:18px 21px;border-left-color:var(--gold)}
.hero-card strong{color:var(--purple);font-size:1rem;line-height:1.15}
.service-strip{background:var(--navy)}
.service-strip-grid{min-height:78px}
.service-strip-grid span{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.94rem}
.service-strip-grid b{display:grid;place-items:center;width:38px;height:38px;font-size:1.55rem;font-weight:400;filter:saturate(.9)}
.service-strip span+span{border-left:1px solid rgba(240,182,45,.55)}
.section{padding:88px 0}
.section-heading{margin-bottom:38px}
.section-heading h2,.weddings h2,.about h2,.office h2{font-size:clamp(2.65rem,4.2vw,3.9rem);color:var(--plum)}
.service-card{border-color:rgba(215,154,8,.45);box-shadow:0 9px 28px rgba(28,11,53,.06)}
.service-card.feature{background:linear-gradient(145deg,#3c1266,var(--plum))}
.service-number{color:var(--gold)}
.service-card a{display:inline-flex;align-items:center;width:max-content;margin-top:10px;padding:9px 17px;border:2px solid var(--gold);border-radius:999px;color:inherit;text-decoration:none}
.service-card:not(.feature) a{color:var(--plum);background:linear-gradient(180deg,#f5c64f,#dfa20e);border:0}
.immigration,.contact{background:linear-gradient(135deg,var(--plum),var(--purple))}
.about-image{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;box-shadow:none}
.image-label{background:linear-gradient(180deg,#f2b933,#cf8800);color:var(--plum)}
.office{background:#f5f1ec}
.page-hero{background:linear-gradient(135deg,var(--plum),var(--purple))}
.page-cta{background:var(--navy)}
.directory-card strong,.service-card a{color:inherit}
.site-footer{background:var(--plum)}
@media(max-width:900px){
  .main-nav .nav-active{width:max-content}
  .hero-grid{gap:42px}
  .hero-image-frame{height:auto;max-height:620px}
}
@media(max-width:620px){
  .hero h1{font-size:2.72rem;line-height:1.02}
  .hero{padding:38px 0 54px}
  .service-strip-grid{grid-template-columns:1fr;padding:8px 0}
  .service-strip-grid span{justify-content:flex-start;padding:9px 22px}
  .service-strip span+span{border-left:0;border-top:1px solid rgba(240,182,45,.28)}
  .about-image{aspect-ratio:4/3}
}

/* Versión 2: coincidencia visual con la referencia aprobada */
:root{--purple:#2a0a4a;--plum:#1f0737;--gold:#f2b72b;--orange:#c98700;--navy:#0b3a60;--cream:#fffdf9;--ink:#251d2d;--muted:#665f6c;--line:#e8dfd4}
body{background:#fffdf9;color:var(--ink);font-family:"Montserrat","Segoe UI",Arial,sans-serif}
.hero h1,.section h2,.weddings h2,.about h2,.office h2,.contact h2,.page-hero h1,.prose h2,.side-card h2,.page-cta h2{font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;font-weight:700;color:var(--plum)}
.utility-bar{background:#1f0737!important}
.site-header{background:#fff!important}
.main-nav .nav-active{background:linear-gradient(180deg,#ffd66a,#eaa91e)!important;color:#210635!important}
.hero{background:radial-gradient(circle at 8% 12%,rgba(242,183,43,.08),transparent 28%),linear-gradient(135deg,#fffefa 0%,#fff 62%,#faf4fb 100%)!important}
.hero h1{font-size:clamp(3.25rem,4.65vw,4.7rem)!important;line-height:.99!important;max-width:690px!important}
.button-primary{background:linear-gradient(180deg,#f9cd58,#e4a30d)!important;color:#210635!important}
.button-secondary{background:#fff!important;border:2px solid #2a0a4a!important;color:#2a0a4a!important}
.service-strip{background:#0b3a60!important;color:#fff}
.service-strip-grid span{gap:15px;font-weight:700}
.service-strip-grid svg{width:45px;height:45px;fill:none;stroke:#f2b72b;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 45px}
.service-strip span+span{border-left:1px solid rgba(242,183,43,.55)!important}
.service-card.feature{background:linear-gradient(145deg,#4a1675,#210638)!important}
.service-card{border-color:#dda91f!important}
.service-number{color:#f2b72b!important}
.immigration,.contact,.page-hero{background:linear-gradient(135deg,#1f0737,#3a1062)!important}
.page-hero h1{color:#fff!important}
.contact h2{color:#fff!important}
.page-cta{background:#0b3a60!important}
.button[href*="wa.me"]{background:linear-gradient(180deg,#f9cd58,#e4a30d)!important;color:#210635!important;border:0!important;box-shadow:0 12px 25px rgba(215,154,8,.23)!important}
.button[href*="wa.me"]:hover{background:linear-gradient(180deg,#ffd873,#e7a70f)!important;color:#210635!important;box-shadow:0 15px 30px rgba(215,154,8,.3)!important}
.image-label{background:linear-gradient(180deg,#f4c64c,#d89600)!important;color:#210635!important}
.service-number,.directory-card>span,.immigration-list span{display:none!important}
.service-card h3{margin-top:0!important}
.directory-card h2{margin-top:0!important}
.immigration-list div{grid-template-columns:1fr!important}
.office-image img{transform:scale(1.22);object-position:center 54%}
@media(max-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:38px!important}
  .hero-copy,.hero-visual{width:100%;min-width:0}
  .hero h1{font-size:clamp(2.65rem,13vw,3.35rem)!important;line-height:1.02!important;max-width:100%!important;letter-spacing:-.035em!important}
  .hero-visual{max-width:430px!important;margin:0 auto!important}
  .hero-image-frame{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:4/5!important;margin:0 auto!important}
  .hero-card{position:relative!important;left:auto!important;bottom:auto!important;width:calc(100% - 24px)!important;margin:-58px auto 0!important}
}
@media(max-width:620px){
  .hero{padding:38px 0 54px!important}
  .hero-grid{gap:30px!important}
  .hero h1{font-size:clamp(2.55rem,12.8vw,3.05rem)!important}
  .hero-lead{font-size:1rem!important}
}
@media(max-width:620px){.service-strip span+span{border-left:0!important;border-top:1px solid rgba(242,183,43,.3)!important}.service-strip-grid svg{width:38px;height:38px;flex-basis:38px}}
