/* Wailea Photo — home page, quiet-luxury edition (Nov 2026). Scoped to body.lx-home. */
.lx-home main{display:block}
.lx-home main a{text-decoration:none;color:inherit}
.lx-home main img{display:block;max-width:100%}
.lx-home main figure{margin:0}
.lx-home .lx-k{font:italic 400 clamp(19px,1.6vw,23px)/1.2 var(--serif);color:var(--lx-ink2);text-transform:none;letter-spacing:0}
.lx-home .lx-lbl{font:400 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.lx-home .lx-display{font:300 clamp(38px,5.2vw,80px)/.98 var(--serif);text-transform:uppercase;letter-spacing:.01em;color:var(--lx-ink);margin:0}
.lx-home .lx-display em{text-transform:none}
.lx-home .lx-body{max-width:34em;color:var(--lx-ink2);font-size:15.5px;line-height:1.75;margin:0}
.lx-home .lx-body+.lx-body{margin-top:1em}
.lx-home .lx-body a{border-bottom:1px solid var(--hair)}
.lx-home .lx-body a:hover{border-color:var(--lx-ink)}
.lx-home .lx-sign{font:italic 400 21px/1.2 var(--serif);color:var(--lx-ink2)}
.lx-btn{display:inline-block;font:400 10.5px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;padding:17px 30px;border:1px solid var(--lx-ink);color:var(--lx-ink);background:transparent;cursor:pointer;transition:background .35s,color .35s,border-color .35s}
.lx-btn:hover{background:var(--lx-ink);color:var(--bone)}
.lx-btn.solid{background:var(--lx-ink);color:var(--bone)}
.lx-btn.solid:hover{background:var(--red);border-color:var(--red)}
.lx-arrow:after{content:" \2192"}
.lx-rv{opacity:0;transform:translateY(24px);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1)}
.lx-rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.lx-rv{opacity:1;transform:none;transition:none}}

