/* CELANO concept portfolio library. */
.concept-library{background:var(--cream)}
.concept-library-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;margin:0 clamp(1.5rem,5vw,5rem) clamp(4rem,7vw,7rem);overflow:hidden;color:#fff}
.concept-library-hero-image{position:absolute;inset:0;background:url('../images/collections/coastal/01-gulf-lantern/00-hero.webp') center/cover}
.concept-library-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,43,44,.84),rgba(23,43,44,.05) 78%),linear-gradient(0deg,rgba(17,30,36,.62),transparent 58%)}
.concept-library-hero-copy{position:relative;z-index:1;max-width:1040px;padding:clamp(4rem,9vw,9rem)}
.concept-library-hero-copy h1{max-width:900px;margin:1.1rem 0 1.8rem;font:400 clamp(4rem,8vw,9rem)/.92 var(--serif);letter-spacing:.01em;text-wrap:balance}
.concept-library-hero-copy h1 em{font-style:italic;color:var(--sea-glass)}
.concept-library-hero-copy>p:last-child{max-width:690px;margin:0;color:rgba(255,255,255,.76);font-size:clamp(.95rem,1.3vw,1.16rem)}
.concept-library-disclosure{position:absolute;z-index:1;right:2rem;bottom:1.6rem;margin:0;font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.concept-browser{padding-top:clamp(5rem,8vw,9rem);padding-bottom:clamp(8rem,12vw,13rem)}
.concept-browser-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:clamp(3rem,9vw,11rem);align-items:end}
.concept-browser-intro h2{max-width:860px;margin:1rem 0 0;font:400 clamp(3rem,5.7vw,6.2rem)/1 var(--serif);text-wrap:balance}
.concept-browser-intro>p{margin:0;color:#666b68;font-size:clamp(.95rem,1.2vw,1.1rem)}
.concept-filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:clamp(4rem,7vw,7rem) 0 3rem}
.concept-filters button{appearance:none;border:1px solid rgba(49,91,93,.24);border-radius:999px;background:transparent;color:var(--deep-teal);padding:.7rem 1.1rem;cursor:pointer;font-size:.54rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}
.concept-filters button:hover,.concept-filters button:focus-visible,.concept-filters button.is-active{background:var(--deep-tide);border-color:var(--deep-tide);color:var(--cream)}
.concept-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3.5rem,7vw,7rem) clamp(1.5rem,3vw,3.5rem)}
.concept-card:nth-child(4n+2),.concept-card:nth-child(4n+3){padding-top:clamp(4rem,8vw,9rem)}
.concept-card button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.concept-card-image{display:block;aspect-ratio:1.24/1;overflow:hidden;background:#d8d0c2}
.concept-card-image img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.concept-card-meta{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(220px,1fr);gap:.4rem 1.5rem;padding-top:1.35rem}
.concept-card-meta small,.concept-card-meta span,.concept-card-meta em{font-style:normal;color:#666b68;font-size:.51rem;letter-spacing:.14em;text-transform:uppercase}
.concept-card-meta strong{grid-column:1;margin-top:.15rem;font:400 clamp(1.8rem,3vw,3.2rem)/1 var(--serif)}
.concept-card-meta span{grid-column:2;grid-row:2}
.concept-card-meta em{grid-column:2;color:var(--deep-teal);font-weight:500}
.integrated-air-feature button{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);width:100%;padding:0;border:0;background:var(--deep-tide);color:var(--cream);text-align:left;cursor:pointer}
.integrated-air-feature img{min-height:min(66vw,820px)}
.integrated-air-feature button>span{align-self:center;padding:clamp(3rem,6vw,7rem)}
.integrated-air-feature small,.integrated-air-feature em{display:block;font-style:normal;color:var(--sea-glass);font-size:.54rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.integrated-air-feature strong{display:block;margin:1.2rem 0 1.5rem;font:400 clamp(3rem,5.2vw,5.8rem)/1 var(--serif)}
.integrated-air-feature p{max-width:530px;color:#c8d2d0}
.integrated-air-feature em{margin-top:2.2rem}
.concept-library-cta{display:flex;min-height:72vh;flex-direction:column;align-items:center;justify-content:center;padding:7rem 1.5rem;text-align:center;background:var(--celano-blue);color:var(--deep-tide)}
.concept-library-cta h2{max-width:1050px;margin:1.3rem auto 1.6rem;font:400 clamp(3.6rem,7vw,7.5rem)/.98 var(--serif)}
.concept-library-cta>p:not(.eyebrow){max-width:620px;margin:0 auto 2.2rem}
.concept-library-cta a{font:400 clamp(1rem,2vw,1.7rem) var(--serif);border-bottom:1px solid var(--deep-tide);padding-bottom:.45rem}
.concept-dialog{width:min(94vw,1500px);height:min(94vh,1000px);max-width:none;max-height:none;padding:0;border:0;background:var(--cream);color:var(--ink)}
.concept-dialog::backdrop{background:rgba(11,27,40,.94);backdrop-filter:blur(10px)}
.concept-dialog-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;overflow:auto}
.concept-dialog header{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 2rem}
.concept-dialog header h2{margin:.2rem 0;font:400 clamp(2rem,4vw,4.2rem)/1 var(--serif)}
.concept-dialog header p{max-width:740px;margin:.4rem 0 0;color:#666b68}
.concept-dialog header button{align-self:flex-start;width:44px;height:44px;padding:0;border:1px solid rgba(49,91,93,.25);border-radius:50%;background:transparent;color:var(--deep-tide);font-size:1.8rem;line-height:1;cursor:pointer}
.concept-dialog figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0;padding:0 2rem}
.concept-dialog figure>img{min-height:0;object-fit:contain;background:#e7e1d7}
.concept-dialog figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;padding:1rem 0;color:#666b68;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase}
.concept-dialog figcaption p{margin:0}
.concept-dialog-controls{display:flex;justify-content:space-between;padding:0 2rem 1rem}
.concept-dialog-controls button{border:0;background:transparent;color:var(--deep-teal);padding:.5rem 0;cursor:pointer;font-size:.56rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.concept-dialog-thumbs{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));gap:.5rem;padding:0 2rem 2rem}
.concept-dialog-thumbs button{aspect-ratio:1.4/1;padding:2px;border:1px solid transparent;background:transparent;cursor:pointer}
.concept-dialog-thumbs button.is-active{border-color:var(--deep-teal)}
.concept-dialog-thumbs img{object-fit:cover}
@media(hover:hover){.concept-card button:hover .concept-card-image img,.integrated-air-feature button:hover>img{transform:scale(1.02)}}
@media(max-width:980px){.concept-browser-intro{grid-template-columns:1fr}.integrated-air-feature button{grid-template-columns:1fr}.integrated-air-feature img{min-height:62vw}.concept-library-disclosure{right:auto;left:clamp(2rem,9vw,9rem)}}
@media(max-width:800px){.concept-library-hero-copy{padding:3rem}.concept-library-disclosure{left:3rem}.concept-dialog{width:100vw;height:100vh;max-height:none}.concept-dialog-inner{max-height:100vh}}
@media(max-width:620px){.concept-library-hero{margin:0 1.25rem 4rem}.concept-library-hero-copy{padding:2rem 1.25rem 5rem}.concept-library-hero-copy h1{font-size:3.6rem}.concept-library-disclosure{left:1.25rem;right:1.25rem;bottom:1.25rem}.concept-card-grid{grid-template-columns:1fr}.concept-card:nth-child(4n+2),.concept-card:nth-child(4n+3){padding-top:0}.concept-card-meta{grid-template-columns:1fr}.concept-card-meta strong,.concept-card-meta span,.concept-card-meta em{grid-column:1;grid-row:auto}.integrated-air-feature img{min-height:90vw}.integrated-air-feature button>span{padding:3rem 1.5rem}.integrated-air-feature strong{font-size:2.8rem}.concept-dialog header{padding:1rem}.concept-dialog header p:not(.eyebrow){display:none}.concept-dialog figure{padding:0 1rem}.concept-dialog figcaption{grid-template-columns:auto 1fr}.concept-dialog figcaption small{grid-column:2}.concept-dialog-thumbs{grid-template-columns:repeat(3,1fr);padding:0 1rem 1.5rem}}

