/* LOV Agency, using the verified LOV Angels black website identity. */
@font-face{font-family:Messina;src:url('/assets/family-fonts/messina-book.woff2') format('woff2');font-weight:400;font-display:block}
@font-face{font-family:Messina;src:url('/assets/family-fonts/messina-semibold.woff2') format('woff2');font-weight:600 800;font-display:block}
@font-face{font-family:Fraunces;src:url('/assets/family-fonts/fraunces-light.woff2') format('woff2');font-weight:300 500;font-display:block}
@font-face{font-family:Fraunces;src:url('/assets/family-fonts/fraunces-light-italic.woff2') format('woff2');font-weight:300 500;font-style:italic;font-display:block}
@font-face{font-family:Presicav;src:url('/assets/family-fonts/presicav-light.woff2') format('woff2');font-weight:300 700;font-display:block}
:root{color-scheme:dark;--paper:#000;--ink:#f5f5f3;--muted:#b3b5b3;--line:#ffffff30;--canvas:#000;--soft:#111;--accent:#f5f5f3;--sans:Messina,Arial,sans-serif;--serif:Fraunces,Georgia,serif;--label:Presicav,Arial,sans-serif;--black-surface:#0d0e0e;--glass:linear-gradient(145deg,#ffffff0c,#ffffff03 60%);background:#000}
html,body.lov-agency-black{background:#000;color:#f5f5f3}
body.lov-agency-black,body.lov-agency-black.v30{--cream:#000;--black:#f5f5f3;--green:#f5f5f3;--olive:#f5f5f3;--accent:#f5f5f3;--paper:#000;--ink:#f5f5f3;--muted:#b3b5b3;--line:#ffffff30;font-family:var(--sans)}
.lov-agency-black :is(button,input,textarea,select){font-family:var(--sans)}
.lov-agency-black :is(h1,h2){color:inherit}
.lov-agency-black :is(h3,h4){font-family:var(--sans);font-weight:400;letter-spacing:-.025em}
.lov-agency-black ::selection{background:#eee;color:#111}
.lov-agency-black :focus-visible{outline:2px solid #f5f5f3;outline-offset:5px}
.lov-agency-black .v30-header{top:18px;width:calc(100% - 40px);max-width:1560px;min-height:72px;padding:15px 25px;border-radius:26px;background:rgba(12,16,22,.42);border:1px solid #ffffff30;box-shadow:inset 0 1px #ffffff17,0 8px 30px #0002;backdrop-filter:blur(24px)}
.lov-agency-black .v30-logo img{width:180px;height:36px}
.lov-agency-black .v30-nav{gap:26px}
.lov-agency-black .v30-nav a,.lov-agency-black .v30-menu{font-family:var(--label);font-size:10px;font-weight:400;line-height:1.6;text-transform:uppercase;letter-spacing:0}
.lov-agency-black .v30-nav .v30-nav-cta{border:1px solid #ffffff50;background:#ffffff05;color:#fff;padding:11px 16px;gap:18px}
.lov-agency-black .v30-nav .v30-nav-cta:hover{background:#f1f0e9;color:#111}
.lov-agency-black .v30-hero{background:#000}
.lov-agency-black .v30-hero-shade{background:linear-gradient(90deg,#0007,#0001 80%),linear-gradient(180deg,#0002,transparent 35%,#0007 76%,#000 100%)}
.lov-agency-black .v30-hero .v30-kicker{color:#f5f5f3;text-shadow:0 2px 18px #0008}
.lov-agency-black .v30-hero-content{justify-content:center;padding-top:175px;padding-bottom:75px}
.lov-agency-black .v30-hero h1{font:400 clamp(32px,3.5vw,54px)/1.4 var(--label);letter-spacing:-.025em;text-transform:uppercase;margin-bottom:26px}
.lov-agency-black .v30-hero h1 em{display:inline-block;font:italic 300 clamp(48px,5.5vw,84px)/1.12 var(--serif);letter-spacing:-.035em;text-transform:none}
.lov-agency-black .v30-hero-bottom{align-items:center}
.lov-agency-black .v30-hero-intro{max-width:380px;font-size:16px;line-height:1.8}
.lov-agency-black .v30-atmosphere{position:absolute;bottom:35px;right:var(--gutter);width:auto}
.lov-agency-black :is(.v30-kicker,.st30-label,.v30work-eyebrow,.v30work-sector){color:#c3c5c3}
.lov-agency-black .v30-button,.lov-agency-black .st30-cta{font-family:var(--label);font-size:10px;font-weight:400;line-height:1.7;letter-spacing:0;text-transform:uppercase;min-height:52px;padding:16px 25px;border-radius:40px;background:#f1f0e9;color:#111;border:1px solid #f1f0e9}
.lov-agency-black .v30-button:hover,.lov-agency-black .st30-cta:hover{background:#dcded8;color:#111;border-color:#dcded8}
.lov-agency-black.v30 a.v30-button--dark,.lov-agency-black.v30 a.v30-button--dark:hover{color:#111}
.lov-agency-black :is(.v30-skip,.skip-link){background:#f1f0e9;color:#111}
.lov-agency-black .v30-button--ghost{background:transparent;color:#f5f5f3;border-color:#ffffff60}
.lov-agency-black .v30-intro,.lov-agency-black .v30-section,.lov-agency-black .v30-page-intro,.lov-agency-black .v30-consult-principle,.lov-agency-black .v30-consult-brief,.lov-agency-black .v30portfolio,.lov-agency-black .v30-footer{background:#000;color:#f5f5f3}
.lov-agency-black .v30-world figure,.lov-agency-black .v30-work-art,.lov-agency-black .v30-need-portrait{border-radius:20px;overflow:hidden}
.lov-agency-black .v30-work-art{background:#0c0e0d}
.lov-agency-black .v30-world-title,.lov-agency-black .v30-need-list button,.lov-agency-black .v30-stages button,.lov-agency-black .v30-textlink{color:#f5f5f3}
.lov-agency-black .v30-stages button:disabled{color:#a3a7a3;opacity:1}
.lov-agency-black .v30-need-list button:hover{color:#fff;background:#ffffff08}
.lov-agency-black .v30-recommendation{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,45px)}
.lov-agency-black .v30-footer{border-top:1px solid #ffffff24}
.lov-agency-black .v30-footer-middle .v30-logo img{width:225px;height:45px}
.lov-agency-black .v30-footer-links a{color:#d4d6d3}
.lov-agency-black .v30-footer-bottom{color:#aaafaa}
.lov-agency-black :is(input:not([type=checkbox]):not([type=radio]),textarea,select){color:#f5f5f3;background:#101211;border-color:#ffffff40;border-radius:10px;accent-color:#eee}
.lov-agency-black input::placeholder,.lov-agency-black textarea::placeholder{color:#9b9f9b;opacity:1}
.lov-agency-black option{background:#101211;color:#f5f5f3}
.lov-agency-black :is(input[type=checkbox],input[type=radio]){accent-color:#eee}
.lov-agency-black .st30-package-stage{background:var(--glass);border:1px solid var(--line);border-radius:20px}
.lov-agency-black .st30-package-choices button{border-radius:14px;padding-inline:18px}
.lov-agency-black .st30-package-choices button[aria-selected=true]{background:#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff40}
.lov-agency-black .st30-intro-image,.lov-agency-black .st30-service-image{border-radius:20px;overflow:hidden}
.lov-agency-black .st30-closing{background:#080909;border-top:1px solid var(--line);color:#f5f5f3}
.lov-agency-black #brief-dialog,.lov-agency-black #play-dialog,.lov-agency-black .workviewer{--viewer-paper:#080909;background:#080909;color:#f5f5f3;border:1px solid #ffffff38;border-radius:20px;box-shadow:0 30px 120px #000b}
.lov-agency-black #brief-dialog input:not([type=checkbox]),.lov-agency-black #brief-dialog select,.lov-agency-black #brief-dialog textarea,.lov-agency-black #play-dialog input{background:#101211;color:#f5f5f3;border-color:#ffffff40;border-radius:10px}
.lov-agency-black #brief-dialog .button.dark,.lov-agency-black #play-dialog .button.dark{background:#f1f0e9;color:#111;border-color:#f1f0e9}
.lov-agency-black #brief-dialog .button,.lov-agency-black #play-dialog .button{border-radius:40px}
.lov-agency-black .workviewer::backdrop,.lov-agency-black #brief-dialog::backdrop,.lov-agency-black #play-dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}
.lov-agency-black .v30work-filters button,.lov-agency-black .workviewer-button{border-radius:40px}
.lov-agency-black .workviewer-button[aria-pressed=true]{background:#f5f5f3;color:#080909}
.lov-agency-black :is(.v30work-art:after,.v30case-art img,.workviewer-canvas img){border-color:#ffffff20}
.lov-agency-black .v30work-art,.lov-agency-black .v30case-art img{border-radius:14px}
/* Retained service, journal, legal and enquiry pages share the same dark surfaces. */
.lov-agency-black.v30-legacy :is(main,.section,.df-credits,.q-contact,.q-contact-heading,.journal,.journal-grid,.article-body,.article-related,.o27-service-end,.o27-case-stage,.o27-related-preview,.o27-home-work){background:#000;color:#f5f5f3}
.lov-agency-black.agency-branding :is(.portfolio-intro,.client-section,.portfolio-projects,.contact,.journal-head,.journal-grid,.privacy-page,.df-credits,.article-hero,.article-body,.article-related,.study-hero){background:#000!important;color:#f5f5f3}
.lov-agency-black.v30-legacy :is(p,li,dt,dd,label,.o27-breadcrumb,.o27-body-lead,.o27-lead,.o27-scope-note,.o27-provenance,.o27-investment,.o27-case-role,.o27-work-task){color:#b3b5b3}
.lov-agency-black.v30-legacy :is(h1,h2,h3,h4,summary,.o27-breadcrumb[aria-label=Breadcrumb]>span[aria-current]){color:#f5f5f3}
.lov-agency-black.v30-legacy .o27-button{background:#f1f0e9;color:#111;border-color:#f1f0e9;border-radius:40px}
.lov-agency-black.v30-legacy .o27-button:hover{background:#dcded8;color:#111;border-color:#dcded8}
.lov-agency-black.v30-legacy .o27-faq summary>span{color:#f5f5f3}
.lov-agency-black.v30-legacy :is(.choice-panel,.study-end){background:#080909!important;color:#f5f5f3}
.lov-agency-black.v30-legacy .o27-service-photo>span{background:#080c0ddc;color:#f5f5f3;border:1px solid #ffffff25;backdrop-filter:blur(14px)}
.lov-agency-black.v30-legacy .o27-service-photo>span :is(p,h2,h3,a){color:inherit}
.lov-agency-black.v30-legacy :is(.consultation-card,.contact-result,.q-form,.q-form-step,.o27-context,.o27-deliverables,.o27-offers){background:var(--glass);border:1px solid #ffffff30;border-radius:20px;color:#f5f5f3}
.lov-agency-black.v30-legacy .consultation-card{padding:32px}
.lov-agency-black.contact-v27 :is(.q-contact-heading p,.consultation-card h2,.consultation-card>p,.consultation-form label,.contact-consent>span,.contact-result h2,.contact-result p,.contact-email){color:#f5f5f3}
.lov-agency-black.contact-v27 .consultation-form label>span{color:#b3b5b3}
.lov-agency-black.contact-v27 .q-contact-heading p{color:#b3b5b3!important}
.lov-agency-black.contact-v27 .consultation-form input:not([type=checkbox]),.lov-agency-black.contact-v27 .consultation-form select,.lov-agency-black.contact-v27 .consultation-form textarea{background:#101211;color:#f5f5f3;border-color:#ffffff40}
.lov-agency-black.contact-v27 .contact-path-tabs button{color:#c9ccc8;border-color:#ffffff40;border-radius:40px;padding:15px 24px;min-height:52px;line-height:1.5}
.lov-agency-black.contact-v27 .contact-path-tabs button[aria-selected=true],.lov-agency-black.contact-v27 .consultation-form [type=submit]{background:#f1f0e9;color:#111;border-color:#f1f0e9}
.lov-agency-black.contact-v27 :is(.contact-form-note,.delivery-security-status,.enquiry-security-note){color:#b3b5b3!important}
.lov-agency-black .enquiry-steps{background:#000!important;color:#f5f5f3}
.lov-agency-black .enquiry-steps button{background:transparent;color:#aeb2ad;border-color:#ffffff30}
.lov-agency-black .enquiry-steps button:disabled{opacity:1}
.lov-agency-black .enquiry-steps button[aria-current=step]{background:#f1f0e9;color:#111;border-color:#f1f0e9}
.lov-agency-black .enquiry-steps button span,.lov-agency-black .enquiry-steps button[aria-current=step] span{background:transparent;color:inherit;border-color:currentColor}
.lov-agency-black :is(.consultation-errors,.studio-delivery-errors,.q-errors,.form-errors){background:#241215;color:#ffd5d7;border:1px solid #8b4a51;border-radius:12px}
.lov-agency-black .studio-send-result{background:#101211;color:#f5f5f3;border-color:#ffffff40}
/* Portal sign-in/status pages keep their private routes and transport intact. */
.lov-agency-black .boot-screen,.lov-agency-black .login-shell,.lov-agency-black .login-content,.lov-agency-black .app-shell{background:#000;color:#f5f5f3}
.lov-agency-black .brand img{filter:none}
.lov-agency-black :is(.sidebar,.topbar,.panel,.stat,.project-card,.portal-dialog,.dialog-actions,.login-warning,.nav-item,.tab-button,.project-selector){background:#0c0e0d;color:#f5f5f3;border-color:#ffffff30}
.lov-agency-black .login-scene{background:#080a09}
.lov-agency-black .button.primary{background:#f1f0e9;color:#111;border-color:#f1f0e9}
.lov-agency-black :is(.button,.icon-button){background:transparent;color:#f5f5f3;border-color:#ffffff40;border-radius:40px}
.lov-agency-black .button.primary:hover{background:#ddd;color:#111}
@media(max-width:1100px){.lov-agency-black .v30-nav{gap:18px}.lov-agency-black .v30-nav a{font-size:9px}.lov-agency-black .v30-logo img{width:160px;height:32px}}
@media(max-width:760px){.lov-agency-black .v30-header{top:14px;width:calc(100% - 28px);min-height:68px;padding:13px 19px;border-radius:24px;gap:12px}.lov-agency-black .v30-logo img{width:148px;height:30px}.lov-agency-black .v30-menu{font-size:10px;gap:10px}.lov-agency-black .v30-nav{background:linear-gradient(145deg,#202323,#080909 70%);border-radius:24px;gap:0;padding:24px}.lov-agency-black .v30-nav a{font-size:14px;line-height:1.7;white-space:normal}.lov-agency-black .v30-nav .v30-nav-cta{font-size:11px;margin-top:20px;padding:16px 18px}.lov-agency-black .v30-hero-content{padding-top:155px;padding-bottom:105px;justify-content:center}.lov-agency-black .v30-hero h1{font-size:31px;line-height:1.6;letter-spacing:-.03em;margin-bottom:26px}.lov-agency-black .v30-hero h1 em{font-size:53px;line-height:1.05;letter-spacing:-.035em}.lov-agency-black .v30-hero-intro{font-size:15px;line-height:1.8;max-width:320px}.lov-agency-black .v30-atmosphere{bottom:28px;right:24px}.lov-agency-black .v30-recommendation{padding:23px}.lov-agency-black .v30-button,.lov-agency-black .st30-cta{font-size:9px;padding:16px 21px}.lov-agency-black .v30-footer-middle .v30-logo img{width:190px;height:38px}}
@media(max-width:760px){.lov-agency-black.v30-legacy .consultation-card{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.lov-agency-black *{scroll-behavior:auto!important}}