/* wordmark + diptych */
.lx-mark{text-align:center;padding:clamp(26px,4vw,52px) var(--lx-gut) clamp(22px,3vw,40px)}
.lx-mark h1{margin:0}
.lx-mark .wm{display:block;font:300 clamp(40px,8.6vw,138px)/.9 var(--serif);letter-spacing:.06em;text-transform:uppercase;margin-right:-.06em}
.lx-mark .eb{display:block;margin-top:16px;font:400 10px/1.4 var(--sans);letter-spacing:.38em;text-transform:uppercase;color:var(--taupe)}
.lx-dip{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-inline:var(--lx-gut);height:min(84vh,860px);min-height:460px}
.lx-dip figure{overflow:hidden;position:relative}
.lx-dip img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 2.6s cubic-bezier(.22,.61,.36,1)}
.lx-dip.in img{transform:scale(1)}
.lx-crest{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:#fffaf2;text-shadow:0 1px 18px rgba(0,0,0,.35);width:min(80%,440px);z-index:2}
.lx-crest .mono{display:block;font:italic 300 clamp(48px,5.4vw,78px)/1 var(--serif);letter-spacing:-.02em}
.lx-crest .mono:after{content:"";display:block;width:34px;height:1px;background:currentColor;margin:14px auto 12px;opacity:.8}
.lx-crest b{display:block;font:400 clamp(17px,1.8vw,24px)/1.1 var(--serif);letter-spacing:.14em;text-transform:uppercase}
.lx-crest .sub{display:block;margin-top:9px;font:400 9.5px/1.5 var(--sans);letter-spacing:.32em;text-transform:uppercase}
.lx-film-btn{margin-top:22px;background:none;border:1px solid rgba(255,250,242,.8);color:#fffaf2;padding:11px 18px;font:400 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;display:inline-flex;gap:10px;align-items:center;text-shadow:none;transition:background .3s,color .3s}
.lx-film-btn:before{content:"";border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.lx-film-btn:hover{background:#fffaf2;color:var(--lx-ink)}
@media (max-width:700px){.lx-dip{height:74vh;min-height:440px;grid-template-columns:1fr}.lx-dip figure{position:absolute;inset:0}.lx-dip figure:first-child{z-index:1;transition:opacity 2s ease-in-out}.lx-dip.m2 figure:first-child{opacity:0}.lx-dip:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(180deg,transparent,rgba(20,17,14,.6));pointer-events:none}.lx-crest{top:auto;bottom:26px;transform:translateX(-50%)}.lx-mark .wm{font-size:10.4vw;letter-spacing:.05em}}

/* proof */
.lx-proof{max-width:1100px;margin:0 auto;padding:clamp(70px,8vw,110px) var(--lx-gut) 0;text-align:center}
.lx-proof .lx-k{margin-bottom:14px}
.lx-proof .score{display:flex;justify-content:center;align-items:baseline;gap:18px;flex-wrap:wrap}
.lx-proof .tn{font:300 clamp(64px,8vw,120px)/1 var(--serif)}
.lx-proof .tl{font:400 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--taupe)}
.lx-proof .stars{display:block;margin:14px 0 6px;color:var(--brass);letter-spacing:.5em;font-size:13px}
.lx-proof .stars b{font:400 12px/1 var(--sans);letter-spacing:.2em;color:var(--lx-ink);margin-left:6px}
.lx-proof .src{font:italic 400 18px/1.4 var(--serif);color:var(--lx-ink2)}
.lx-proof ul.plat{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.lx-proof .plat li+li{border-left:1px solid var(--hair)}
.lx-proof .plat a{display:block;padding:20px 8px;transition:background .3s}
.lx-proof .plat a:hover{background:var(--linen)}
.lx-proof .pc{display:block;font:300 34px/1 var(--serif)}
.lx-proof .pn{display:block;margin-top:8px;font:400 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--taupe)}
.lx-proof .note{margin:16px auto 0;max-width:60ch;font-size:13px;color:var(--taupe)}
.lx-proof .note a{border-bottom:1px solid var(--hair)}
.lx-proof .ta{display:inline-flex;align-items:center;gap:16px;margin-top:30px;text-align:left}
.lx-proof .ta img{width:58px;height:auto}
.lx-proof .ta b{display:block;font:400 19px/1.2 var(--serif)}
.lx-proof .ta span{font:400 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.lx-proof ul.facts{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;font:400 10.5px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--lx-ink2)}
.lx-proof .facts a{border-bottom:1px solid var(--hair)}
@media (max-width:700px){.lx-proof ul.plat{grid-template-columns:repeat(3,1fr)}.lx-proof .plat li:nth-child(4){border-left:0}.lx-proof .plat li:nth-child(n+4){border-top:1px solid var(--hair)}}

/* statement */
.lx-state{position:relative;max-width:1320px;margin:0 auto;padding:clamp(100px,12vw,170px) var(--lx-gut) clamp(90px,10vw,150px);text-align:center}
.lx-state .lx-display{max-width:min(11em,60vw);margin:0 auto;font-size:clamp(38px,4.6vw,74px)}
.lx-state .lx-body{margin:34px auto 0}
.lx-state .lx-sign{margin-top:30px}
.lx-float{position:absolute;margin:0;box-shadow:0 30px 60px -30px rgba(36,32,28,.45);will-change:transform}
.lx-float img{width:100%;height:auto}
.lx-f1{left:3%;top:50%;width:clamp(120px,13vw,200px)}
.lx-f2{right:2%;top:16%;width:clamp(130px,14vw,220px)}
.lx-f3{right:12%;bottom:7%;width:clamp(110px,11vw,170px)}
.lx-f4{left:10%;top:7%;width:clamp(90px,9vw,140px)}
@media (max-width:1100px){.lx-f4,.lx-f3{display:none}.lx-f1{top:auto;bottom:-4%;left:2%}.lx-f2{top:2%}}
@media (max-width:760px){.lx-float{display:none}.lx-state .lx-display{max-width:none}}

/* paths */
.lx-paths{display:grid;grid-template-columns:repeat(3,1fr);max-width:1040px;margin:0 auto;padding:0 var(--lx-gut) clamp(80px,9vw,130px)}
.lx-paths a{display:block;padding:6px clamp(16px,2.6vw,38px)}
.lx-paths a+a{border-left:1px solid var(--hair)}
.lx-paths b{display:block;font:400 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
.lx-paths b:after{content:"  \2192"}
.lx-paths span{color:var(--lx-ink2);font-size:15px;line-height:1.6;display:block}
@media (max-width:760px){.lx-paths{grid-template-columns:1fr;gap:26px}.lx-paths a+a{border-left:0;border-top:1px solid var(--hair);padding-top:26px}}

/* what we do */
.lx-band{position:relative;min-height:min(118vh,1100px);color:#fffaf2;display:flex;align-items:center;overflow:hidden}
.lx-band>img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;will-change:transform}
.lx-band:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,24,20,.62),rgba(28,24,20,.32) 55%,rgba(28,24,20,.14));z-index:1}
.lx-band-in{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:110px var(--lx-gut);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center}
.lx-band .lx-k{color:#f3ead9}
.lx-svc{list-style:none;margin:14px 0 0;padding:0;max-width:520px}
.lx-svc li{border-bottom:1px solid rgba(255,250,242,.38)}
.lx-svc a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0 11px;font:300 clamp(26px,2.7vw,42px)/1.05 var(--serif);text-transform:uppercase;letter-spacing:.01em;transition:padding .4s cubic-bezier(.22,.61,.36,1)}
.lx-svc a small{font:400 10px/1.3 var(--sans);letter-spacing:.2em;text-align:right;opacity:.8;white-space:nowrap}
.lx-svc a:hover{padding-left:12px}
.lx-band .note{margin-top:24px;max-width:30em;color:rgba(255,250,242,.86);font-size:15px}
.lx-band .note a{border-bottom:1px solid rgba(255,250,242,.5)}
.lx-prints{position:relative;height:620px}
.lx-filmf{position:absolute;margin:0;background:#141210;padding:30px 12px 34px;box-shadow:0 2px 4px rgba(0,0,0,.25),0 18px 36px rgba(0,0,0,.35),0 40px 80px rgba(0,0,0,.3)}
.lx-filmf:before,.lx-filmf:after{content:"";position:absolute;left:10px;right:10px;height:12px;background:repeating-linear-gradient(90deg,transparent 0 7px,#f1ebe2 7px 17px,transparent 17px 24px);border-radius:2px;opacity:.92}
.lx-filmf:before{top:9px}.lx-filmf:after{bottom:13px}
.lx-filmf img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:3px}
.lx-filmf .edge{position:absolute;left:14px;right:14px;display:flex;justify-content:space-between;font:500 9px/1 var(--sans);letter-spacing:.18em;color:#e0a83a;text-transform:uppercase}
.lx-filmf .edge.t{top:-1px}.lx-filmf .edge.b{bottom:1px}
.lx-filmf.p1{width:58%;left:4%;top:0;transform:rotate(-4deg)}
.lx-filmf.p2{width:54%;right:0;top:30%;transform:rotate(3.5deg);z-index:2}
.lx-filmf.p3{width:50%;left:12%;bottom:0;transform:rotate(-1.5deg);z-index:3}
@media (max-width:900px){.lx-band-in{grid-template-columns:1fr;padding-block:90px}.lx-prints{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.lx-filmf{position:relative;width:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;padding:22px 8px 26px}.lx-filmf.p3{display:none}.lx-filmf:before{top:6px}.lx-filmf:after{bottom:9px}.lx-svc a small{display:none}}

/* the balters */
.lx-about{max-width:1180px;margin:0 auto;padding:clamp(100px,12vw,170px) var(--lx-gut);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,90px);align-items:center}
.lx-about .lx-display{margin:10px 0 28px}
.lx-about .lx-lbl{display:inline-block;margin-top:30px;border-bottom:1px solid var(--lx-ink);padding-bottom:6px}
.lx-about-pics{position:relative;padding:0 14% 16% 0}
.lx-about-pics .a1{width:100%;aspect-ratio:4/5;object-fit:cover}
.lx-about-pics .a2{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:2/3;object-fit:cover;border:10px solid var(--bone);box-shadow:0 24px 50px -24px rgba(36,32,28,.5)}
.lx-about-pics figcaption{position:absolute;left:0;bottom:4%;font:italic 400 16px/1.2 var(--serif);color:var(--taupe)}
@media (max-width:860px){.lx-about{grid-template-columns:1fr}.lx-about-pics{order:-1;max-width:520px}}

/* reviews */
.lx-reviews{background:var(--linen);padding:clamp(90px,10vw,140px) 0}
.lx-reviews .head{text-align:center;padding:0 var(--lx-gut);margin-bottom:clamp(40px,5vw,64px)}
.lx-reviews .head p{margin-top:16px;font:italic 400 19px/1.4 var(--serif);color:var(--lx-ink2)}
.lx-reviews .head p a{border-bottom:1px solid var(--hair)}
.lx-rtrack{display:flex;gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--lx-gut) 30px;scrollbar-width:thin;scroll-padding-inline:var(--lx-gut);scrollbar-color:var(--sand) transparent}
.lx-rcard{flex:0 0 clamp(270px,26vw,360px);scroll-snap-align:start;background:var(--bone);display:flex;flex-direction:column;margin:0}
.lx-rcard figure{aspect-ratio:4/3;overflow:hidden}
.lx-rcard figure img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.lx-rcard .in{padding:26px 26px 24px;display:flex;flex-direction:column;flex:1}
.lx-rcard .st{color:var(--brass);letter-spacing:.4em;font-size:11px}
.lx-rcard blockquote{margin:14px 0 0;font:300 clamp(21px,1.7vw,25px)/1.25 var(--serif);color:var(--lx-ink)}
.lx-rcard .more{margin-top:12px;background:none;border:0;padding:0;font:italic 400 16px/1 var(--serif);color:var(--taupe);cursor:pointer;border-bottom:1px solid var(--hair);align-self:flex-start}
.lx-rcard .meta{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;gap:12px;font:400 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.lx-rcard .meta a{border-bottom:1px solid var(--hair);white-space:nowrap}
.lx-rnav{display:flex;justify-content:center;gap:12px;margin-top:6px}
.lx-rnav button{width:44px;height:44px;border:1px solid var(--lx-ink);background:none;cursor:pointer;font:300 18px/1 var(--sans);color:var(--lx-ink)}
.lx-rnav button:hover{background:var(--lx-ink);color:var(--bone)}

/* full-bleed + credentials */
.lx-bleed{height:min(78vh,760px);overflow:hidden;position:relative}
.lx-bleed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 92%}
.lx-creds{border-bottom:1px solid var(--hair);padding:34px var(--lx-gut)}
.lx-creds ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px clamp(26px,4.4vw,64px);max-width:1200px}
.lx-creds li{font:400 clamp(15px,1.5vw,20px)/1.1 var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);text-align:center}
.lx-creds li i{display:block;font:400 9px/1 var(--sans);letter-spacing:.3em;margin-top:6px;font-style:normal}
.lx-creds img{height:58px;width:auto}

