/* Four visually distinct additional site concepts. No shared one-size-fits-all card layout. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Manrope:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,500;0,700;1,500&family=Space+Grotesk:wght@400;500;600;700&display=swap');
.concept{--ink:#282625;--back:#fff;--tone:#dbdbdb;--accent:#333;--display:'Manrope',sans-serif;background:var(--back);color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif;min-width:0}
.concept *, .concept *:before,.concept *:after{box-sizing:border-box}
.concept a{color:inherit;text-decoration:none}
.concept img{display:block;width:100%;max-width:100%;height:100%;object-fit:cover}
.concept figure{margin:0;min-width:0}
.concept h1,.concept h2,.concept h3{font-family:var(--display);line-height:1.08;letter-spacing:-.055em;margin:0}
.concept h1{font-size:clamp(55px,7.4vw,124px)}
.concept h2{font-size:clamp(33px,4vw,60px)}
.concept h3{font-size:clamp(23px,2.5vw,36px)}
.concept p{margin:0 0 18px}
.concept a:focus-visible,.concept button:focus-visible,.concept input:focus-visible,.concept textarea:focus-visible{outline:3px solid #0d87da;outline-offset:4px}
.concept-skip{position:absolute;top:-150px;left:15px;z-index:110;padding:13px;background:#fff;color:#111!important}
.concept-skip:focus{top:10px}
.concept-demo-banner{background:#111a1d;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:9px clamp(20px,5vw,76px);font:11px/1.45 'DM Sans',sans-serif;letter-spacing:.04em}
.concept-demo-banner strong{color:#c8e9ff}
.concept-demo-banner div{display:flex;flex-wrap:wrap;gap:20px}
.concept-demo-banner a{text-decoration:underline;text-underline-offset:4px;min-height:30px;display:inline-flex;align-items:center}
.concept-header{position:sticky;top:0;z-index:49;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px clamp(20px,5vw,76px);min-height:82px;background:var(--back);border-bottom:1px solid var(--tone)}
.concept-brand{font:750 clamp(20px,2vw,27px)/1.1 var(--display);letter-spacing:-.065em;display:inline-flex;gap:13px;align-items:center;max-width:65%}
.concept-brand>span{overflow-wrap:anywhere}
.concept-nav{display:flex;align-items:center;gap:26px}
.concept-nav ul{margin:0;padding:0;display:flex;list-style:none;align-items:center;gap:clamp(11px,2vw,28px)}
.concept-nav a{font-size:13px;font-weight:750;min-height:44px;display:inline-flex;align-items:center}
.concept-nav a[aria-current="page"]{border-bottom:2px solid var(--accent)}
.concept-nav-cta{padding:11px 20px;border-radius:2px;background:var(--accent);color:var(--back)!important}
.concept-menu{display:none}
.concept-eyebrow,.concept-overline{font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;line-height:1.5}
.concept-mark{margin-right:9px}
.concept-button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:52px;padding:13px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--back)!important;font-size:13px;font-weight:850;line-height:1.25;text-align:center;cursor:pointer}
.concept-button:hover{filter:brightness(1.14)}
.concept-text-link{font-size:13px;font-weight:850;text-decoration:underline!important;text-underline-offset:6px;display:inline-flex;min-height:44px;align-items:center}
.concept-hero{min-height:650px}
.concept-hero-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.concept-feature-section,.concept-services,.concept-values,.concept-gallery-wrap,.concept-contact-section{padding:clamp(65px,8vw,115px) clamp(20px,6vw,100px)}
.concept-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}
.concept-section-heading>div{max-width:800px}
.concept-section-heading>p{max-width:350px;color:inherit;opacity:.7;font-size:14px}
.concept-section-heading .concept-eyebrow{margin-bottom:20px}
.concept-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.concept-feature{padding:34px;border:1px solid var(--tone);min-width:0}
.concept-number{font-size:11px;font-weight:850;letter-spacing:.13em}
.concept-feature h3{margin:26px 0 16px}
.concept-feature p,.concept-service-card p{font-size:14px;opacity:.75;line-height:1.8}
.concept-feature>a,.concept-service-card>a{display:inline-block;margin-top:18px;font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:5px}
.concept-story-teaser,.concept-story-page{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}
.concept-story-teaser>div,.concept-story-page>div{padding:clamp(35px,6vw,110px)}
.concept-story-teaser h2,.concept-story-page h2{margin:18px 0 24px}
.concept-story-teaser p:not(.concept-overline),.concept-story-page p:not(.concept-overline){max-width:590px;opacity:.76;line-height:1.8}
.concept-story-teaser figure,.concept-story-page figure{min-height:520px;height:100%}
.concept-last-call{text-align:center;padding:90px 22px}
.concept-last-call h2{margin:13px auto 28px;max-width:900px}
.concept-interior-hero{padding:clamp(80px,11vw,140px) clamp(20px,7vw,110px);min-height:430px}
.concept-interior-hero h1{font-size:clamp(46px,6.3vw,91px);max-width:1050px;margin:24px 0}
.concept-interior-hero>p:not(.concept-eyebrow){max-width:690px;font-size:17px;line-height:1.8;opacity:.8}
.concept-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.concept-service-card{border:1px solid var(--tone);padding:35px;min-width:0}
.concept-service-card h3{margin:26px 0 17px}
.concept-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.concept-gallery-photo{min-width:0}
.concept-gallery-photo img{height:330px}
.concept-gallery-wide{grid-column:span 2}
.concept-gallery-wide img{height:460px}
.concept-gallery-photo figcaption{display:flex;justify-content:space-between;gap:15px;padding:14px 0;font-weight:750;font-size:13px}
.concept-contact-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,6vw,100px);align-items:start}
.concept-contact-copy h2{margin:16px 0 25px}
.concept-contact-copy p:not(.concept-overline){opacity:.75;max-width:530px}
.concept-contact-points{display:grid;gap:12px;margin-top:55px;font-size:10px;font-weight:850;letter-spacing:.12em}
.concept-contact-points span{border-top:1px solid var(--tone);padding:12px 0}
.concept-inquiry{padding:clamp(25px,4vw,50px);background:var(--ink);color:var(--back)}
.concept-inquiry h2{font-size:30px;margin:0 0 28px}
.concept-inquiry label{display:block;font-size:13px;font-weight:800;margin-bottom:18px}
.concept-inquiry input,.concept-inquiry textarea{display:block;width:100%;min-height:50px;padding:12px;border:1px solid #a8b2b6;background:#fff;color:#12202a;border-radius:0;font:15px 'DM Sans',sans-serif;margin-top:7px}
.concept-inquiry textarea{min-height:120px;resize:vertical}
.concept-inquiry .concept-button{background:var(--back);color:var(--ink)!important;border-color:var(--back)}
.concept-form-note{margin-top:18px;color:inherit;opacity:.75;font-size:12px;line-height:1.7}
.concept-footer{padding:60px clamp(20px,6vw,100px) 28px;display:grid;grid-template-columns:1fr 1fr;gap:30px;background:var(--ink);color:var(--back)}
.concept-foot-brand{font:750 34px var(--display)}
.concept-footer nav{display:flex;flex-wrap:wrap;align-items:start;justify-content:flex-end;gap:22px;font-size:13px;font-weight:750}
.concept-footer p{opacity:.7}
.concept-foot-note{grid-column:1/-1;border-top:1px solid #ffffff44;padding-top:20px;font-size:11px;opacity:.8}
.concept-foot-note a{text-decoration:underline}
.concept--salon{--ink:#44313b;--back:#fbf4ee;--tone:#dcc7c6;--accent:#7d4f61;--display:'Playfair Display',Georgia,serif}
.concept--salon .concept-header{background:#fbf4eeed;backdrop-filter:blur(13px)}
.salon-hero{display:grid;grid-template-columns:.87fr 1.13fr;background:#f5e7e2}
.salon-hero-photo{height:700px;position:relative;overflow:hidden}
.salon-hero-photo img{filter:saturate(.7)}
.salon-hero-photo figcaption{position:absolute;left:28px;bottom:28px;padding:10px 15px;background:#fbf4eecc;font-size:10px;letter-spacing:.15em}
.salon-hero-copy{padding:clamp(50px,8vw,120px) clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:center}
.salon-hero-copy h1{font-size:clamp(59px,7.1vw,114px);margin:21px 0 22px;line-height:1.04}
.salon-hero-copy h1 em{font-weight:500;color:#a56e7b}
.salon-hero-copy>p:not(.concept-eyebrow){font-size:17px;max-width:400px;line-height:1.8}
.salon-hero-copy .concept-button{align-self:flex-start;margin-top:20px}
.salon-intro{padding:90px clamp(30px,10vw,180px);text-align:center}
.salon-intro h2{font-size:clamp(34px,4vw,59px);margin:12px auto 25px}
.salon-intro p:last-child{max-width:650px;margin-inline:auto;line-height:1.85;opacity:.75}
.concept--salon .concept-feature{border-width:0;border-top:1px solid var(--tone);padding-inline:18px}
.concept--salon .concept-interior-hero{background:#f4e7e1}
.concept--salon .concept-story-teaser{background:#ece0dc}
.concept--salon .concept-last-call{background:#e5d3d0}
.concept--salon .concept-gallery-grid{grid-template-columns:1fr 1.25fr 1fr}
.concept--contractor{--ink:#101a20;--back:#f0f1eb;--tone:#c1c7c4;--accent:#f1b836;--display:'Manrope',system-ui,sans-serif}
.concept--contractor h1,.concept--contractor h2,.concept--contractor h3{text-transform:uppercase;letter-spacing:-.075em;font-weight:900}
.concept--contractor .concept-brand{font-weight:900}
.concept--contractor .concept-nav-cta{color:#101a20!important}
.contractor-hero{display:grid;grid-template-columns:1.05fr .95fr;background:#121c22;color:#fff}
.contractor-hero-copy{padding:clamp(55px,7.5vw,110px) clamp(20px,6vw,90px);display:flex;flex-direction:column;justify-content:center}
.contractor-hero h1{font-size:clamp(62px,9vw,147px);line-height:.88;margin:24px 0 35px}
.contractor-hero h1 span{color:#e6b53a}
.contractor-hero-copy>p:not(.concept-eyebrow){max-width:520px;line-height:1.8;color:#d0d5d3}
.contractor-hero .concept-button{background:#efbe4a;color:#101a20!important;border-color:#efbe4a}
.contractor-hero-photo{height:730px;position:relative}
.contractor-hero-photo img{filter:saturate(.6) contrast(1.14)}
.contractor-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:19px;background:#f1bd32;color:#141b1b;font-size:11px;letter-spacing:.14em;font-weight:900;text-align:center}
.concept-ticker{display:flex;justify-content:space-around;flex-wrap:wrap;gap:12px;padding:20px;background:#e8b83b;color:#111;font-size:16px;font-weight:900;letter-spacing:.14em}
.concept--contractor .concept-feature{background:#fff;border-left:6px solid #e7b53f}
.concept--contractor .concept-story-teaser{background:#dee1d9}
.concept--contractor .concept-interior-hero{background:#141f26;color:white;border-bottom:8px solid #e7b53f}
.concept--contractor .concept-services-grid{gap:0;border-top:1px solid #b4bdc1;border-left:1px solid #b4bdc1}
.concept--contractor .concept-service-card{border:0;border-right:1px solid #b4bdc1;border-bottom:1px solid #b4bdc1;background:#fff}
.concept--contractor .concept-last-call{background:#e8b83b}
.concept--contractor .concept-button{border-radius:0}
.concept--lodge{--ink:#173226;--back:#f5f1e8;--tone:#d2dbce;--accent:#406548;--display:Georgia,'Times New Roman',serif}
.concept--lodge .concept-header{background:#f5f1e8eb}
.concept--lodge .concept-brand{font-style:italic}
.lodge-hero{min-height:780px;background-position:center;background-size:cover;position:relative;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:40px;padding:100px clamp(25px,7vw,110px)}
.lodge-hero-copy{max-width:700px}
.lodge-hero h1{font-size:clamp(68px,9vw,142px);font-weight:400;line-height:.98;margin:25px 0}
.lodge-hero h1 em{color:#d8e5be}
.lodge-hero-copy>p:not(.concept-eyebrow){font-size:19px;max-width:430px;color:#f5f2eb}
.lodge-hero .concept-button{background:#e5ebd4;color:#173226!important;border-color:#e5ebd4;margin-top:18px}
.lodge-hero-stamp{width:145px;height:145px;flex-shrink:0;border:1px solid #ffffffe0;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;letter-spacing:.1em}
.lodge-hero-stamp span{font-size:18px;margin-left:8px}
.lodge-underhero{display:flex;flex-wrap:wrap;justify-content:space-around;gap:10px;padding:18px 20px;background:#1e3a2c;color:#eef4e6;font-size:11px;letter-spacing:.14em}
.lodge-underhero a{text-decoration:underline}
.concept--lodge .concept-feature{background:#eef1e8;border-radius:140px 140px 8px 8px;text-align:center;padding-top:65px}
.concept--lodge .concept-story-teaser{background:#e8ede5}
.concept--lodge .concept-interior-hero{background:#e5ebe0}
.concept--lodge .concept-gallery-grid{grid-template-columns:1.15fr 1fr 1fr}
.concept--lodge .concept-last-call{background:#d7e1d2}
.concept--retail{--ink:#241752;--back:#fff8dd;--tone:#25165a;--accent:#f6ec4c;--display:'Space Grotesk','Manrope',sans-serif}
.concept--retail .concept-header{background:#fff8dd;box-shadow:0 3px 0 var(--ink)}
.concept--retail .concept-brand{font-weight:900;text-transform:uppercase}
.concept--retail .concept-nav-cta{background:#261c82;color:#fff!important}
.retail-hero{display:grid;grid-template-columns:1fr 1fr;background:#493ee5;color:#fff;min-height:720px}
.retail-hero-copy{padding:clamp(60px,7vw,100px) clamp(24px,5vw,80px)}
.retail-hero h1{font-size:clamp(76px,10vw,165px);line-height:.78;font-weight:900;letter-spacing:-.105em;margin:34px 0 30px}
.retail-hero h1 span{color:#f4f45d}
.retail-hero-copy>p:not(.concept-eyebrow){font-size:19px;line-height:1.7;max-width:390px}
.retail-hero .concept-button{background:#fff269;border-color:#fff269;color:#261755!important;box-shadow:6px 6px 0 #261755}
.retail-hero-visual{display:flex;position:relative;min-height:680px;align-items:center;justify-content:center;padding:65px 55px;background:#f3d4df}
.retail-hero-visual figure{width:100%;transform:rotate(-5deg);box-shadow:13px 13px 0 #2f239e}
.retail-hero-visual img{height:520px}
.retail-hero-visual figcaption{padding:15px;background:#f5ed5d;color:#2e2381;font-size:13px;font-weight:900;letter-spacing:.12em}
.retail-orbit{position:absolute;right:4%;top:9%;border-radius:50%;width:125px;height:125px;display:grid;place-items:center;text-align:center;background:#fd7037;color:#231353;font-size:21px;font-weight:900;line-height:1;transform:rotate(14deg)}
.retail-stripe{display:flex;flex-wrap:wrap;justify-content:space-around;gap:14px;background:#f6ec4c;color:#25175d;padding:24px 14px;font-weight:900;letter-spacing:.1em}
.concept--retail .concept-feature{background:#fc88bf;border:3px solid #2f239e;box-shadow:7px 7px 0 #3426a2}
.concept--retail .concept-story-teaser{background:#d9c8fe}
.concept--retail .concept-interior-hero{background:#493ee5;color:#fff}
.concept--retail .concept-service-card:nth-child(4n+1){background:#d7f75f}
.concept--retail .concept-service-card:nth-child(4n+2){background:#ffd1e6}
.concept--retail .concept-service-card:nth-child(4n+3){background:#becdf7}
.concept--retail .concept-service-card:nth-child(4n){background:#f6e75c}
.concept--retail .concept-service-card{border:3px solid #271758}
.concept--retail .concept-last-call{background:#f7eb4b}
@media(max-width:1100px){
 .concept-header{min-height:70px}
 .concept-menu{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:48px;min-width:78px;border:1px solid var(--ink);color:var(--ink);background:var(--back);font-size:14px;font-weight:800;padding:8px 12px}
 .concept-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 70px);overflow:auto;padding:14px 24px 25px;background:var(--back);box-shadow:0 18px 40px #0004;flex-direction:column;align-items:stretch;gap:8px}
 .concept-nav.open{display:flex}
 .concept-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .concept-nav li a{display:flex;min-height:50px;padding:9px 0;border-bottom:1px solid var(--tone);color:var(--ink)}
 .concept-nav-cta{justify-content:center;color:var(--ink)!important}
 .concept--contractor .concept-nav-cta{color:#101a20!important}
 .concept--retail .concept-nav-cta{color:#fff!important}
 .concept-story-teaser>div,.concept-story-page>div{padding:45px}
}
@media(max-width:760px){
 .concept-demo-banner{font-size:10px}
 .concept-header{padding-inline:20px}
 .concept-brand{max-width:70%}
 .concept-hero{min-height:unset}
 .salon-hero,.contractor-hero,.retail-hero{grid-template-columns:1fr}
 .salon-hero-photo{height:350px;order:2}
 .salon-hero-copy{padding:55px 24px;order:1}
 .salon-hero-copy h1{font-size:clamp(59px,11vw,89px)}
 .contractor-hero-photo{height:380px}
 .contractor-hero-copy{padding:60px 24px}
 .contractor-hero h1{font-size:clamp(64px,15vw,115px)}
 .retail-hero-copy{padding:60px 24px}
 .retail-hero h1{font-size:clamp(78px,17vw,130px)}
 .retail-hero-visual{min-height:440px;padding:50px 40px}
 .retail-hero-visual img{height:350px}
 .retail-orbit{width:96px;height:96px;font-size:16px}
 .lodge-hero{min-height:700px;padding:80px 24px 55px;flex-direction:column;align-items:flex-start;justify-content:end}
 .lodge-hero-stamp{width:115px;height:115px;font-size:10px}
 .concept-feature-grid,.concept-services-grid,.concept-story-teaser,.concept-story-page,.concept-contact-section{grid-template-columns:1fr}
 .concept-story-teaser>div{order:1}
 .concept-story-teaser figure{order:2}
 .concept-story-teaser figure,.concept-story-page figure{height:360px;min-height:0}
 .concept-section-heading{display:block}
 .concept-section-heading>a{margin-top:17px}
 .concept-feature-section,.concept-services,.concept-values,.concept-gallery-wrap,.concept-contact-section{padding:65px 20px}
 .concept-gallery-grid,.concept--salon .concept-gallery-grid,.concept--lodge .concept-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .concept-gallery-wide{grid-column:span 2}
 .concept-gallery-photo img{height:280px}
 .concept-gallery-wide img{height:340px}
 .concept-footer{grid-template-columns:1fr;gap:15px}
 .concept-footer nav{justify-content:flex-start}
 .concept-foot-note{grid-column:1}
 .concept-service-card{padding:28px}
}
@media(max-width:460px){
 .concept-gallery-grid,.concept--salon .concept-gallery-grid,.concept--lodge .concept-gallery-grid{grid-template-columns:1fr}
 .concept-gallery-wide{grid-column:auto}
 .concept-gallery-photo img,.concept-gallery-wide img{height:300px}
 .concept-brand{font-size:19px}
 .concept-header{gap:12px}
 .concept-contact-section{gap:22px}
 .concept-inquiry{padding:24px}
 .lodge-underhero{flex-direction:column;text-align:center}
 .concept-story-page>div,.concept-story-teaser>div{padding:35px 22px}
 .concept-intro{padding-inline:25px}
}
@media(prefers-reduced-motion:reduce){.concept *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
