@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;600;700&display=swap');
:root{--wine:#421c29;--wine2:#65293d;--ink:#2c2325;--paper:#faf7f2;--muted:#74656a;--gold:#b99b68;--line:#ddd4cc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3,blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.04}h1{font-size:clamp(3.4rem,6.4vw,6.7rem);letter-spacing:-.035em}h2{font-size:clamp(2.6rem,4.2vw,4.5rem);letter-spacing:-.025em}h3{font-size:1.85rem}em{font-weight:400;color:inherit}p{color:var(--muted)}p+p{margin-top:18px}.eyebrow{display:block;font-size:.75rem;letter-spacing:.18em;font-weight:600;margin-bottom:20px}.skip{position:absolute;top:-80px;left:16px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}header{height:108px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center;color:var(--wine);font-family:Georgia,serif;font-size:1rem;letter-spacing:.13em;line-height:1.3}.brand small{display:block;font-family:'DM Sans',sans-serif;letter-spacing:.48em;font-size:.65rem;margin-top:7px}.monogram{position:relative;font-family:'Cormorant Garamond',Georgia,serif;font-size:2.7rem;font-style:italic;letter-spacing:-.2em;width:45px;height:54px;line-height:1.1;border-bottom:1px solid var(--gold)}.monogram span{position:relative;top:8px;font-size:2.5rem}nav{display:flex;gap:34px;align-items:center;font-size:.88rem}nav a{position:relative;padding:10px 0}nav a[aria-current]:after{content:'';position:absolute;bottom:3px;height:1px;left:0;right:0;background:var(--wine)}nav a:last-child{border:1px solid #bdb0ad;padding:8px 25px}nav a:last-child:after{display:none}nav a:hover{color:var(--wine2)}.menu{display:none}.hero{position:relative;min-height:470px;background:#241519;overflow:hidden;color:#fff}.hero>img{position:absolute;height:100%;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,10,16,.86),rgba(31,12,17,.56) 45%,rgba(22,9,14,.08))}.hero-content{position:relative;z-index:1;padding:86px 8%;max-width:1000px}.hero .eyebrow{color:#e0c5a2}.hero p{max-width:430px;color:#e6dbd9;margin-top:26px;font-size:1.02rem;line-height:1.8}.hero em{color:#ecd3b4}.home-hero{min-height:650px}.home-hero .hero-content{padding-top:95px;padding-bottom:110px}.hero-caption{position:absolute;right:5%;bottom:27px;z-index:1;font-size:.65rem;letter-spacing:.17em;color:#e3d5c9}.actions{display:flex;gap:30px;align-items:center;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 28px;background:var(--wine);color:white;border:1px solid var(--wine);font-size:.87rem;font-weight:500;transition:background .2s,transform .2s;text-align:center}.button:hover{background:var(--wine2);transform:translateY(-2px)}.button.light{background:var(--paper);color:var(--wine);border-color:var(--paper)}.button.light:hover{background:#e8ddcf}.text-link{color:white;font-size:.88rem;border-bottom:1px solid #9f8d8b;padding-bottom:6px}.ribbon{display:flex;align-items:center;justify-content:center;gap:6%;background:var(--wine);color:#e5d6c7;padding:24px 6%;font-size:.73rem;letter-spacing:.15em}.ribbon i{font-style:normal;color:var(--gold)}.section{padding:95px 8%}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}.intro h2 em,.section h2 em{color:var(--wine2)}.intro p{max-width:520px}.underlink{display:inline-block;font-size:.88rem;border-bottom:1px solid var(--wine);padding-bottom:4px;margin-top:24px;color:var(--wine)}.split{display:grid;grid-template-columns:1fr 1fr;background:#efe9e1}.split-image{min-height:610px}.split-image img{height:100%}.split-copy{padding:65px 14% 60px 12%}.split-copy h2{margin-bottom:35px}.split-copy .button{margin-top:28px}.detail{display:flex;gap:22px;padding:22px 0;border-top:1px solid #d7ccc2}.detail>span{color:var(--wine2);font-size:.8rem;padding-top:4px}.detail h3{font-size:1.65rem;margin-bottom:10px}.detail p{font-size:.92rem;line-height:1.7}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:32px}.cards article>img{aspect-ratio:1.5}.cards article>div{padding:25px 0}.cards .eyebrow{font-size:.67rem;margin-bottom:12px}.cards h3{font-size:2.1rem;margin-bottom:15px}.cards p{max-width:440px}.cta{text-align:center;background:var(--wine);color:#f3e5d7;padding:78px 24px 85px}.cta .eyebrow{color:#ceb389}.cta h2{margin-bottom:32px}.foot-top{padding:60px 6%;display:grid;grid-template-columns:1fr .8fr 1.3fr;gap:40px;align-items:center}.foot-top p{font-family:Georgia,serif;color:var(--wine);font-size:1.2rem;line-height:1.5}.foot-top .eyebrow{margin-bottom:10px;font-size:.66rem}.email{font-size:.87rem;overflow-wrap:anywhere}.foot-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 6%;font-size:.76rem;color:var(--muted);gap:20px}.foot-bottom>div{display:flex;gap:24px}.inner-hero .hero-content{padding-top:80px;padding-bottom:90px}.inner-hero h1{font-size:clamp(3.4rem,5.5vw,5.8rem)}.quote{text-align:center;background:#efe9e1;padding:80px 24px}.quote blockquote{font-size:clamp(2rem,3.5vw,3.7rem);margin:25px 0;color:var(--wine);font-style:italic}.rule{display:block;width:55px;height:1px;background:var(--gold);margin:28px auto}.about-split{background:var(--paper);gap:7%;align-items:center}.about-split .split-copy{padding:20px 0}.about-split .split-image{min-height:0}.about-split img{aspect-ratio:1;object-fit:cover}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery-item{border:0;background:transparent;text-align:left;padding:0;color:var(--ink)}.gallery-item:first-child{grid-column:1/-1}.gallery-item img{aspect-ratio:1.3;transition:filter .2s}.gallery-item:first-child img{aspect-ratio:2.25}.gallery-item:hover img{filter:brightness(.86)}.gallery-item>span{display:block;position:relative;padding:22px 0}.gallery-item small{display:block;font-size:.68rem;letter-spacing:.16em;color:var(--muted);margin-bottom:6px}.gallery-item strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.gallery-item b{position:absolute;right:0;top:35px;font-size:1.4rem;font-weight:400}.gallery-note{font-size:.85rem;margin-top:30px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.contact-grid h2{margin-bottom:25px}.contact-detail{border-top:1px solid var(--line);margin-top:35px;padding-top:28px}.contact-detail .eyebrow{margin-bottom:10px}.contact-detail a{font-size:.9rem;overflow-wrap:anywhere;color:var(--wine)}.small{font-size:.82rem;line-height:1.7}.contact-grid .small{margin-top:20px}form{background:#f0eae3;padding:35px}form h3{margin-bottom:28px;font-size:2.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.85rem;margin-bottom:20px}input,textarea,select{display:block;width:100%;padding:13px 12px;border:1px solid #cfc1b6;background:var(--paper);border-radius:0;margin-top:8px;font-size:1rem;color:var(--ink)}textarea{resize:vertical}form .button{margin-top:23px}#form-status{font-size:.85rem;margin-top:14px}.page-login main{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.login-hero{min-height:670px}.login-hero .hero-content{padding:130px 13%}.login-panel{padding:95px 15%;align-self:center}.login-panel h2{font-size:3.3rem;margin-bottom:26px}.login-panel .button{width:100%;margin:30px 0 18px}.login-help{border-top:1px solid var(--line);padding-top:27px;margin-top:28px}.login-help h3{font-size:1.6rem;margin-bottom:12px}.login-help .underlink{margin:0}dialog{width:min(1100px,92vw);max-height:92vh;border:0;padding:18px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#130b10e8}dialog img{max-height:76vh;object-fit:contain}dialog p{padding:15px 8px 3px;font-family:Georgia,serif;font-size:1.2rem}.close{position:absolute;right:26px;top:26px;border:0;background:var(--paper);width:42px;height:42px;font-size:1.8rem;color:var(--wine)}
@media(min-width:1600px){header,.section,.hero-content,.foot-top,.foot-bottom{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}}
@media(max-width:900px){header{height:90px;padding:0 5%}nav{gap:20px}.brand{font-size:.84rem}.home-hero{min-height:610px}.hero-content{padding-left:7%;padding-right:7%}.section{padding:65px 6%}.intro{gap:6%}.split-copy{padding:45px 9%}.split-image{min-height:560px}.section-head h2{font-size:2.8rem}.foot-top{grid-template-columns:1fr 1fr}.foot-top>p{display:none}.contact-grid{gap:6%}form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.login-panel{padding:55px 9%}.login-panel h2{font-size:2.7rem}}
@media(max-width:650px){header{height:84px;position:relative;z-index:4}.menu{display:flex;align-items:center;gap:12px;background:none;border:0;font-size:.85rem;color:var(--wine)}.menu span{font-size:1.2rem}nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);box-shadow:0 14px 25px #2c10251a;padding:20px 6%;flex-direction:column;align-items:stretch;gap:8px}nav.open{display:flex}nav a{padding:10px}nav a[aria-current]:after{display:none}nav a[aria-current]{color:var(--wine2);font-weight:700}.hero-content{padding:70px 7%}.home-hero{min-height:625px}.home-hero .hero-content{padding-top:72px;padding-bottom:80px}.hero:after{background:linear-gradient(90deg,#1b0a10d9,#1b0a1080)}.hero>img{object-position:63% center}.hero p{max-width:320px;font-size:.96rem}.hero .eyebrow{font-size:.65rem}.hero-caption{left:7%;right:auto;font-size:.56rem}.actions{gap:25px;flex-wrap:wrap}.ribbon{gap:16px;padding:19px 15px;flex-wrap:wrap;font-size:.6rem;letter-spacing:.09em}.ribbon i{display:none}.section{padding:58px 7%}.intro,.split,.contact-grid{grid-template-columns:1fr;gap:30px}.intro h2{margin-bottom:0}.split{gap:0}.split-image{min-height:0}.split-image img{height:auto;aspect-ratio:1.1}.split-copy{padding:43px 7%}.section-head{align-items:start;flex-direction:column;gap:8px}.section-head .underlink{margin-top:12px}.cards{grid-template-columns:1fr;gap:24px}.cards article>div{padding-bottom:0}.cards p{font-size:.95rem}.cta{padding:60px 7%}.cta .eyebrow{font-size:.65rem}.foot-top{grid-template-columns:1fr;gap:32px;padding:45px 7%}.foot-bottom{flex-direction:column;padding:22px 7%;font-size:.7rem}.foot-bottom>div{gap:22px}.inner-hero{min-height:440px}.inner-hero .hero-content{padding:70px 7% 80px}.inner-hero h1{font-size:3.5rem}.about-split .split-copy{padding-top:25px}.quote{padding:55px 7%}.quote br{display:none}.gallery{grid-template-columns:1fr;gap:16px}.gallery-item:first-child img{aspect-ratio:1.3}.gallery-item strong{font-size:1.4rem}.contact-grid{gap:38px}form{padding:25px 20px}.form-row{grid-template-columns:1fr}.page-login main{display:block}.login-hero{min-height:330px}.login-hero .hero-content{padding:60px 7%}.login-hero h1{font-size:3.6rem}.login-hero .hero-caption{display:none}.login-panel{padding:55px 7%}.login-panel h2{font-size:3rem}.eyebrow{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Original brand and story catalogue additions */
.site-logo{display:block;width:clamp(150px,16vw,210px);height:auto;max-height:64px;object-fit:contain;object-position:left center}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.story-card{background:#f6eee4;border:1px solid rgba(66,28,41,.16);display:flex;flex-direction:column;overflow:hidden}
.story-card img{display:block;width:100%;aspect-ratio:120/175;object-fit:contain;background:#120b0e;padding:1rem}
.story-card div{padding:1.25rem}
.story-card h3{margin:.35rem 0 .6rem}
.story-card p{margin:0;color:#5e4a4d}
.story-card .eyebrow{color:#8c3041}
.story-note{margin-top:1.25rem;color:#6f5c5e;font-size:.85rem}
.login-link-panel{border-top:1px solid rgba(66,28,41,.18);margin-top:2rem;padding-top:1.5rem}
@media (max-width:800px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.story-grid{grid-template-columns:1fr}.site-logo{width:150px}}
/* Original Satin Sheets Stories logo treatment: white logo on red header and black footer */
header{background:#8f1f32;border-bottom-color:#681322}
header .brand{color:#fff}
header nav a{color:#fff}
header nav a[aria-current]:after{background:#edd9b4}
header nav a:last-child{border-color:#edd9b4}
header nav a:hover{color:#f3d7c7}
header .menu{color:#fff}
footer{background:#080607;color:#fff}
footer .foot-top p{color:#f3e5d7}
footer .foot-top .email,footer .foot-top a{color:#fff}
footer .foot-top .eyebrow{color:#d9b27d}
footer .foot-bottom{border-top-color:#34272b;color:#cdbfc2}
footer .foot-bottom a{color:#f3e5d7}
.site-logo{width:clamp(175px,18vw,230px);max-height:76px}
@media(max-width:520px){.site-logo{width:165px}}

/* Premium red-black header treatment and navigation refinements */
.site-header{position:relative;isolation:isolate;background:linear-gradient(118deg,#080607 0%,#17090e 34%,#56101f 68%,#9b2034 100%);border-bottom:1px solid #b94b5a;overflow:hidden}
.site-header:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 12% 20%,rgba(190,39,61,.42),transparent 38%),linear-gradient(90deg,transparent 0 58%,rgba(255,255,255,.04) 59%,transparent 60%)}
.site-header .brand{color:#fff;position:relative;z-index:1}
.site-header nav{position:relative;z-index:1}
.site-header nav a{color:#f06b75;font-weight:600;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.site-header nav a:hover{color:#fff}
.site-header nav a[aria-current]:after{background:#f0d4a9;height:2px}
.site-header nav a:last-child{border-color:#f06b75}
.site-header .menu{color:#fff;position:relative;z-index:1}
.login-button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 20px;background:#c52c46;color:#fff;border:1px solid #f08b91;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.22);transition:background .2s,transform .2s}
.login-button:hover{background:#ed4c63;color:#fff;transform:translateY(-2px)}
.premium-page .hero{border-top:1px solid rgba(240,107,117,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.premium-page .hero>img{filter:saturate(1.12) contrast(1.06) brightness(.82)}
.premium-page .hero:after{background:linear-gradient(90deg,rgba(8,6,7,.94),rgba(31,8,15,.66) 48%,rgba(112,14,32,.18)),linear-gradient(0deg,rgba(8,6,7,.55),transparent 35%)}
.premium-page .inner-hero,.premium-page .login-hero{min-height:520px}
.premium-page .hero-caption{color:#f1cfa5}
.premium-page .section-head h2 em,.premium-page .intro h2 em{color:#b82d46}
@media(max-width:900px){.site-header{height:94px}.login-button{padding:8px 14px;font-size:.72rem}}
@media(max-width:650px){.site-header{height:84px}.site-header nav{background:linear-gradient(145deg,#080607,#230b12 65%,#5d1324);border-top:1px solid #8f1f32;border-bottom:1px solid #8f1f32}.site-header nav a{color:#f06b75}.site-header nav a:hover,.site-header nav a[aria-current]{color:#fff}.site-header nav a:last-child{border-color:#f06b75}.login-button{min-height:38px;padding:7px 11px;font-size:.65rem;letter-spacing:.05em}.premium-page .inner-hero,.premium-page .login-hero{min-height:460px}}
/* The standalone Login control is the only header button; menu page links stay text links. */
.site-header nav a:last-child{border:0;padding:10px 0}
.site-header nav a:last-child:after{display:block}
@media(max-width:650px){.site-header nav a:last-child{border:0;padding:10px}}
/* Mobile menu fix: keep the full page list visible below the header. */
@media(max-width:650px){
  .site-header{overflow:visible;z-index:20}
  .site-header nav{z-index:30;max-height:calc(100vh - 84px);overflow-y:auto;overscroll-behavior:contain}
  .site-header nav.open{display:flex;visibility:visible;opacity:1}
  .site-header nav a{display:block;width:100%;min-height:42px}
}

/* Supplied original website imagery */
.original-featured .cards article>img{aspect-ratio:1.8;object-fit:cover}
.gallery-item img{object-fit:cover}
.inner-hero>img{object-position:center center}
.page-login .login-hero>img{object-position:center 30%}