/* portfolio */
.lx-port{max-width:1320px;margin:0 auto;padding:clamp(90px,10vw,150px) var(--lx-gut)}
.lx-port .top{text-align:center;margin-bottom:28px}
.lx-port .top .lx-k{margin-top:12px}
.lx-port nav.h-paths{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:0 auto clamp(40px,5vw,64px);max-width:980px}
.lx-port nav.h-paths a{font:400 10.5px/1.8 var(--sans);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid transparent}
.lx-port nav.h-paths a:hover{border-color:var(--lx-ink)}
.lx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px)}
.lx-grid a{display:block}
.lx-grid .ph{overflow:hidden;aspect-ratio:4/5}
.lx-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
.lx-grid a:hover img{transform:scale(1.035)}
.lx-grid .nm{margin-top:12px;font:400 19px/1.2 var(--serif)}
.lx-grid .lc{margin-top:4px;font:400 9.5px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
.lx-port .more{text-align:center;margin-top:50px}
@media (max-width:900px){.lx-grid{grid-template-columns:repeat(2,1fr)}}

/* closing */
.lx-close{background:var(--linen);text-align:center;padding:clamp(100px,12vw,170px) var(--lx-gut)}
.lx-close .lx-display{max-width:12em;margin:16px auto 26px}
.lx-close .lx-body{margin:0 auto 34px}
.lx-close .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.lx-close nav{margin-top:44px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px}
.lx-close nav a,.lx-close .soc a{font:400 10.5px/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid transparent}
.lx-close nav a:hover,.lx-close .soc a:hover{border-color:var(--lx-ink)}
.lx-close .soc{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;color:var(--taupe)}

/* guides block on light paper */
.lx-home .guides-more{background:var(--bone)}

/* overlays */
.lx-home #modal,.lx-home #film{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;background:rgba(20,17,14,.86);padding:24px}
.lx-home #modal.open,.lx-home #film.open{display:flex}
.lx-home #modal .box{background:var(--bone);max-width:640px;padding:clamp(30px,5vw,56px);text-align:center}
.lx-home #modal blockquote{margin:0;font:300 clamp(22px,2.4vw,30px)/1.3 var(--serif);color:var(--lx-ink)}
.lx-home #modal cite{display:block;margin-top:18px;font:400 10.5px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);font-style:normal}
.lx-home #modal .v{display:inline-block;margin-top:16px;font:italic 400 17px/1 var(--serif);border-bottom:1px solid var(--hair);color:var(--lx-ink)}
.lx-home #modal .x,.lx-home #film .x{position:absolute;top:18px;right:24px;background:none;border:0;color:#fbf8f3;font:300 44px/1 var(--serif);cursor:pointer}
.lx-home #film{flex-direction:column;gap:14px}
.lx-home #film video{max-width:min(1100px,94vw);max-height:78vh;width:100%;background:#000}
.lx-home #film p{color:#e9e1d5;font:italic 400 18px/1.3 var(--serif);margin:0}

/* phones: the two hero photos share the frame and cross-fade */
@media (max-width:700px){.lx-home .lx-dip:after{z-index:2}.lx-home .lx-crest{z-index:3}}
@keyframes lxswap{0%{opacity:0}10%{opacity:1}50%{opacity:1}60%{opacity:0}100%{opacity:0}}


/* hero slideshow: the diptych, then full-frame photographs, 2-second cross-fades */
.lx-slides{position:absolute;inset:0;z-index:2;pointer-events:none}
.lx-slides .sl{position:absolute;inset:0;opacity:0;transition:opacity 2s ease-in-out;overflow:hidden;background:#24201c}
.lx-slides .sl.on{opacity:1}
.lx-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lx-slides .bk{display:none}
.lx-home .lx-crest{z-index:4}
@media (max-width:700px){
  .lx-home .lx-dip:after{z-index:3}
  .lx-slides .sl.fit img:not(.bk){object-fit:contain}
  .lx-slides .sl.fit .bk{display:block;filter:blur(22px) brightness(.8);transform:scale(1.15)}
}
@media (min-width:701px){
  .lx-home .lx-crest{transition:left 2s ease-in-out,top 2s ease-in-out,transform 2s ease-in-out}
  .lx-home .lx-dip.full .lx-crest{left:3vw;top:100%;transform:translate(0,calc(-100% - 4vh)) scale(.82);transform-origin:0 100%;width:min(34%,400px)}
  .lx-slides .sl:after{content:"";position:absolute;inset:50% 55% 0 0;background:radial-gradient(ellipse at 0 100%,rgba(20,17,14,.5),transparent 70%)}
}
