/* Final visual pass: the user-provided film leads the page while the catalog
   stays honest about which services have approved photographs. */
:root{--red:#cf2432;--black:#0d0e11;--white:#f8f6f4}
.hp-hero-background{position:relative;isolation:isolate;min-height:680px;background:#101114 url('/assets/familiar-prime-hero-poster.webp') center/cover no-repeat}
.hp-hero-film,.hp-hero-shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hp-hero-film{z-index:0;object-fit:cover;object-position:center center;display:block}
.hp-hero-shade{z-index:1;background:linear-gradient(90deg,rgba(7,8,11,.97) 0%,rgba(7,8,11,.87) 25%,rgba(7,8,11,.57) 48%,rgba(7,8,11,.13) 76%,rgba(7,8,11,.02) 100%),linear-gradient(0deg,rgba(7,8,11,.49),transparent 24%)}
.hp-hero-background .hp-hero-copy{position:relative;z-index:2;max-width:690px;padding:80px 0 105px}
.hp-hero-background .hp-kicker{color:#f1e9e7;text-shadow:0 2px 10px #000}
.hp-hero-background h1{max-width:660px;text-wrap:balance}
.hp-hero-background .hp-hero-text{color:#e8e4e1;max-width:490px;text-shadow:0 2px 12px #000a}
.hp-hero-background .hp-link{color:white}
.hp-hero-background .hp-concept-note{z-index:2;right:5%;bottom:20px;left:auto;font-size:11px;background:#0a0b0dc9;letter-spacing:.04em}
.hp-feature>a.hp-feature-visual{display:flex;flex-direction:column;justify-content:end;align-items:start;gap:9px;height:218px;padding:25px;isolation:isolate;background:radial-gradient(ellipse at 85% 10%,#a3223440,transparent 47%),linear-gradient(130deg,#2a2025,#131518 68%);border-bottom:1px solid #9f2634;transition:background .25s}
.hp-feature:nth-child(2)>a.hp-feature-visual{background:radial-gradient(ellipse at 90% 12%,#89313d48,transparent 52%),linear-gradient(130deg,#292025,#121416 68%)}
.hp-feature:nth-child(3)>a.hp-feature-visual{background:radial-gradient(ellipse at 90% 12%,#b3293540,transparent 52%),linear-gradient(130deg,#27232a,#111316 68%)}
.hp-feature>a.hp-feature-visual:hover{background-color:#342026}
.hp-feature-visual .hp-feature-index{position:absolute;top:18px;left:22px;bottom:auto;border-radius:3px;padding:6px 9px;background:#be2432;color:#fff;font-size:11px}
.hp-feature-visual strong{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(39px,3.5vw,53px);font-weight:700;letter-spacing:-.02em;line-height:.9;color:#fff;white-space:normal;overflow-wrap:anywhere;text-shadow:0 5px 20px #0009}
.hp-feature-visual small{font-size:11px;letter-spacing:.12em;font-weight:700;color:#e1c6c8}
.hp-feature>div{padding:25px}.hp-feature p{min-height:66px}
.hp-feature-grid{align-items:stretch}.hp-feature{display:flex;flex-direction:column}.hp-feature>div{display:flex;flex-direction:column;flex:1}.hp-feature>div>div{margin-top:auto}
.about-brand-panel{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 25px;background:radial-gradient(circle at center,#4c202940,#17191d 66%);border:1px solid #ffffff27;border-top:3px solid #cf2432;border-radius:10px}
.about-brand-panel img{width:175px;height:175px;position:static;object-fit:contain;filter:drop-shadow(0 15px 28px #000a)}
.about-brand-panel p{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:36px!important;line-height:1;margin:24px 0 10px;color:white!important}
.about-brand-panel span{font-size:11px;letter-spacing:.14em;color:#d1c4c6}
.result-pending{min-height:420px;display:flex;align-items:center;background:radial-gradient(ellipse at 70% 40%,#7826342a,transparent 48%),#17181b}
.result-pending>div{max-width:700px}.result-pending p:not(.eyebrow){max-width:570px;color:#d0cbca;margin:22px 0 30px}
.eyebrow{font-size:12px}.hp-kicker{font-size:12px}
nav>a:not(.button){font-size:14px}
.button:focus-visible,.hp-link:focus-visible,.text-link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff747e;outline-offset:3px}
.service-card[hidden],.gallery-item[hidden]{display:none!important}
@media(max-width:950px){.hp-hero-background{min-height:680px}.hp-hero-film{object-position:60% center}.hp-hero-shade{background:linear-gradient(90deg,#07080be8 0%,#07080bb9 50%,#07080b46 100%),linear-gradient(0deg,#07080ba3,transparent 48%)}.hp-hero-background .hp-hero-copy{padding:65px 0 95px}.hp-feature:last-child{display:flex;grid-column:auto}.hp-feature:last-child>a.hp-feature-visual{height:218px}}
@media(max-width:600px){.hp-hero-background{min-height:690px;background-position:57% center}.hp-hero-film{object-position:58% center}.hp-hero-shade{background:linear-gradient(180deg,#07080bf0 0%,#07080bd8 47%,#07080b8c 100%)}.hp-hero-background .hp-hero-copy{padding:42px 0 95px}.hp-hero-background h1{font-size:clamp(74px,17vw,104px)}.hp-hero-background .hp-concept-note{right:5%;left:5%;bottom:14px;font-size:10px}.hp-feature>a.hp-feature-visual,.hp-feature:last-child>a.hp-feature-visual{height:175px}.hp-feature-visual strong{font-size:47px}.hp-feature p{min-height:0}.about-brand-panel{min-height:300px}.about-brand-panel img{width:135px;height:135px}}
.hp-film-control{position:absolute;z-index:3;right:5%;bottom:22px;display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid #ffffff75;border-radius:100px;background:#11151bc9;color:#fff;font:600 12px 'DM Sans',Arial,sans-serif;letter-spacing:.02em;cursor:pointer;backdrop-filter:blur(12px)}
.hp-film-control:hover{background:#292b31}
.hp-hero-background .hp-concept-note{left:5%;right:auto;bottom:23px;max-width:440px}
.hp-book-photo{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:9px;border:1px solid #ffffff2d;box-shadow:0 28px 70px #0008}
.hp-book-photo img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover;object-position:64% center}
.hp-book-photo figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:end;justify-content:space-between;gap:18px;padding:60px 24px 20px;background:linear-gradient(transparent,#08090de8);font:700 28px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.hp-book-photo figcaption span{font:500 11px 'DM Sans',Arial,sans-serif;letter-spacing:.03em;text-transform:none;color:#ddd}
.about-film-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:24px;background:linear-gradient(140deg,#16171a,#0c0d10);border:1px solid #ffffff2b;border-top:2px solid #bd2430;box-shadow:0 30px 70px #0007}
.about-film-panel video{display:block;width:auto;max-width:100%;height:min(62vw,530px);aspect-ratio:9/16;object-fit:contain;background:#000;border:1px solid #ffffff2b;border-radius:5px}
.about-film-panel p{margin:0;color:#b8b8bc;font-size:12px;letter-spacing:.04em}
.about-film-panel{min-width:0}
.brand-film-media{position:relative;max-width:100%;width:300px;min-width:0}
.brand-film-media video{width:100%;height:auto}
.floating,.floating:hover,.floating:focus-visible{width:auto;height:58px;min-width:0;right:22px;bottom:22px;padding:6px 16px 6px 6px;justify-content:flex-start;gap:10px;border-radius:100px;overflow:visible;background:#111417f2;border:1px solid #ffffff5b;color:#fff;box-shadow:0 12px 35px #000a,0 0 0 1px #0008;transform:none;transition:background .2s,border-color .2s,transform .2s}
.floating:hover,.floating:focus-visible{background:#22262a;border-color:#57df92;transform:translateY(-2px)}
.floating .floating-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#25d366;box-shadow:inset 0 1px 1px #ffffff64}
.floating .floating-icon img{display:block;width:23px;height:23px;filter:brightness(0) invert(1)}
.floating .floating-label,.floating:hover .floating-label,.floating:focus-visible .floating-label{display:block;white-space:nowrap;font:700 13px 'DM Sans',Arial,sans-serif;letter-spacing:.01em}
@media(max-width:950px){.hp-hero-background .hp-concept-note{bottom:18px}.hp-film-control{bottom:19px}.hp-book-photo img{min-height:320px}}
@media(max-width:600px){.hp-hero-background{min-height:730px}.hp-hero-background .hp-concept-note{left:5%;right:76px;bottom:11px;max-width:none;padding:4px 0;font-size:10px;line-height:1.35}.hp-film-control{right:5%;bottom:43px;padding:7px 12px}.hp-book-photo img{height:300px;min-height:0}.hp-book-photo figcaption{font-size:23px}.about-film-panel video{height:auto;width:min(100%,300px)}.floating,.floating:hover,.floating:focus-visible{right:15px;bottom:15px;width:55px;height:55px;min-width:55px;padding:5px;justify-content:center;border-radius:50%;transform:none}.floating .floating-icon{width:43px;height:43px}.floating .floating-label,.floating:hover .floating-label,.floating:focus-visible .floating-label{display:none}}
.facade-photo{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);margin:0 0 54px;height:500px;overflow:hidden;border:1px solid #ffffff38;border-radius:10px;background:#111216;box-shadow:0 25px 60px #0007}
.facade-media{position:relative;display:flex;justify-content:center;align-items:center;min-width:0;overflow:hidden;background:#101114}
.facade-media::before{content:"";position:absolute;inset:-20px;background:linear-gradient(#090a0a66,#090a0a66),url('/assets/fachada-video-poster.webp') center/cover;filter:blur(22px)}
.facade-media video{position:relative;z-index:1;display:block;width:auto;max-width:100%;height:100%;object-fit:contain;box-shadow:0 0 45px #0009}
.facade-film-control{position:absolute;z-index:2;bottom:18px;left:50%;transform:translateX(-50%);min-width:150px;padding:9px 16px;border:1px solid #ffffff77;border-radius:99px;background:#0d0e10df;color:#fff;font:700 12px 'DM Sans',Arial,sans-serif;letter-spacing:.03em;cursor:pointer;backdrop-filter:blur(9px)}
.facade-film-control:hover,.facade-film-control:focus-visible{background:#bd1d2c;border-color:#fff;outline-offset:3px}
.facade-photo figcaption{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,4vw,58px);background:radial-gradient(circle at 100% 0%,#75233232,transparent 55%),#15161a;border-left:2px solid #b52b38}
.facade-photo figcaption span{color:#ef5762;font:700 11px 'DM Sans',Arial,sans-serif;letter-spacing:.18em}
.facade-photo figcaption strong{display:block;margin:17px 0 12px;color:#fff;font:700 clamp(38px,4vw,56px)/.96 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em}
.facade-photo figcaption p{max-width:310px;margin:0;color:#d5d0d0;font-size:14px;line-height:1.65}
@media(max-width:700px){.facade-photo{grid-template-columns:1fr;height:auto;margin-bottom:35px}.facade-media{height:min(150vw,560px)}.facade-photo figcaption{padding:27px;border-left:0;border-top:2px solid #b52b38}.facade-photo figcaption strong{font-size:39px;margin:12px 0 9px}.facade-photo figcaption p{font-size:13px}}
