:root{--navy:#142b45;--blue:#1769aa;--blue-dark:#10558d;--green:#2c8a67;--ink:#223044;--muted:#607083;--paper:#f5f7fa;--line:#e2e8ef;--gold:#c6a66b;--cream:#faf8f3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Inter,Segoe UI,Arial,sans-serif;background:#fff}a{color:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
.topbar{background:var(--navy);color:#fff;font-size:14px}.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.topbar a{color:#d8ebff;text-decoration:none}
header{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:190px;height:66px;flex:none;overflow:hidden}.brand img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%}.navlinks{display:flex;align-items:center;gap:22px}.navlinks a{text-decoration:none;font-size:14px;font-weight:700}.navlinks a:hover{color:var(--blue)}
.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:#fff!important;text-decoration:none;border:0;border-radius:999px;padding:13px 20px;font-weight:750;line-height:1.2}.btn:hover{background:var(--blue-dark)}.btn.secondary{background:#fff;color:var(--navy)!important;border:1px solid #cbd7e3}.btn.whatsapp{background:#16834b}.btn.small{padding:11px 16px;font-size:14px}
.hero{padding:68px 0;background:radial-gradient(ellipse at 92% 10%,#e5f2fc 0,transparent 36%),linear-gradient(180deg,#fbfdff 0,var(--paper) 100%)}.eyebrow{color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.hero h1{font-size:clamp(38px,5vw,58px);line-height:1.06;letter-spacing:-.05em;color:var(--navy);margin:14px 0 18px}.lead{font-size:19px;color:#4a5c70;max-width:760px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.page-head{padding:58px 0 42px;background:var(--paper)}.page-head h1{font-size:clamp(34px,4.5vw,52px);line-height:1.08;letter-spacing:-.04em;color:var(--navy);margin:10px 0 14px}.page-head p{font-size:18px;color:var(--muted);max-width:760px}
main section{padding:54px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.card h2,.card h3{color:var(--navy);margin-top:0}.card p{color:var(--muted)}.card .btn{margin-top:8px}.list{padding-left:22px}.list li{margin:8px 0}.note{border-left:4px solid var(--blue);padding:16px 20px;background:#eef6fc;border-radius:0 12px 12px 0;color:#41566b}.muted{color:var(--muted)}.hours{display:grid;grid-template-columns:1fr auto;gap:6px 14px;margin:18px 0}.hours strong{color:var(--navy)}
footer{background:#101f32;color:#dbe4ed;padding:42px 0}.footgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px}.footlogo{width:230px;height:112px;padding:7px 10px;background:#fff;border-radius:14px;overflow:hidden}.footlogo img{width:100%;height:100%;object-fit:cover}.footgrid h2{font-size:14px;color:#fff;text-transform:uppercase}.footgrid a{color:#dbe4ed}.footgrid p{font-size:14px;color:#c2ceda}.legal{border-top:1px solid #344355;margin-top:24px;padding-top:16px;font-size:13px;color:#aebdcb;display:flex;justify-content:space-between;gap:20px}.mobile-cta{display:none}
@media(max-width:850px){.navlinks{display:none}.grid{grid-template-columns:repeat(2,1fr)}.footgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wrap{width:calc(100% - 30px)}.nav{min-height:68px;gap:10px}.brand{width:150px;height:52px}.nav .btn{padding:10px 12px;font-size:13px}.hero,.page-head{padding:42px 0}.grid,.footgrid{grid-template-columns:1fr}.legal{flex-direction:column}.topbar{font-size:12px}}
/* Premium finish and subtle, motion-safe entrance effects */
body{background:#fff;color:#263342}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.025em}.topbar{background:#101b2a}.btn{background:var(--navy);border:1px solid rgba(198,166,107,.6);box-shadow:0 8px 22px rgba(16,27,42,.12);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.btn:hover{background:#203d5d;transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,27,42,.18)}.eyebrow{color:#987a45;letter-spacing:.14em}.hero,.page-head{background:radial-gradient(ellipse at 90% 8%,rgba(198,166,107,.16),transparent 34%),linear-gradient(140deg,#fcfbf8,#f4f1e9)}.hero h1,.page-head h1{color:#13243a}.card{box-shadow:0 12px 36px rgba(16,27,42,.045);transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease,border-color .35s ease}.card:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(16,27,42,.1);border-color:rgba(198,166,107,.65)}.footlogo{box-shadow:0 12px 28px rgba(0,0,0,.2)}.social-links{display:flex;gap:10px;margin:18px 0}.social-links a{width:40px;height:40px;border:1px solid rgba(255,255,255,.24);border-radius:50%;display:grid;place-items:center;color:#f1dfbc;text-decoration:none;transition:.25s ease}.social-links a:hover{background:var(--gold);color:#101b2a;transform:translateY(-3px)}.social-links svg{width:19px;height:19px;fill:currentColor}.payment-methods{max-width:280px;width:100%;height:auto;display:block;background:#fff;border-radius:10px;padding:10px;margin-top:12px}.footer-extras{border-top:1px solid rgba(255,255,255,.16);margin-top:28px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-extras strong{color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.footer-legal-links{display:flex;flex-wrap:wrap;gap:16px}.footer-legal-links a{color:#e1d4bd;font-size:13px;text-decoration:none}.footer-legal-links a:hover{text-decoration:underline}.reveal{animation:fade-up .75s cubic-bezier(.2,.65,.25,1) both}.reveal:nth-child(2){animation-delay:.08s}.reveal:nth-child(3){animation-delay:.16s}@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:560px){.footer-extras{align-items:flex-start;flex-direction:column}.social-links{margin:12px 0}.payment-methods{max-width:250px}}
.legal-copy{max-width:900px}.legal-copy h2{font-size:26px;color:var(--navy);margin:34px 0 10px}.legal-copy h3{font-size:20px;color:var(--navy);margin:28px 0 8px}.legal-copy h4{font-size:17px;color:var(--ink);margin:20px 0 6px}.legal-copy p{color:#4f5e6c}.legal-copy a{color:var(--blue)}details{border-bottom:1px solid var(--line);padding:17px 0}details summary{cursor:pointer;color:var(--navy)}details p{margin:12px 0 0;color:var(--muted)}.page-head .wrap,.hero-grid,.section-head{animation:fade-up .7s cubic-bezier(.2,.65,.25,1) both}.hero-grid{animation-delay:.06s}.card:focus-within,.btn:focus-visible,.navlinks a:focus-visible,.social-links a:focus-visible{outline:3px solid rgba(198,166,107,.65);outline-offset:3px}
.contact-row>.icon{display:flex!important;align-items:center;justify-content:center;flex:none;width:42px;height:42px;min-width:42px;padding:0;border:1px solid rgba(198,166,107,.38);border-radius:14px;background:linear-gradient(145deg,#fff,#f5f0e6);color:#8d7142;font-size:0;line-height:1;box-shadow:0 5px 14px rgba(20,43,69,.06)}.contact-row>.icon svg{display:block;width:20px;height:20px;flex:none;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.icon{align-items:center;justify-content:center}.icon svg{width:20px;height:20px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.hero{position:relative;isolation:isolate;overflow:hidden}.hero>.wrap{position:relative;z-index:1}.parallax-orb{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;will-change:transform;transform:translate3d(0,var(--parallax-y,0px),0)}.parallax-orb.one{width:330px;height:330px;right:-110px;top:5%;background:radial-gradient(circle,rgba(198,166,107,.17),rgba(198,166,107,0) 70%)}.parallax-orb.two{width:240px;height:240px;left:-110px;bottom:-60px;background:radial-gradient(circle,rgba(23,105,170,.10),rgba(23,105,170,0) 72%)}
.status,.cta{position:relative;isolation:isolate;overflow:hidden}.status>.wrap,.cta>.wrap{position:relative;z-index:1}.parallax-orb.status-glow{width:390px;height:390px;right:-130px;top:10%;background:radial-gradient(circle,rgba(198,166,107,.22),rgba(198,166,107,0) 70%)}.parallax-orb.cta-glow{width:300px;height:300px;left:58%;top:-80px;background:radial-gradient(circle,rgba(198,166,107,.22),rgba(198,166,107,0) 70%)}
.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1)}.will-reveal.is-visible{opacity:1;transform:translateY(0)}.btn,.service,.card,.location-card{transition:transform .3s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease,border-color .3s ease,background-color .3s ease}.btn:active{transform:translateY(0) scale(.98)}
.logo-progress{position:fixed;z-index:12;right:16px;top:calc(50% - 100px);width:52px;height:202px;pointer-events:none}.logo-progress-track{position:absolute;left:50%;top:20px;bottom:18px;width:2px;overflow:hidden;transform:translateX(-50%);border-radius:4px;background:rgba(20,43,69,.13)}.logo-progress-fill{display:block;width:100%;height:0;border-radius:4px;background:linear-gradient(var(--gold),#ead8b6);transition:height .12s linear}.logo-progress-marker{position:absolute;top:0;left:0;display:grid;place-items:center;width:48px;height:36px;padding:3px;border:1px solid rgba(198,166,107,.55);border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(20,43,69,.16);overflow:hidden;transition:top .12s linear;animation:logo-drift 3.2s ease-in-out infinite}.logo-progress-marker img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%}@keyframes logo-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:850px){.logo-progress{right:7px;transform:scale(.88);transform-origin:right center}.parallax-orb.one{right:-170px}}
@media(max-width:560px){.logo-progress{right:4px;top:38%;width:40px;height:158px;transform:scale(.82);transform-origin:right top}.logo-progress-marker{width:40px;height:31px;border-radius:10px}.parallax-orb.one{width:220px;height:220px;right:-130px}.parallax-orb.two{width:170px;height:170px}}
@media(max-width:560px){.parallax-orb.status-glow{width:250px;height:250px;right:-180px}.parallax-orb.cta-glow{width:220px;height:220px;left:55%;top:-80px}}
@media(prefers-reduced-motion:reduce){.will-reveal,.will-reveal.is-visible{opacity:1;transform:none;transition:none}.logo-progress-marker{animation:none}.parallax-orb{transform:none!important}}

/* Shared navigation and scroll reveals for every page. */
header{z-index:20}
.nav{position:relative}
header .brand{height:72px}
header .brand img{object-fit:cover;object-position:50% 50%}
.menu-toggle{display:none;width:42px;height:42px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
@media(max-width:850px){
  .menu-toggle{display:flex;order:2;flex:none}
  .navlinks,.navlinks.is-open{position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:21;display:none;align-items:stretch;flex-direction:column;gap:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 18px 36px rgba(20,43,69,.14)}
  .navlinks.is-open{display:flex}
  .navlinks a{padding:11px 13px;border-radius:9px}
  .navlinks a:hover{background:#f5f7fa}
  .nav>.btn{order:3}
}
.will-reveal{animation:none!important;transform:translateY(28px) scale(.985);transition-duration:.7s;transition-delay:var(--reveal-delay,0ms)}
.will-reveal.is-visible{transform:translateY(0) scale(1)}
.will-reveal.is-visible.card:hover,.will-reveal.is-visible.service:hover,.will-reveal.is-visible.location-card:hover{transform:translateY(-4px)}
.will-reveal.is-visible.btn:hover{transform:translateY(-2px)}
@media(max-width:560px){header .brand{height:60px}}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}
@media(prefers-reduced-motion:reduce){.will-reveal,.will-reveal.is-visible{opacity:1;transform:none!important;transition:none!important}}
section.scroll-photo{position:relative;isolation:isolate}
section.scroll-photo::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.15;transition:opacity .9s ease;background-repeat:no-repeat;background-size:cover,315% auto;background-color:transparent}
section.scroll-photo>.wrap{position:relative;z-index:1}
section.scroll-photo.photo-handoff::before{background-image:linear-gradient(rgba(12,22,32,.24),rgba(12,22,32,.24)),url("plate-and-papers.png");background-size:cover,200% auto;background-position:center,100% 50%}
section.scroll-photo.photo-signing::before{background-image:linear-gradient(rgba(12,22,32,.24),rgba(12,22,32,.24)),url("background-scenes-b.png");background-position:center,50% 50%}
section.scroll-photo.photo-keys::before{background-image:linear-gradient(rgba(12,22,32,.24),rgba(12,22,32,.24)),url("background-scenes-a.png");background-position:center,100% 50%}
body.motion-enabled section.scroll-photo::before{opacity:0}
body.motion-enabled section.scroll-photo.photo-active::before{opacity:.16}
@media(max-width:560px){section.scroll-photo::before{background-size:cover,480% auto}}
@media(max-width:560px){section.scroll-photo.photo-handoff::before{background-size:cover,650% auto;background-position:center,84% 50%}}
@media(prefers-reduced-motion:reduce){section.scroll-photo::before{opacity:.15!important;transition:none!important}}
footer .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}
footer .footer-brand{width:min(230px,100%);height:112px;margin:0 0 14px;padding:0;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
footer .footer-brand img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:0}
footer .footer-grid h3{font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:.08em}
footer .footer-grid a{color:#dbe4ed;text-decoration:none}
footer .footer-grid a:hover{text-decoration:underline}
footer .footer-grid p,footer .footer-grid li{font-size:14px;color:#c2ceda}
footer .footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
footer .legal{margin-top:30px;padding-top:20px}
.privacy{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:14px;line-height:1.55;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}
.privacy:hover,.privacy:focus-within{border-color:rgba(23,105,170,.42);box-shadow:0 0 0 3px rgba(23,105,170,.08)}
.privacy input{display:block;flex:0 0 18px;width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:var(--blue)}
.privacy span{display:block;min-width:0}
.privacy a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.form-status{color:var(--green);font-weight:700}
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:850px){footer .footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .footer-grid{grid-template-columns:1fr}.privacy{padding:13px 14px}}
