/*
Theme Name: Savoie Resorts Premium
Theme URI: https://savoieresorts.com
Author: Savoie Resorts
Description: Bespoke luxury resort land development theme for Savoie Resorts.
Version: 1.0.0
Text Domain: savoie-resorts-premium
*/

:root { --navy:#1B2A4A; --deep:#0F1923; --gold:#C9A96E; --gold-light:#E8D5A3; --cream:#FAF8F5; --ink:#1B2A4A; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'Montserrat',Arial,sans-serif; font-weight:300; }
a { color:inherit; }
.sr-shell { overflow:hidden; }
.sr-topbar { height:84px; background:var(--navy); display:flex; align-items:center; position:relative; z-index:20; border-bottom:1px solid rgba(255,255,255,.1); }
.sr-nav-wrap { width:min(1240px,calc(100% - 48px)); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.sr-brand { display:flex; align-items:center; text-decoration:none; gap:13px; min-width:220px; }
.sr-brand img { width:54px; height:54px; object-fit:contain; border-radius:50%; }
.sr-brand-title { display:block; color:#fff; font-family:'Cormorant Garamond',Georgia,serif; font-size:23px; font-weight:500; line-height:.82; }
.sr-brand-tag { display:block; color:var(--gold); font-size:8px; text-transform:uppercase; letter-spacing:3px; margin-top:8px; font-weight:500; }
.sr-menu { display:flex; align-items:center; justify-content:center; gap:29px; margin-left:auto; }
.sr-menu a { color:#fff; text-decoration:none; font-size:11px; text-transform:uppercase; letter-spacing:1.8px; font-weight:500; opacity:.9; transition:color .2s,opacity .2s; }
.sr-menu a:hover,.sr-menu a[aria-current="page"] { color:var(--gold); opacity:1; }
.sr-social { display:flex; align-items:center; gap:14px; border-left:1px solid rgba(255,255,255,.2); padding-left:21px; }
.sr-social a { width:22px; height:22px; color:var(--gold); display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:15px; transition:transform .2s,color .2s; }
.sr-social a:hover { color:var(--gold-light); transform:translateY(-2px); }
.sr-hero { width:100%; aspect-ratio:21/8; min-height:340px; max-height:540px; position:relative; background:var(--deep); overflow:hidden; }
.sr-hero img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.sr-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,25,35,.05),rgba(15,25,35,.18)); pointer-events:none; }
.sr-intro { max-width:950px; margin:0 auto; padding:104px 34px 96px; text-align:center; }
.sr-eyebrow { width:60px; height:2px; background:var(--gold); margin:0 auto 28px; }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; margin:0; }
.sr-intro h1,.sr-section-heading { color:var(--navy); font-size:clamp(43px,5vw,68px); line-height:1.01; font-weight:300; letter-spacing:-1.2px; }
.sr-intro p { color:rgba(27,42,74,.74); line-height:1.92; font-size:16px; max-width:790px; margin:28px auto 0; }
.sr-video-section { background:#fff; padding:87px 24px 94px; text-align:center; }
.sr-video-heading { color:var(--navy); font-size:clamp(38px,4vw,56px); font-weight:300; margin-bottom:34px; }
.sr-video { width:min(860px,100%); aspect-ratio:16/9; margin:auto; overflow:hidden; border-radius:3px; box-shadow:0 26px 64px rgba(15,25,35,.19); }
.sr-video iframe { display:block; border:0; width:100%; height:100%; }
.sr-play { color:#00e870; text-transform:uppercase; letter-spacing:3px; font-weight:600; font-size:11px; margin:17px 0 0; }
.sr-why { background:var(--navy); padding:104px 24px; text-align:center; }
.sr-why .sr-section-heading { color:white; font-size:clamp(40px,4.6vw,62px); }
.sr-cards { max-width:1180px; margin:54px auto 0; display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.sr-card { min-height:238px; padding:35px 27px; border:1px solid rgba(255,255,255,.15); text-align:center; transition:transform .25s, border-color .25s,background .25s; }
.sr-card:hover { transform:translateY(-6px); border-color:var(--gold); background:rgba(255,255,255,.04); }
.sr-card-icon { color:var(--gold); font-size:28px; line-height:1; margin-bottom:20px; }
.sr-card h3 { color:white; font-family:'Montserrat',Arial,sans-serif; font-size:12px; line-height:1.4; text-transform:uppercase; letter-spacing:1.8px; font-weight:600; margin:0 0 13px; }
.sr-card p { margin:0; color:rgba(255,255,255,.68); line-height:1.7; font-size:13px; }
.sr-property { background:var(--cream); padding:104px 24px; text-align:center; }
.sr-property-sub,.sr-kicker { color:rgba(27,42,74,.62); font-size:10px; text-transform:uppercase; letter-spacing:3px; margin:15px 0 44px; font-weight:500; }
.sr-gallery { max-width:1180px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.sr-gallery a { display:block; aspect-ratio:1; overflow:hidden; background:var(--navy); }
.sr-gallery img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .3s; }
.sr-gallery a:hover img { transform:scale(1.08); opacity:.9; }
.sr-numbers { background:white; padding:73px 24px; display:flex; justify-content:center; gap:min(12vw,150px); text-align:center; }
.sr-number b { display:block; font-family:'Cormorant Garamond',Georgia,serif; color:var(--gold); font-weight:300; font-size:clamp(55px,6vw,82px); line-height:.85; }
.sr-number span { display:block; margin-top:18px; color:rgba(27,42,74,.62); font-size:10px; letter-spacing:3px; text-transform:uppercase; font-weight:500; }
.sr-cta { background:radial-gradient(80% 120% at 50% 0,#24395d 0,var(--deep) 65%); padding:112px 24px; text-align:center; }
.sr-cta h2 { color:white; font-size:clamp(40px,4.4vw,64px); font-weight:300; line-height:1.05; }
.sr-cta p { color:rgba(255,255,255,.67); line-height:1.8; margin:18px auto 35px; max-width:570px; font-size:15px; }
.sr-button { background:var(--gold); color:var(--deep); display:inline-flex; align-items:center; gap:11px; text-decoration:none; padding:16px 28px; font-weight:600; font-size:11px; letter-spacing:2px; text-transform:uppercase; transition:background .2s, transform .2s; }
.sr-button:hover { background:var(--gold-light); transform:translateY(-2px); }
.sr-footer { background:var(--deep); border-top:3px solid var(--gold); padding:45px 24px; color:white; }
.sr-footer-inner { width:min(1180px,100%); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.sr-footer-brand { display:flex; align-items:center; gap:11px; }
.sr-footer-brand img { width:43px; height:43px; object-fit:contain; border-radius:50%; }
.sr-footer-brand strong { display:block; color:#fff; font:500 18px/1 'Cormorant Garamond',Georgia,serif; }
.sr-footer-brand span { display:block; color:var(--gold); font-size:8px; letter-spacing:2.5px; text-transform:uppercase; margin-top:7px; }
.sr-footer-center { display:flex; gap:18px; }
.sr-footer-center a { color:rgba(255,255,255,.62); font-size:12px; text-decoration:none; }
.sr-footer-center a:hover { color:var(--gold); }
.sr-footer-copy { color:rgba(255,255,255,.38); font-size:11px; }
.sr-page-hero { background:var(--navy); padding:108px 24px 85px; text-align:center; color:white; }
.sr-page-hero h1 { font-size:clamp(48px,6vw,78px); font-weight:300; line-height:1; }
.sr-page-hero p { font-size:11px; text-transform:uppercase; letter-spacing:3px; margin:17px 0 0; color:var(--gold); font-weight:500; }
.sr-content { max-width:900px; padding:88px 34px 103px; margin:auto; }
.sr-content p { line-height:1.92; color:rgba(27,42,74,.72); margin:0 0 22px; font-size:16px; }
.sr-contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:48px 0; }
.sr-contact-card { border:1px solid rgba(201,169,110,.38); padding:31px 20px; text-align:center; }
.sr-contact-card b { display:block; color:var(--gold); font-size:25px; margin-bottom:14px; }
.sr-contact-card h3 { font:600 11px/1.2 'Montserrat',Arial,sans-serif; letter-spacing:1.8px; text-transform:uppercase; color:var(--navy); margin-bottom:10px; }
.sr-contact-card p,.sr-contact-card a { margin:0; color:rgba(27,42,74,.7); font-size:13px; text-decoration:none; }
.sr-news { max-width:1000px; padding:88px 24px 105px; margin:auto; }
.sr-news-grid { display:grid; gap:20px; }
.sr-story { background:white; padding:34px; border:1px solid rgba(201,169,110,.22); transition:transform .25s,border-color .25s; }
.sr-story:hover { transform:translateY(-4px); border-color:var(--gold); }
.sr-story-meta { color:var(--gold); text-transform:uppercase; letter-spacing:2px; font-size:10px; font-weight:600; }
.sr-story h2 { color:var(--navy); font-size:35px; line-height:1.05; font-weight:500; margin:11px 0 13px; }
.sr-story p { margin:0; color:rgba(27,42,74,.66); line-height:1.75; font-size:14px; }
.sr-story a { color:var(--gold); text-decoration:none; display:inline-block; margin-top:17px; font-size:10px; text-transform:uppercase; letter-spacing:2px; font-weight:600; }
@media(max-width:900px){.sr-cards{grid-template-columns:repeat(2,1fr)}.sr-nav-wrap{width:calc(100% - 30px);gap:12px}.sr-brand{min-width:auto}.sr-menu{gap:13px}.sr-menu a{font-size:9px;letter-spacing:1.2px}.sr-social{padding-left:10px;gap:7px}.sr-hero{aspect-ratio:16/9}.sr-numbers{gap:45px}.sr-footer-inner{flex-direction:column;text-align:center}.sr-contact-cards{grid-template-columns:1fr}.sr-page-hero{padding-top:85px}}
@media(max-width:560px){.sr-topbar{height:67px}.sr-brand img{width:42px;height:42px}.sr-brand-title{font-size:17px}.sr-brand-tag{font-size:6px}.sr-menu a:nth-child(2),.sr-menu a:nth-child(3){display:none}.sr-menu{gap:10px}.sr-social{display:none}.sr-intro{padding:73px 24px}.sr-intro h1{font-size:40px}.sr-cards{grid-template-columns:1fr}.sr-gallery{grid-template-columns:repeat(2,1fr)}.sr-numbers{gap:25px;padding:52px 15px}.sr-number span{font-size:8px;letter-spacing:1.5px}.sr-why,.sr-property{padding:75px 20px}.sr-cta{padding:80px 20px}.sr-story{padding:25px}.sr-story h2{font-size:29px}}


/* Premium hero overlay: keeps the primary headline readable over the development rendering. */
.sr-hero-copy{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center;color:#fff;background:linear-gradient(90deg,rgba(15,25,35,.42),rgba(15,25,35,.08) 48%,rgba(15,25,35,.30));pointer-events:none}
.sr-hero-copy b{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(72px,15vw,225px);font-weight:300;letter-spacing:.035em;line-height:.7;text-shadow:0 4px 22px rgba(0,0,0,.28)}
.sr-hero-copy span{margin-top:30px;text-transform:uppercase;font-family:'Montserrat',Arial,sans-serif;font-size:clamp(9px,1.25vw,16px);font-weight:600;letter-spacing:clamp(2px,.55vw,8px);text-shadow:0 2px 10px rgba(0,0,0,.42)}
@media(max-width:560px){.sr-hero{min-height:230px}.sr-hero-copy b{font-size:70px}.sr-hero-copy span{margin-top:18px;letter-spacing:2px;line-height:1.6}}


/* Contact panel and footer social icons */
.sr-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.sr-contact-panel { width:min(440px,calc(100% - 40px)); margin:20px auto 0; padding:12px 16px 12px 12px; display:flex; align-items:center; justify-content:flex-start; gap:14px; text-align:left; color:var(--deep); background:linear-gradient(135deg,#e7d29a 0%,var(--gold) 50%,#b99355 100%); border:1px solid rgba(255,255,255,.32); box-shadow:0 14px 30px rgba(0,0,0,.2); }
.sr-contact-panel img { width:54px; height:54px; flex:0 0 54px; object-fit:cover; object-position:center 20%; border-radius:50%; border:2px solid rgba(15,25,35,.38); }
.sr-contact-panel span { display:block; font-family:'Montserrat',Arial,sans-serif; font-size:9px; line-height:1; font-weight:600; letter-spacing:2px; text-transform:uppercase; opacity:.72; }
.sr-contact-panel strong { display:block; margin:4px 0 5px; font-family:'Cormorant Garamond',Georgia,serif; font-size:24px; line-height:.9; font-weight:700; }
.sr-contact-panel a { display:inline-block; color:var(--deep); font-family:'Montserrat',Arial,sans-serif; font-size:10px; font-weight:700; line-height:1.2; letter-spacing:1px; text-decoration:none; border-bottom:1px solid rgba(15,25,35,.45); }
.sr-contact-panel a:hover { border-bottom-color:var(--deep); }
.sr-footer-center { display:flex; align-items:center; justify-content:center; gap:10px; }
.sr-footer-icon { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; color:var(--gold-light); text-decoration:none; border:1px solid rgba(201,169,110,.52); border-radius:50%; background:rgba(255,255,255,.035); transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease; }
.sr-footer-icon:hover { transform:translateY(-2px); color:var(--deep); background:var(--gold); border-color:var(--gold); }
.sr-facebook { font-family:Arial,sans-serif; font-size:21px; font-weight:700; line-height:1; }
.sr-youtube { padding-left:2px; font-size:14px; line-height:1; }
@media (max-width:640px) { .sr-contact-panel { width:calc(100% - 32px); } .sr-footer-center { margin:15px 0; } }


/* Executive About page */
.sr-about-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 50% -20%,#304773 0%,var(--navy) 45%,#121d2b 100%); padding-bottom:92px; }
.sr-about-profile { width:min(1160px,calc(100% - 56px)); margin:0 auto; padding:105px 0 96px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.68fr); align-items:center; gap:clamp(48px,8vw,120px); }
.sr-about-copy { max-width:650px; }
.sr-kicker { display:inline-block; color:var(--gold); font:600 10px/1 'Montserrat',Arial,sans-serif; letter-spacing:3px; text-transform:uppercase; }
.sr-about-copy h2 { max-width:630px; margin:15px 0 18px; color:var(--navy); font:400 clamp(42px,4.2vw,66px)/.95 'Cormorant Garamond',Georgia,serif; }
.sr-copy-rule { width:64px; height:2px; margin:28px 0 31px; background:linear-gradient(90deg,var(--gold),transparent); }
.sr-about-copy p { max-width:620px; margin:0 0 18px; color:rgba(27,42,74,.75); font-size:15px; line-height:1.9; }
.sr-about-button { margin-top:18px; }
.sr-leadership-card { position:relative; padding:0 30px 33px; text-align:center; background:var(--deep); border:1px solid rgba(201,169,110,.42); box-shadow:0 28px 65px rgba(10,18,29,.25); overflow:hidden; }
.sr-leadership-card:before { content:''; position:absolute; inset:0 0 auto; height:47%; background:linear-gradient(145deg,#243960 0%,#18273e 52%,#0f1923 100%); }
.sr-portrait-wrap { position:relative; z-index:1; width:min(268px,100%); aspect-ratio:4/4.65; margin:-34px auto 24px; overflow:hidden; border:7px solid var(--gold); box-shadow:0 20px 40px rgba(0,0,0,.38); }
.sr-portrait-wrap img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.sr-leadership-meta { position:relative; z-index:1; }
.sr-leadership-meta span { display:block; color:var(--gold); font:600 10px/1 'Montserrat',Arial,sans-serif; letter-spacing:2.7px; text-transform:uppercase; }
.sr-leadership-meta h3 { margin:10px 0 7px; color:#fff; font:500 42px/.88 'Cormorant Garamond',Georgia,serif; }
.sr-leadership-meta p { margin:0; color:rgba(232,213,163,.8); font:500 9px/1.4 'Montserrat',Arial,sans-serif; letter-spacing:1.7px; text-transform:uppercase; }
.sr-leadership-line { width:44px; height:1px; margin:23px auto 17px; background:var(--gold); }
.sr-leadership-card > a { position:relative; z-index:1; color:var(--gold-light); text-decoration:none; font:600 10px/1.2 'Montserrat',Arial,sans-serif; letter-spacing:1px; }
.sr-leadership-card > a:hover { color:#fff; }
.sr-about-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(201,169,110,.4); border-top:1px solid rgba(201,169,110,.42); border-bottom:1px solid rgba(201,169,110,.42); }
.sr-about-metrics > div { min-height:190px; padding:38px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--cream); text-align:center; }
.sr-about-metrics strong { color:var(--gold); font:400 62px/.86 'Cormorant Garamond',Georgia,serif; }
.sr-about-metrics span { margin-top:10px; color:rgba(27,42,74,.7); font:600 9px/1.3 'Montserrat',Arial,sans-serif; letter-spacing:2px; text-transform:uppercase; }
@media(max-width:800px) { .sr-about-profile { width:min(100% - 34px,620px); grid-template-columns:1fr; padding:72px 0; gap:75px; } .sr-about-copy h2 { font-size:48px; } .sr-leadership-card { width:min(100%,390px); margin:auto; } .sr-about-metrics { grid-template-columns:1fr; } .sr-about-metrics > div { min-height:145px; } }

/* Contact mail link and Requestcorp attribution */
.sr-contact-panel{display:flex;text-decoration:none;color:inherit;cursor:pointer}
.sr-contact-panel:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(0,0,0,.18)}
.sr-contact-panel em{display:block;font-style:normal}
.sr-powered-button{display:inline-flex;align-items:center;justify-content:center;margin-top:11px;padding:7px 14px;border:1px solid var(--gold);border-radius:2px;color:var(--gold);font-size:9px;font-weight:600;letter-spacing:1.2px;line-height:1;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .2s,color .2s,transform .2s}
.sr-powered-button:hover{background:var(--gold);color:var(--navy);transform:translateY(-1px)}
.sr-powered-button:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}


/* Responsive footer credit layout: copyright and attribution are separate rows. */
.sr-footer-copy{display:flex;flex-direction:column;align-items:flex-end;gap:9px;line-height:1.35;text-align:right;white-space:nowrap}
.sr-footer-copy .sr-powered-button{margin-top:0;flex-shrink:0}
@media(max-width:800px){.sr-footer-inner{flex-wrap:wrap;justify-content:center;text-align:center}.sr-footer-copy{width:100%;align-items:center;text-align:center;white-space:normal}.sr-footer-copy .sr-powered-button{margin-top:2px}}

/* Mobile navigation and rendering safeguards. */
.sr-menu-toggle{display:none;border:1px solid rgba(201,169,110,.72);background:transparent;color:var(--gold-light);font:600 10px/1 'Montserrat',Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;align-items:center;gap:7px;padding:11px 12px;cursor:pointer}
.sr-menu-toggle span[aria-hidden="true"]{font-size:18px;line-height:.7}
.sr-menu-toggle:hover,.sr-menu-toggle:focus-visible{background:var(--gold);color:var(--deep)}
.sr-menu-toggle:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
@media(max-width:700px){.sr-topbar{height:auto;min-height:68px}.sr-nav-wrap{position:relative;min-height:68px;width:calc(100% - 32px);gap:12px}.sr-menu-toggle{display:inline-flex;margin-left:auto}.sr-social{display:none}.sr-menu{position:absolute;z-index:50;top:calc(100% + 8px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:7px;background:var(--navy);border:1px solid rgba(201,169,110,.5);box-shadow:0 18px 38px rgba(0,0,0,.28)}.sr-menu.is-open{display:flex}.sr-menu a,.sr-menu a:nth-child(2),.sr-menu a:nth-child(3){display:block;padding:14px 15px;font-size:11px;letter-spacing:1.5px;border-bottom:1px solid rgba(255,255,255,.1)}.sr-menu a:last-child{border-bottom:0}.sr-menu a:focus-visible{outline:2px solid var(--gold-light);outline-offset:-2px}.sr-hero{min-height:0}.sr-hero img{content-visibility:auto}.sr-contact-panel{min-height:78px}.sr-footer{padding:38px 18px}}
@media(max-width:380px){.sr-brand{gap:9px}.sr-brand img{width:38px;height:38px}.sr-brand-title{font-size:16px}.sr-brand-tag{letter-spacing:2px}.sr-menu-toggle{padding:10px}.sr-menu-toggle-label{display:none}}
