/* The Louz portfolio: original case artwork, open composition and native links. */
.lp-page .lh-desktop-nav a[aria-current]::after{transform:scaleX(1)}
.lp-page .lh-mobile-nav a[aria-current]{color:#cbd6ff}
.lp-breadcrumb ol{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;font-size:12px;color:#aaa}
.lp-breadcrumb li+li::before{content:'/';color:#777;margin-right:10px}
.lp-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.lp-intro{display:flex;flex-direction:column;justify-content:center;gap:70px;padding-block:135px 70px}
.lp-intro-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:70px}
.lp-page .lp-intro h2{font-size:clamp(47px,5.4vw,78px);font-weight:500;line-height:1.04;letter-spacing:-.02em}
.lp-intro-heading>p{max-width:370px;font-size:14px;line-height:1.9;color:var(--lh-muted)}
.lp-visual-strip{padding-block:34px;perspective:1200px}
.lp-visual-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:center}
.lp-page .lp-visual-strip img{width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:12px}
.lp-visual-strip img:first-child{transform:rotate(-6deg) translateY(20px)}
.lp-visual-strip img:nth-child(2){transform:translateY(-20px);position:relative;z-index:1}
.lp-visual-strip img:last-child{transform:rotate(6deg) translateY(20px)}
.lp-work{padding-block:130px 100px}
.lp-work-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:48px}
.lp-page .lp-work-heading h2{font-size:clamp(58px,6.6vw,95px);line-height:.97;max-width:780px}
.lp-work-heading>p{max-width:285px;font-size:14px;line-height:1.8;color:var(--lh-muted)}
.lp-gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:24px;border-top:1px solid var(--lh-border);margin-bottom:38px}
.lp-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lp-page .lp-filter{min-height:44px;padding:11px 21px;border:1px solid #ffffff30;border-radius:100px;background:#ffffff04;font-family:'Roboto Condensed',Arial,sans-serif;font-size:16px;font-weight:650;line-height:1.2;text-transform:uppercase;transition:border-color .2s,background .2s}
.lp-filter:hover{border-color:#ffffff80;background:#ffffff0b}
.lp-filter[aria-pressed=true]{border-color:#ffffff94;background:linear-gradient(135deg,#ffffff2b,#ffffff09 60%,#ffffff1a);box-shadow:inset 0 1px 0 #ffffff55,0 5px 20px #0002;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.lp-count{font-size:12px;color:var(--lh-muted);white-space:nowrap}
.lp-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 30px;align-items:start}
.lp-project{min-width:0}
.lp-project-link{display:block}
.lp-project-visual{position:relative;aspect-ratio:16/9;border-radius:17px;overflow:hidden;background:#111;isolation:isolate}
.lp-project-visual picture{display:block;width:100%;height:100%;transition:filter .4s}
.lp-page .lp-project-visual img{width:100%;height:100%;object-fit:contain;aspect-ratio:16/9}
.lp-project-open{position:absolute;right:24px;bottom:24px;display:grid;place-items:center;width:57px;height:57px;border-radius:50%;border:1px solid #ffffff85;background:linear-gradient(140deg,#1118,#ffffff24);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px 0 #ffffff60,0 8px 25px #0003;color:#fff;transform:translateY(8px);opacity:0;transition:opacity .3s,transform .3s}
.lp-page .lp-project-open svg{width:22px;height:22px}
.lp-project-link:hover .lp-project-open,.lp-project-link:focus-visible .lp-project-open{opacity:1;transform:none}
.lp-project-link:focus-visible{outline-offset:8px;border-radius:17px}
.lp-project-caption{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:23px}
.lp-project-caption>div{min-width:0}
.lp-project-category{font-size:11px;line-height:1.5;color:#aaa;margin-bottom:9px!important}
.lp-page .lp-project h3{font-size:clamp(27px,2.55vw,38px);line-height:1.06;letter-spacing:-.015em;overflow-wrap:anywhere;max-width:23ch}
.lp-project-label{display:inline-flex;align-items:center;justify-content:center;gap:14px;flex:none;font-family:'Roboto Condensed',Arial,sans-serif;font-weight:650;text-transform:uppercase;font-size:15px;line-height:1.2;border:1px solid #ffffff40;border-radius:100px;padding:11px 17px;min-height:44px;background:linear-gradient(130deg,#ffffff11,#ffffff03);box-shadow:inset 0 1px 0 #ffffff24;transition:border-color .2s,background .2s}
.lp-page .lp-project-label svg{width:17px;height:17px;transition:transform .2s}
.lp-project-link:hover .lp-project-label,.lp-project-link:focus-visible .lp-project-label{border-color:#ffffff94;background:linear-gradient(130deg,#ffffff22,#ffffff06)}
.lp-project-link:hover .lp-project-label svg{transform:translate(2px,-2px)}
.lp-project-placeholder{display:grid;place-items:center;width:100%;height:100%;font-family:'Roboto Condensed',Arial,sans-serif;font-size:40px;color:#888;border:1px solid #ffffff1a;border-radius:17px}
.lp-empty{padding-block:65px;max-width:700px}
.lp-page .lp-empty h3{font-size:clamp(36px,4vw,56px);line-height:1.08;margin-bottom:20px}
.lp-empty p{font-size:15px;line-height:1.8;color:var(--lh-muted)}
.lp-empty .lh-button{margin-top:28px}
.lp-cta{display:flex;align-items:center;border-top:1px solid var(--lh-border);padding-block:135px 90px}
.lp-cta-inner{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:60px}
.lp-page .lp-cta h2{font-size:clamp(60px,7.5vw,108px);font-weight:600;line-height:.95;letter-spacing:-.025em}
.lp-cta-inner>div{padding-bottom:6px}
.lp-cta p{max-width:380px;font-size:15px;line-height:1.8;color:var(--lh-muted);margin-bottom:29px}
@media(min-width:701px) and (max-height:800px){
 .lp-intro{padding-block:120px 50px;gap:50px}
}
@media(max-width:1100px){
 .lp-intro-heading{gap:40px;grid-template-columns:1.2fr .8fr}
 .lp-project-grid{gap:50px 25px}
 .lp-project-caption{gap:18px}
 .lp-project-label{width:44px;height:44px;flex:none;padding:0;font-size:0;gap:0}
 .lp-cta-inner{gap:45px;grid-template-columns:1.15fr .85fr}
 .lp-page .lp-cta h2{font-size:clamp(58px,7.4vw,85px)}
}
@media(max-width:800px){
 .lp-intro-heading{grid-template-columns:1fr;gap:25px}
 .lp-intro-heading>p{max-width:530px}
 .lp-work-heading{display:block}
 .lp-work-heading>p{margin-top:25px;max-width:390px}
 .lp-cta-inner{grid-template-columns:1fr;gap:35px}
 .lp-cta p{max-width:510px}
}
@media(max-width:700px){
 .lp-intro{padding-block:110px 70px;gap:45px}
 .lp-page .lp-intro h2{font-size:clamp(38px,9.5vw,62px);line-height:1.05}
 .lp-intro-heading>p{font-size:14px}
 .lp-visual-strip{width:100%;padding-block:24px}
 .lp-visual-strip>div{grid-template-columns:1fr 1fr;gap:14px}
 .lp-visual-strip img:first-child{transform:rotate(-5deg) translateY(10px)}
 .lp-visual-strip img:nth-child(2){transform:rotate(5deg) translateY(-10px)}
 .lp-visual-strip img:last-child{display:none}
 .lp-page .lp-visual-strip img{border-radius:8px}
 .lp-work{padding-block:110px 70px}
 .lp-page .lp-work-heading h2{font-size:clamp(44px,11vw,70px)}
 .lp-work-heading{margin-bottom:32px}
 .lp-gallery-tools{align-items:start;flex-direction:column;gap:17px;padding-top:22px;margin-bottom:28px}
 .lp-filters{gap:8px}
 .lp-page .lp-filter{font-size:15px;padding:10px 16px}
 .lp-project-grid{grid-template-columns:minmax(0,1fr);gap:38px}
 .lp-project-visual{border-radius:12px}
 .lp-project-caption{padding-top:16px;gap:16px}
 .lp-project-category{font-size:10px;margin-bottom:7px!important}
 .lp-page .lp-project h3{font-size:clamp(25px,7vw,37px);max-width:23ch}
 .lp-project-label{width:42px;height:42px;min-height:42px;padding:0;gap:0;font-size:0}
 .lp-project-open{display:none}
 .lp-cta{padding-block:115px 65px}
 .lp-page .lp-cta h2{font-size:clamp(46px,11vw,70px);line-height:.98}
 .lp-cta p{font-size:14px}
}
@media(hover:none){.lp-project-open{display:none}}
@media(prefers-reduced-motion:reduce){.lp-page *{transition:none!important}}

/* Original portfolio closing artwork. */
.lp-cta{position:relative;isolation:isolate;background:#eeecf2;color:#19151f;overflow:hidden}
.lp-cta-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.lp-page .lp-cta-bg img{width:100%;height:100%;object-fit:cover}
.lp-cta p{color:#403a4a}
.lp-page .lp-cta .lh-button{color:#19151f;border-color:#19151f66;background:linear-gradient(135deg,#ffffff66,#ffffff15);box-shadow:inset 0 1px 0 #ffffffa6,0 8px 30px #60517c13}
.lp-page .lp-cta .lh-button:hover{border-color:#19151f;background:#ffffff66}

@media(max-width:360px){.lp-page .lp-work-heading h2{font-size:39px}}


/* Same full-bleed, live-type hero used on the approved service pages. */
.lp-page .lp-hero{isolation:isolate;overflow:hidden}
.lp-hero-bg{position:absolute;inset:-72px 0;z-index:-2;display:block;pointer-events:none}
.lp-page .lp-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.lp-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#05040a08 35%,#09080fc9)}
.lp-hero-inner{display:flex;flex-direction:column;justify-content:center;align-items:start;padding-block:150px 60px;gap:38px}
.lp-page .lp-hero h1{font-size:clamp(96px,16.6vw,245px);font-weight:780;line-height:1;letter-spacing:-.04em;max-width:100%;margin:0}
.lp-page .lp-hero-description{max-width:440px;font-size:15px;line-height:1.8;color:#ede7f4}
.lp-hero .lp-breadcrumb ol{color:#d0c9dc}
.lp-hero.is-parallax-active .lp-hero-bg{will-change:transform}
@media(min-width:701px) and (max-height:800px){
 .lp-hero-inner{padding-block:137px 48px;gap:28px}
}
@media(max-width:700px){
 .lp-hero-bg{inset:-36px 0}
 .lp-hero-inner{padding-block:132px 52px;gap:30px}
 .lp-page .lp-hero h1{font-size:clamp(50px,16vw,110px);letter-spacing:-.035em}
 .lp-page .lp-hero-description{max-width:370px;font-size:14px}
}
