@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--navy:#172650;--ink:#202c43;--muted:#627086;--line:#dde3ed;--bg:#f5f7fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}header{max-width:1240px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{width:230px;height:115px;object-fit:contain}nav{display:flex;gap:30px;align-items:center}nav>a:not(.button){font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;border:1px solid var(--navy);padding:13px 23px;border-radius:6px;font-weight:600}.button:hover{background:#2b4076}.secondary{background:white;color:var(--navy);border:1px solid var(--line);border-radius:6px;padding:12px 18px}.intro{max-width:1160px;margin:10px auto 65px;padding:55px 60px;background:var(--bg);border-left:4px solid var(--navy);position:relative}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted);font-weight:700}h1,h2,h3{line-height:1.2}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(38px,5.5vw,66px);margin:22px 0;color:var(--navy)}h1 em{font-weight:500}h2{font-size:36px;margin:10px 0 22px}h3{font-size:22px}p{color:var(--muted)}.intro p{margin-bottom:28px}.intro-note{position:absolute;right:40px;bottom:36px;font-size:12px;letter-spacing:2px;color:var(--muted)}.catalog{max-width:1160px;margin:auto;padding-bottom:70px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head>span{font-size:14px;color:var(--muted)}.filters{display:flex;gap:16px;background:var(--bg);padding:22px;border-radius:8px;align-items:flex-end;margin:8px 0 25px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}input,select,textarea{padding:12px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #8495c6;outline-offset:2px}.grow{flex:1}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white;transition:transform .2s}.card:hover{transform:translateY(-4px)}.cover{height:240px;background:var(--bg);position:relative}.cover img{height:100%;width:100%;object-fit:cover}.no-photo{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted)}.badge{position:absolute;top:16px;left:16px;color:var(--navy);background:white;padding:5px 12px;border-radius:4px;font-size:13px;font-weight:700}.card-body{padding:22px}.card h3{margin:10px 0;font-size:21px}.meta{font-size:14px;color:var(--muted)}.price{font-size:21px;font-weight:700;margin:14px 0}.card-actions{display:flex;gap:8px;margin-top:19px}.card-actions>*{flex:1;font-size:14px;padding:10px 8px}.services{background:var(--bg);padding:65px max(32px,calc((100vw - 1160px)/2));display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px}.services article{border-top:1px solid #b8c4db;padding-top:20px}.service-number{color:var(--muted);font-size:14px}.text-link{color:var(--navy);border-bottom:1px solid var(--navy);font-size:14px;font-weight:600}.contact{background:var(--navy);color:white;padding:45px max(32px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:40px;justify-content:space-between}.contact h2{max-width:570px;margin:0}.light{background:white;color:var(--navy);white-space:nowrap}.light:hover{background:#e5eafa}footer{padding:25px 40px;display:flex;justify-content:space-between;color:var(--muted);font-size:14px}.quiet{background:none;border:0;color:var(--muted);font-size:14px;text-decoration:underline;padding:10px}dialog{border:0;border-radius:12px;padding:40px;width:min(850px,94vw);max-height:92dvh;color:var(--ink)}dialog::backdrop{background:#101a36b8}.close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:28px;color:var(--navy)}#login-view{max-width:430px;margin:auto}form label{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}.actions{display:flex;gap:12px;margin-top:20px}.admin-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;gap:12px}.admin-row .actions{margin:0}.danger{color:#a62936}.photo-preview{display:flex;flex-wrap:wrap;gap:10px}.photo-item{position:relative}.photo-item img{width:100px;height:80px;object-fit:cover;border-radius:5px}.photo-item button{position:absolute;top:0;right:0;border:0;background:white}.gallery{display:flex;overflow:auto;gap:10px;scroll-snap-type:x mandatory;margin:20px 0}.gallery img{width:100%;max-height:450px;object-fit:contain;flex:none;scroll-snap-align:start;border-radius:6px;background:var(--bg)}.description{white-space:pre-wrap}#status{padding:15px 0}#admin-status{white-space:pre-wrap}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}@media(max-width:900px){header{padding:12px 24px}.logo{width:190px;height:95px}nav{gap:16px}.intro{margin:10px 24px 45px;padding:40px}.intro-note{display:none}.catalog{padding:0 24px 45px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services{grid-template-columns:1fr 1fr;gap:30px}.services>div{grid-column:1/-1}.contact{flex-direction:column;align-items:flex-start}.filters{flex-wrap:wrap}.filters label{flex:1;min-width:180px}}@media(max-width:580px){header{padding:8px 18px}.logo{width:155px;height:90px}nav>a:not(.button){display:none}nav .button{font-size:13px;padding:10px 13px}.intro{margin:5px 18px 35px;padding:30px 25px}h2{font-size:30px}.catalog{padding:0 18px 40px}.filters{padding:16px;gap:12px}.filters label{min-width:calc(50% - 6px)}.filters .grow{min-width:100%}.grid{grid-template-columns:1fr}.cover{height:250px}.services{padding:40px 24px;grid-template-columns:1fr}.services>div{grid-column:auto}.contact{padding:35px 24px}footer{padding:20px 18px;flex-direction:column;align-items:flex-start;gap:10px}dialog{padding:35px 20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.admin-row{align-items:flex-start;flex-direction:column}.section-head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Dirección editorial: arquitectura, contraste y azul profundo. */
:root{--navy:#102347;--ink:#15253d;--bg:#f0f3f7;--gold:#d6bb88}header{max-width:none;padding:6px max(30px,calc((100vw - 1240px)/2));min-height:112px;background:#fff}.logo{width:220px;height:105px}nav{gap:36px}nav>a:not(.button){font-weight:600}.button{border-radius:2px;padding:14px 25px}.intro{max-width:none;margin:0 0 0;padding:0;border:0;height:min(760px,82svh);min-height:580px;overflow:hidden;background:#102347;color:white;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,18,38,.88) 0%,rgba(7,20,42,.65) 34%,rgba(7,20,42,.12) 73%),linear-gradient(0deg,rgba(6,18,38,.75),transparent 35%)}.hero-copy{position:relative;z-index:1;margin:auto;width:1240px;max-width:100%;padding:40px 30px 70px}.hero-copy .eyebrow{color:#ded3bb;letter-spacing:3px}.intro h1{color:white;font-size:clamp(48px,5.9vw,86px);line-height:1.09;letter-spacing:-2px;margin:28px 0 24px;max-width:760px}.intro h1 em{color:#dcc49b}.intro p{color:#eef1f7;font-size:18px;max-width:460px;margin:0 0 35px}.hero-actions{display:flex;align-items:center;gap:30px}.hero-actions .button{background:white;color:var(--navy);border-color:white}.hero-actions .button:hover{background:#e6eaf1}.hero-link{color:white;padding:12px 0;border-bottom:1px solid #b4bfcc;font-size:15px}.hero-bottom{position:absolute;bottom:28px;left:max(30px,calc((100vw - 1180px)/2));right:max(30px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff40;padding-top:20px;font-size:11px;letter-spacing:2px;color:#d8e0ea}.hero-caption{font-family:'Playfair Display',serif;font-size:18px;font-style:italic;letter-spacing:0}.brand-strip{background:var(--navy);color:#d9e0eb;display:flex;justify-content:center;align-items:center;gap:40px;padding:24px;font-size:11px;letter-spacing:2px}.brand-strip i{width:4px;height:4px;background:var(--gold);transform:rotate(45deg)}.catalog{padding-top:75px;padding-bottom:85px}.section-head h2{font-size:44px}.filters{border-radius:2px;padding:24px;border:1px solid #e0e6ee}.filters input,.filters select{border-radius:2px}.card{border-radius:3px;box-shadow:0 8px 28px #10234708}.card:hover{box-shadow:0 16px 35px #10234716}.cover{height:260px}.badge{border-radius:1px;text-transform:uppercase;letter-spacing:1px;font-size:11px}.card-body{padding:25px}.card h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500}.services{padding-top:80px;padding-bottom:80px;background:#102347;color:#fff;gap:50px}.services .eyebrow{color:#d4bd95}.services h2{font-size:40px}.services article{border-color:#d6bb8866}.services h3{font-family:'Playfair Display',serif;font-size:30px;font-weight:500}.services p{color:#bdc9d9}.service-number{color:#d6bb88}.text-link{color:#eee5d6;border-color:#d6bb88}.contact{background:#edf1f7;color:var(--navy);padding-top:65px;padding-bottom:65px}.contact .button{background:var(--navy);color:white}.contact h2{font-size:38px}footer{padding:30px max(30px,calc((100vw - 1180px)/2));background:white}dialog .section-head h2{font-size:32px}
@media(min-width:1600px){.hero-copy{width:1240px}}@media(max-width:900px){header{padding:6px 24px}.intro{margin:0;min-height:560px;height:75svh;padding:0}.hero-copy{padding:40px 35px 70px}.hero-image{object-position:60% center}.hero-bottom{left:35px;right:35px}.hero-caption{display:none}.brand-strip{gap:22px;font-size:10px;letter-spacing:1px}.catalog{padding-top:50px}.services{gap:30px}.services h2{font-size:34px}.contact h2{font-size:34px}}@media(max-width:580px){header{min-height:90px;padding:0 18px}.logo{width:165px;height:90px}nav .button{font-size:12px;padding:10px 13px}.intro{height:calc(88svh - 90px);min-height:530px;max-height:720px;margin:0;padding:0}.hero-copy{padding:30px 25px 70px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#07162cba,#07162c38),linear-gradient(0deg,#07162cf0,transparent 90%)}.hero-copy .eyebrow{font-size:10px;letter-spacing:2px}.intro h1{font-size:clamp(43px,10.8vw,61px);letter-spacing:-1px;line-height:1.13;margin:24px 0}.intro p{font-size:16px;max-width:270px;line-height:1.6;margin-bottom:27px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-actions .button{font-size:14px;padding:13px 18px}.hero-link{font-size:14px}.hero-bottom{left:25px;right:25px;bottom:22px;font-size:9px;letter-spacing:1.2px;line-height:1.8}.brand-strip{padding:19px 18px;gap:13px;flex-wrap:wrap;font-size:9px;letter-spacing:1px}.brand-strip i{width:3px;height:3px}.catalog{padding-top:42px}.section-head h2{font-size:35px}.services{padding-top:45px;padding-bottom:45px}.services h3{font-size:28px}.services h2{font-size:34px}.contact h2{font-size:32px}.contact{padding-top:40px;padding-bottom:40px}footer{padding:24px 18px}}

footer{align-items:center;gap:18px;flex-wrap:wrap}.panda-credit{font-size:13px}.panda-credit a{color:var(--navy);font-weight:700;letter-spacing:1px}.panda-credit a:hover{text-decoration:underline}@media(max-width:580px){footer{align-items:flex-start}}

.office-address{color:var(--ink);margin:22px 0 0;font-size:16px;line-height:1.7}.office-address strong{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
