/* ==========================================================================
   Softly Written — theme styles
   Warm espresso + terracotta editorial. Playfair Display / Inter.
   ========================================================================== */

:root{
	--bg:#E3DCD3;
	--surface:#FFFDFB;
	--ink:#2E2724;
	--accent:#AA5B3C;
	--accent-ink:#8f4a30;
	--bg-light:#EAE2D5;
	--bg-section:#FAF7F2;
	--badge:#F2EDE4;
	--button:#453C38;
	--gold:#C5A880;
	--divider:#8A7A6B;
	--muted:#7C706A;
	--border:#EBDCCD;
	--white:#FFFFFF;

	--font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
	--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;

	--wrap:1200px;
	--pad:1.5rem;
	--shadow-card:0 1px 2px rgba(46,39,36,.05), 0 8px 24px -12px rgba(46,39,36,.18);
	--shadow-soft:0 1px 2px rgba(46,39,36,.05);
}

/* ---------- Reset-ish ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:var(--surface);
	color:var(--ink);
	font-family:var(--font-sans);
	font-size:16px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-ink)}
::selection{background:var(--accent);color:#fff}

:where(h1,h2,h3,h4,h5,h6){
	font-family:var(--font-serif);
	color:var(--ink);
	line-height:1.14;
	margin:0;
	font-weight:600;
}
p{margin:0 0 1rem}

.screen-reader-text{
	position:absolute!important;width:1px;height:1px;overflow:hidden;
	clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px;
}
.sw-skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--ink);color:#fff;padding:.6rem 1rem}
.sw-skip-link:focus{left:1rem;top:1rem;color:#fff}

.sw-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad);width:100%}

/* Scrollbar */
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--bg-light)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--divider)}

/* Placeholder blocks (missing images) */
.sw-ph{background:linear-gradient(135deg,var(--bg-light),var(--badge));display:block}

/* ---------- Buttons ---------- */
.sw-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
	font-family:var(--font-sans);font-size:.72rem;font-weight:700;
	text-transform:uppercase;letter-spacing:.15em;cursor:pointer;
	border:1px solid transparent;transition:all .3s ease;line-height:1;
}
.sw-btn--ghost{
	border-color:var(--accent);color:var(--accent);background:transparent;
	padding:.62rem 1.5rem;border-radius:0;
}
.sw-btn--ghost:hover{background:var(--accent);color:#fff}
.sw-btn--solid{
	background:var(--button);color:#fff;border-radius:12px;
	padding:.9rem 1.8rem;letter-spacing:.08em;
}
.sw-btn--solid:hover{background:var(--ink);color:#fff}

/* ---------- Eyebrows / rules / chips ---------- */
.sw-eyebrow{
	display:block;font-size:.68rem;font-weight:700;color:var(--accent);
	text-transform:uppercase;letter-spacing:.2em;
}
.sw-eyebrow--gold{color:var(--gold)}
.sw-rule{display:block;width:48px;height:2px;background:var(--divider);opacity:.4;margin:0 auto}
.sw-rule--card{width:48px;height:1.5px;margin:0 auto}
.sw-rule--left{margin:0}
.sw-chip{
	display:inline-block;background:var(--badge);color:var(--accent);
	font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
	padding:.35rem .9rem;border-radius:9999px;
}

/* ==========================================================================
   Navigation
   ========================================================================== */
.sw-nav{position:sticky;top:0;z-index:100;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.1)}
.sw-nav__inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.sw-nav__menu{display:flex;justify-content:center;flex:1}

.sw-brand{display:inline-flex;align-items:center;gap:.75rem}
.sw-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--gold);overflow:hidden;flex:none}
.sw-logo svg{position:relative;width:22px;height:22px}
.sw-logo__glow{position:absolute;inset:0;opacity:.4}
.sw-logo__glow::before,.sw-logo__glow::after{content:"";position:absolute;width:32px;height:32px;border-radius:50%;filter:blur(10px)}
.sw-logo__glow::before{top:-4px;left:-4px;background:#E5B299}
.sw-logo__glow::after{bottom:-4px;right:-4px;background:var(--gold)}
.sw-brand__text{display:flex;align-items:baseline;gap:.4rem}
.sw-brand__first{font-family:var(--font-serif);font-style:italic;font-size:1.5rem;color:#fff;letter-spacing:.02em}
.sw-brand__rest{font-family:var(--font-sans);font-weight:700;font-size:.62rem;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;padding-bottom:2px;border-bottom:1px solid rgba(197,168,128,.3)}
.sw-brand:hover .sw-brand__first{color:#f6e8d8}

.sw-menu{list-style:none;display:flex;align-items:center;gap:.4rem;margin:0;padding:0}
.sw-menu a{position:relative;display:block;padding:.5rem .75rem;color:#d3cdc7;font-size:.9rem;font-weight:600;letter-spacing:.01em;transition:color .2s}
.sw-menu a:hover{color:#fff}
.sw-menu .current-menu-item>a,.sw-menu .current_page_item>a{color:#fff;font-weight:700}
.sw-menu .current-menu-item>a::after,.sw-menu .current_page_item>a::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.15rem;height:2px;background:var(--bg);border-radius:2px}

.sw-nav__toggle{display:none;background:none;border:none;color:#d3cdc7;padding:.4rem;cursor:pointer;border-radius:8px}
.sw-nav__toggle:hover{color:#fff;background:rgba(255,255,255,.05)}
.sw-nav__toggle .sw-icon-close{display:none}
.sw-nav__toggle.is-open .sw-icon-menu{display:none}
.sw-nav__toggle.is-open .sw-icon-close{display:block}

.sw-nav__mobile{background:var(--ink);border-top:1px solid rgba(255,255,255,.1);padding:.5rem 1.5rem 1.5rem}
.sw-nav__mobile-label{color:#9a9089;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem;margin:0}
.sw-menu-mobile{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.sw-menu-mobile a{display:block;padding:.7rem .75rem;color:#d3cdc7;font-size:1rem;font-weight:500;border-radius:8px}
.sw-menu-mobile a:hover{color:#fff;background:rgba(255,255,255,.05)}
.sw-menu-mobile .current-menu-item>a{color:#fff;background:var(--button);font-weight:600}
.sw-nav__mobile-cta{margin-top:1rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}
.sw-mobile-subscribe{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;background:var(--accent);color:#fff;padding:.9rem 1rem;border-radius:12px;font-size:.92rem;font-weight:600;transition:background .2s}
.sw-mobile-subscribe:hover{background:var(--accent-ink);color:#fff}

.sw-main{display:block}

/* ==========================================================================
   Hero carousel
   ========================================================================== */
.sw-hero{padding-top:2.5rem}
.sw-hero__stage{position:relative;height:clamp(380px,60vw,600px);width:100%;overflow:hidden;background:var(--bg-light)}
.sw-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease}
.sw-hero__slide.is-active{opacity:1;visibility:visible}
.sw-hero__img{width:100%;height:100%;object-fit:cover}
.sw-hero__scrim{position:absolute;inset:0;background:rgba(0,0,0,.1)}
.sw-hero__card{
	position:absolute;inset:0;margin:auto;height:max-content;width:max-content;max-width:min(90%,720px);
	display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;
	background:#fff;padding:clamp(1.5rem,4vw,3rem) clamp(1.5rem,5vw,3.5rem);
	border:1px solid rgba(0,0,0,.05);transition:transform .3s ease;
}
.sw-hero__card:hover{transform:scale(1.006)}
.sw-hero__eyebrow{font-size:.72rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.25em}
.sw-hero__title{font-size:clamp(1.35rem,3.4vw,2.15rem);font-weight:500;color:var(--ink);line-height:1.18;max-width:36ch}
.sw-hero__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer;transition:background .2s;z-index:5}
.sw-hero__arrow:hover{background:rgba(0,0,0,.38)}
.sw-hero__arrow--prev{left:0}
.sw-hero__arrow--next{right:0}
.sw-hero__dots{display:flex;justify-content:center;align-items:center;gap:.6rem;margin-top:1.25rem}
.sw-hero__dot{width:8px;height:6px;background:#cfc6bb;border:none;cursor:pointer;padding:0;transition:all .3s}
.sw-hero__dot:hover{background:var(--divider)}
.sw-hero__dot.is-active{width:32px;background:var(--divider)}

/* ==========================================================================
   Sections
   ========================================================================== */
.sw-section{padding-block:clamp(2.5rem,6vw,4.5rem)}
.sw-section__head{text-align:center;margin-bottom:2.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.sw-section__title{font-size:clamp(1.7rem,3.4vw,2.25rem);font-weight:600}
.sw-section__title a{color:inherit;transition:color .2s}
.sw-section__title a:hover{color:var(--accent)}
.sw-section__title--dual .sw-amp{color:var(--divider);opacity:.6;font-weight:400;margin-inline:.5rem}

/* Grids */
.sw-grid{display:grid;gap:2rem}
.sw-grid--3{grid-template-columns:repeat(3,1fr)}

/* Card */
.sw-card{display:flex;flex-direction:column;height:100%}
.sw-card--center{text-align:center;align-items:center}
.sw-card__media{display:block;position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border);background:var(--bg-light);box-shadow:var(--shadow-soft)}
.sw-card__img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.sw-card:hover .sw-card__img{transform:scale(1.05)}
.sw-card__body{padding-top:1.1rem;display:flex;flex-direction:column;gap:.7rem;flex:1;width:100%}
.sw-card--center .sw-card__body{align-items:center}
.sw-card__title{font-size:1.2rem;font-weight:600;line-height:1.3}
.sw-card__title a{color:var(--ink);transition:color .2s}
.sw-card__title a:hover{color:var(--accent)}
.sw-card__excerpt{color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}
.sw-card__foot{margin-top:auto;padding-top:1rem}

/* Editorial splits */
.sw-splits{display:flex;flex-direction:column;gap:2.5rem}
.sw-split{
	display:grid;grid-template-columns:5fr 7fr;gap:2rem;align-items:center;
	background:rgba(250,247,242,.5);border:1px solid rgba(235,220,205,.5);
	padding:1.75rem;transition:background .3s,border-color .3s;
}
.sw-split:hover{background:rgba(250,247,242,.9);border-color:rgba(197,168,128,.4)}
.sw-split--reverse .sw-split__media{order:2}
.sw-split__media{position:relative;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--border);background:var(--bg-light)}
.sw-split__img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.sw-split:hover .sw-split__img{transform:scale(1.03)}
.sw-split__body{display:flex;flex-direction:column;gap:1rem;padding-inline:.5rem}
.sw-split__title{font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:600;line-height:1.25;color:var(--ink);transition:color .2s}
.sw-split:hover .sw-split__title{color:var(--accent)}
.sw-split__excerpt{color:var(--muted);font-size:.92rem;margin:0}
/* Keep the split CTA compact + left-aligned (not stretched by the flex column) */
.sw-split__body .sw-btn{align-self:flex-start}

/* Marquee */
.sw-marquee-section{padding-block:2rem}
.sw-marquee__title{text-align:center;font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:1.5rem}
.sw-marquee{position:relative;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sw-marquee__track{display:flex;align-items:center;gap:3rem;width:max-content;animation:sw-marquee 28s linear infinite}
.sw-marquee__item{font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:rgba(85,101,125,.45);text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;transition:color .3s}
.sw-marquee__item:hover{color:var(--ink)}
@keyframes sw-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   Newsletter band
   ========================================================================== */
.sw-newsletter{position:relative;background:var(--bg-section);border-top:1px solid rgba(235,220,205,.6);border-bottom:1px solid rgba(235,220,205,.6);padding-block:clamp(3rem,7vw,6rem);overflow:hidden}
.sw-newsletter__quote{position:absolute;font-family:var(--font-serif);font-size:12rem;line-height:1;color:rgba(138,122,107,.14);user-select:none;pointer-events:none}
.sw-newsletter__quote--open{top:0;left:1.5rem}
.sw-newsletter__quote--close{bottom:-3rem;right:1.5rem}
.sw-newsletter__inner{position:relative;z-index:2;max-width:640px;margin-inline:auto;padding-inline:var(--pad);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.sw-newsletter__badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);background:rgba(170,91,60,.06);border:1px solid rgba(170,91,60,.16);padding:.35rem .85rem;border-radius:9999px}
.sw-newsletter__title{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:300;line-height:1.2}
.sw-newsletter__title em{color:var(--accent);font-style:italic;font-weight:500}
.sw-newsletter__text{color:var(--muted);font-size:.98rem;max-width:34rem;margin:0}
.sw-newsletter__formwrap{width:100%;max-width:30rem}

/* Newsletter form (fallback + Fluent Forms harmonised) */
.sw-newsletter__form{display:flex;gap:.75rem;width:100%}
.sw-newsletter__form input[type=email]{flex:1;padding:.85rem 1.15rem;background:#fff;border:1px solid var(--border);color:var(--ink);font-family:var(--font-sans);font-size:.9rem;border-radius:12px;transition:border-color .2s}
.sw-newsletter__form input[type=email]:focus{outline:none;border-color:var(--accent)}
.sw-newsletter__form button{display:inline-flex;align-items:center;gap:.5rem;background:var(--button);color:#fff;border:none;padding:.85rem 1.6rem;font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border-radius:12px;cursor:pointer;transition:background .2s}
.sw-newsletter__form button:hover{background:var(--ink)}

/* Fluent Forms harmonisation inside the newsletter band — inline single row */
.sw-newsletter__formwrap .fluentform{margin:0}
.sw-newsletter__formwrap form fieldset{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:nowrap;border:none;margin:0;padding:0;min-inline-size:0}
.sw-newsletter__formwrap .ff-el-group{margin:0!important}
.sw-newsletter__formwrap .ff-el-group:not(.ff_submit_btn_wrapper){flex:1 1 auto;min-width:0}
.sw-newsletter__formwrap .ff_submit_btn_wrapper{flex:0 0 auto;width:auto}
/* Hide the field label to match the design (input keeps its aria-label) */
.sw-newsletter__formwrap .ff-el-input--label{display:none!important}
.sw-newsletter__formwrap .ff-el-input--content{margin:0}
.sw-newsletter__formwrap .ff-el-input--content input,
.sw-newsletter__formwrap input[type=email],
.sw-newsletter__formwrap input[type=text]{width:100%;margin:0;border-radius:12px!important;border:1px solid var(--border)!important;background:#fff!important;padding:.9rem 1.15rem!important;font-family:var(--font-sans)!important;font-size:.9rem!important;color:var(--ink)!important;box-shadow:none!important}
.sw-newsletter__formwrap .ff-el-input--content input:focus{border-color:var(--accent)!important;outline:none!important}
.sw-newsletter__formwrap .ff-btn-submit,
.sw-newsletter__formwrap button[type=submit]{background:var(--button)!important;border:none!important;border-radius:12px!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:700!important;font-size:.72rem!important;padding:.95rem 1.7rem!important;color:#fff!important;white-space:nowrap;cursor:pointer}
.sw-newsletter__formwrap .ff-btn-submit:hover{background:var(--ink)!important}
@media (max-width:640px){
	.sw-newsletter__formwrap form fieldset{flex-direction:column;align-items:stretch}
	.sw-newsletter__formwrap .ff_submit_btn_wrapper{width:100%}
	.sw-newsletter__formwrap .ff-btn-submit{width:100%}
}

/* ==========================================================================
   Single post
   ========================================================================== */
.sw-progress{position:fixed;top:0;left:0;right:0;height:4px;background:rgba(234,226,213,.6);z-index:200}
.sw-progress__bar{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ink),var(--accent),var(--gold));transition:width .08s linear}

.sw-single{padding-block:2.5rem 4rem;display:flex;flex-direction:column;gap:3rem}
.sw-single__toolbar{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem;box-shadow:var(--shadow-soft)}
.sw-back{display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;color:var(--accent)}
.sw-back:hover{color:var(--ink)}
.sw-back--mono{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.sw-back--mono:hover{color:var(--accent)}

.sw-single__card{width:100%;max-width:1024px;margin-inline:auto;background:#fff;border:1px solid var(--border);border-radius:40px;padding:clamp(1.5rem,5vw,4rem);display:flex;flex-direction:column;gap:2.5rem;box-shadow:var(--shadow-soft)}
.sw-single__head{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
/* Chip must hug its text, not stretch across the flex column */
.sw-single__head .sw-chip{align-self:flex-start;width:auto}
.sw-single__head .sw-single__title,
.sw-single__head .sw-byline{align-self:stretch;width:100%}
.sw-single__title{font-size:clamp(1.9rem,5vw,3rem);font-weight:700;line-height:1.12}
.sw-byline{display:flex;align-items:center;gap:.9rem;padding-top:1.25rem;border-top:1px solid rgba(235,220,205,.7)}
.sw-byline__avatar,.sw-byline .avatar{width:44px!important;height:44px!important;border-radius:50%!important;object-fit:cover;border:1px solid var(--border)}
.sw-byline__meta{display:flex;flex-direction:column;font-size:.85rem;line-height:1.35}
.sw-byline__name{font-weight:600;color:var(--ink)}
.sw-byline__role{color:var(--muted);font-size:.75rem;text-transform:capitalize}
.sw-single__hero{margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:32px}
.sw-single__heroimg{width:100%;height:100%;object-fit:cover}
.sw-single__lede{font-family:var(--font-serif);font-style:italic;font-size:1.2rem;line-height:1.6;color:var(--ink);border-left:4px solid var(--accent);padding:.25rem 0 .25rem 1.15rem;margin:0}
.sw-single__content{font-size:1rem;line-height:1.8;color:#3d352f}
.sw-single__content>*+*{margin-top:1.4rem}

.sw-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.sw-tags a{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--badge);padding:.3rem .8rem;border-radius:9999px}
.sw-tags a:hover{color:var(--accent)}

.sw-authorbox{display:flex;gap:2rem;align-items:flex-start;margin-top:1rem;padding:2rem;background:rgba(242,237,228,.35);border:1px solid var(--border);border-radius:24px}
.sw-authorbox__avatar,.sw-authorbox .avatar{width:96px!important;height:96px!important;object-fit:cover;flex:none;border:2px solid #fff;border-radius:16px;box-shadow:var(--shadow-soft)}
.sw-authorbox__body{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.sw-authorbox__body .sw-eyebrow{align-self:flex-start;width:auto}
.sw-authorbox__bio{align-self:stretch}
.sw-authorbox__name{font-size:1.4rem;font-weight:700}
.sw-authorbox__bio{color:var(--muted);font-size:.95rem;margin:0}

#sw-related{max-width:var(--wrap);margin-inline:auto}

/* ==========================================================================
   Archive / category
   ========================================================================== */
.sw-archive{padding-block:2.5rem 4rem;display:flex;flex-direction:column;gap:2.5rem}
.sw-archive__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem;flex-wrap:wrap}
.sw-archive__headmain{display:flex;flex-direction:column;gap:.6rem}
.sw-archive__title{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.01em}
.sw-archive__tagline{color:var(--muted);font-size:1rem;max-width:40rem;margin:0}
.sw-archive__badge{display:inline-block;background:var(--badge);color:var(--accent);border:1px solid var(--border);border-radius:9999px;font-size:.75rem;font-weight:600;padding:.4rem 1rem;white-space:nowrap}

/* Archive card */
.sw-acard{background:#fff;border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:box-shadow .3s,transform .3s;display:flex}
.sw-acard:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}
.sw-acard__link{display:flex;flex-direction:column;height:100%;color:inherit}
.sw-acard__media{aspect-ratio:4/3;overflow:hidden;background:var(--bg-light)}
.sw-acard__img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.sw-acard:hover .sw-acard__img{transform:scale(1.05)}
.sw-acard__body{padding:1.25rem 1.5rem .5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.sw-acard__title{font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--ink);transition:color .2s}
.sw-acard:hover .sw-acard__title{color:var(--accent)}
.sw-acard__excerpt{color:var(--muted);font-size:.9rem;margin:0}
.sw-acard__foot{padding:1rem 1.5rem;margin-top:auto;border-top:1px solid rgba(235,220,205,.5);display:flex;justify-content:flex-end}
.sw-readmore{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-size:.78rem;font-weight:600;transition:transform .2s}
.sw-acard:hover .sw-readmore{transform:translateX(3px)}
.sw-archive__search{min-width:240px}

/* Pagination */
.sw-pagination,.pagination{display:flex;justify-content:center;margin-top:1rem}
.sw-pagination .nav-links,.pagination .nav-links{display:flex;gap:.4rem;flex-wrap:wrap}
.sw-pagination a,.sw-pagination span,.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 .6rem;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;font-size:.9rem}
.sw-pagination a:hover,.pagination a:hover{border-color:var(--accent);color:var(--accent)}
.sw-pagination .current,.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

.sw-empty{text-align:center;color:var(--muted);padding:3rem 0}

/* ==========================================================================
   Static pages / prose
   ========================================================================== */
.sw-page{padding-block:3rem 4.5rem;max-width:820px}
.sw-page__head{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;margin-bottom:2.5rem}
.sw-page__title{font-size:clamp(2rem,5vw,3rem);font-weight:700}
.sw-page__subtitle{color:var(--muted);font-family:var(--font-serif);font-style:italic;font-size:1.1rem;max-width:40rem;margin:0}
.sw-page__hero{margin:0 0 2.5rem;aspect-ratio:16/9;overflow:hidden}
.sw-page__hero img{width:100%;height:100%;object-fit:cover}

.sw-prose{font-size:1.02rem;line-height:1.85;color:#463c35}
.sw-prose>*+*{margin-top:1.35rem}
.sw-prose h2{font-size:1.7rem;margin-top:2.5rem;font-weight:700}
.sw-prose h3{font-size:1.35rem;margin-top:2rem;font-weight:600}
.sw-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.sw-prose blockquote{margin:2rem 0;padding:.5rem 0 .5rem 1.5rem;border-left:4px solid var(--accent);font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--ink)}
.sw-prose ul,.sw-prose ol{padding-left:1.5rem}
.sw-prose li{margin:.5rem 0}
.sw-prose img{margin:2rem auto}
.sw-prose figure{margin:2rem 0}
.sw-prose code{background:var(--badge);padding:.15rem .4rem;border-radius:4px;font-size:.9em}
.sw-prose blockquote cite{display:block;margin-top:.75rem;font-family:var(--font-sans);font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}

/* About page (page-about.php) — wide editorial layout matching the mockup */
.sw-about{padding-block:3rem 4.5rem;display:flex;flex-direction:column;gap:2.5rem}
.sw-about__head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:52rem;margin-inline:auto}
.sw-about__badge{display:inline-block;background:var(--badge);color:var(--accent);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;padding:.4rem .95rem;border-radius:9999px}
.sw-about__title{font-size:clamp(2rem,5vw,3rem);font-weight:700}
.sw-about__subtitle{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--accent);line-height:1.4;margin:0}
.sw-about__subtitle strong{font-weight:600;font-style:italic}
.sw-about__body.sw-prose{color:var(--muted)}
.sw-about__body.sw-prose p{color:var(--muted)}
.sw-about__body.sw-prose h2{color:var(--ink);margin-top:2.5rem}
.sw-about__body.sw-prose>p:last-child em{color:var(--accent);font-style:italic}

/* Contact / Fluent Forms on pages */
.sw-prose .fluentform{margin-top:2rem}
.sw-prose .ff-el-group label,.fluentform .ff-el-input--label label{font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:700!important;color:var(--ink)!important}
.sw-prose .fluentform input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.sw-prose .fluentform textarea,
.sw-prose .fluentform select{border:1px solid var(--border)!important;border-radius:12px!important;background:rgba(242,237,228,.2)!important;padding:.85rem 1rem!important;font-family:var(--font-sans)!important;color:var(--ink)!important}
.sw-prose .fluentform input:focus,.sw-prose .fluentform textarea:focus{border-color:var(--accent)!important;background:#fff!important;outline:none!important}
.sw-prose .fluentform .ff-btn-submit{background:var(--button)!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:.9rem 1.9rem!important;text-transform:uppercase;letter-spacing:.06em;font-weight:600!important}
.sw-prose .fluentform .ff-btn-submit:hover{background:var(--ink)!important}

/* Contact page (page-contact.php) — matches the mockup form layout */
.sw-contact{padding-block:3rem 4.5rem;max-width:1000px;margin-inline:auto;display:flex;flex-direction:column;gap:2.75rem}
.sw-contact__head{text-align:center}
.sw-contact__title{font-size:clamp(1.9rem,4.5vw,2.7rem);font-weight:700}
.sw-contact-form .fluentform{margin:0}
.sw-contact-form form legend{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}
.sw-contact-form form fieldset{display:flex;flex-wrap:wrap;gap:1.5rem 1.25rem;border:none;margin:0;padding:0;min-inline-size:0}
.sw-contact-form .ff-el-group{flex:1 1 100%;margin:0;min-width:0}
.sw-contact-form .ff-el-group:has(input[name="names"]),
.sw-contact-form .ff-el-group:has(input[name="email"]){flex:1 1 calc(50% - .625rem)}
.sw-contact-form .ff-el-input--label{margin-bottom:.45rem}
.sw-contact-form .ff-el-input--label label{font-size:.68rem!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-weight:700!important;color:var(--ink)!important;display:inline-block}
.sw-contact-form .ff-el-input--content input:not([type=submit]),
.sw-contact-form .ff-el-input--content textarea{width:100%!important;border:1px solid var(--border)!important;border-radius:12px!important;background:rgba(242,237,228,.28)!important;padding:.95rem 1.15rem!important;font-family:var(--font-sans)!important;font-size:.92rem!important;color:var(--ink)!important;box-shadow:none!important}
.sw-contact-form .ff-el-input--content input:focus,
.sw-contact-form .ff-el-input--content textarea:focus{background:#fff!important;border-color:var(--accent)!important;outline:none!important}
.sw-contact-form .ff-el-input--content textarea{min-height:160px!important;resize:vertical!important}
.sw-contact-form .ff_submit_btn_wrapper{flex:1 1 100%;margin-top:.25rem}
.sw-contact-form .ff-btn-submit{display:inline-flex!important;align-items:center;gap:.6rem;background:var(--button)!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:.95rem 2rem!important;font-weight:600!important;font-size:.9rem!important;letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-soft);transition:background .2s,transform .1s}
.sw-contact-form .ff-btn-submit:hover{background:var(--ink)!important}
.sw-contact-form .ff-btn-submit:active{transform:translateY(1px)}
.sw-contact-form .ff-btn-submit::before{content:"";display:inline-block;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M2%2021l21-9L2%203v7l15%202-15%202z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M2%2021l21-9L2%203v7l15%202-15%202z'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:640px){
	.sw-contact-form .ff-el-group:has(input[name="names"]),
	.sw-contact-form .ff-el-group:has(input[name="email"]){flex:1 1 100%}
}

/* Legal / policy pages (template-legal.php) */
.sw-legal{max-width:880px;margin-inline:auto;padding-block:2.5rem 4.5rem;display:flex;flex-direction:column;gap:2rem}
.sw-legal__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.sw-legal__chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--badge);color:var(--muted);font-size:.72rem;font-weight:500;padding:.4rem .9rem;border-radius:9999px}
.sw-legal__chip svg{color:var(--accent)}
.sw-legal__head{display:flex;flex-direction:column;gap:.85rem}
.sw-legal__title{font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:700}
.sw-legal__subtitle{font-family:var(--font-serif);font-style:italic;font-size:clamp(1rem,2vw,1.2rem);color:var(--muted);margin:0;max-width:44rem}
.sw-legal-prose{color:var(--muted);font-size:.98rem;line-height:1.8}
.sw-legal-sec{padding-bottom:1.9rem;border-bottom:1px solid var(--border)}
.sw-legal-sec+.sw-legal-sec{padding-top:1.0rem}
.sw-legal-sec:last-child{border-bottom:none}
.sw-legal-sec>*+*{margin-top:1rem}
.sw-legal-prose h2{display:flex;align-items:center;gap:.6rem;font-size:1.12rem;font-weight:700;color:var(--ink);line-height:1.3}
.sw-legal-prose h2::before{content:"";width:5px;height:18px;background:var(--accent);border-radius:9999px;flex:none}
.sw-legal-prose p{color:var(--muted);margin:0}
.sw-legal-prose ul{list-style:none;padding-left:.25rem;margin:.4rem 0 0;display:flex;flex-direction:column;gap:.85rem}
.sw-legal-prose li{position:relative;padding-left:1.6rem;color:var(--muted);line-height:1.7}
.sw-legal-prose li::before{content:"\25C6";position:absolute;left:0;top:.15rem;color:var(--accent);font-size:.6rem}
.sw-legal-prose li strong{color:var(--ink);font-weight:600}

/* Search form */
.sw-searchform{display:flex;gap:.5rem}
.sw-searchform__input{flex:1;padding:.7rem 1rem;border:1px solid var(--border);background:#fff;border-radius:10px;font-family:var(--font-sans);color:var(--ink)}
.sw-searchform__input:focus{outline:none;border-color:var(--accent)}
.sw-searchform__btn{display:inline-flex;align-items:center;justify-content:center;width:44px;background:var(--button);color:#fff;border:none;border-radius:10px;cursor:pointer}
.sw-searchform__btn:hover{background:var(--ink)}

/* 404 */
.sw-404{padding-block:5rem 6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.2rem;max-width:640px}
.sw-404__title{font-size:clamp(4rem,12vw,7rem);font-weight:700;color:var(--accent);line-height:1}
.sw-404__text{color:var(--muted);max-width:32rem}
.sw-404__search{width:100%;max-width:24rem;margin-top:1rem}

/* Comments */
.sw-comments,.sw-commentarea{max-width:820px;margin-inline:auto;width:100%}
.sw-commentarea{padding-top:2rem;border-top:1px solid var(--border);margin-top:2.5rem}
.sw-commentarea__title{font-size:1.4rem;margin-bottom:1.5rem}
.sw-commentlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}
.sw-commentlist .children{list-style:none;padding-left:1.5rem;margin-top:1.25rem}
.sw-commentarea input:not([type=submit]):not([type=checkbox]),.sw-commentarea textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;font-family:var(--font-sans);background:#fff}
.sw-commentarea textarea:focus,.sw-commentarea input:focus{outline:none;border-color:var(--accent)}

/* ==========================================================================
   Footer
   ========================================================================== */
.sw-footer{background:var(--ink);color:#fff}
.sw-footer__inner{padding-block:4rem}
.sw-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.sw-footer .sw-brand__first{color:#fff}
.sw-footer__desc{color:#a49a92;font-size:.72rem;line-height:1.7;max-width:20rem;margin:1rem 0 0}
.sw-footer__social{display:flex;gap:.6rem;margin-top:1rem}
.sw-footer__social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s}
.sw-footer__social a:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.sw-footer__heading{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#fff;font-family:var(--font-sans);padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1.1rem}
.sw-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.sw-footer__links a{color:#efeae5;font-size:.9rem;font-weight:500}
.sw-footer__links a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

.sw-trust{display:flex;flex-direction:column;gap:.9rem}
.sw-trust__word{font-weight:800;font-size:1.1rem;letter-spacing:-.02em}
.sw-trust__sub{display:block;font-size:.58rem;color:#a49a92;text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem;font-weight:600}
.sw-trust__stars{display:flex;align-items:center;gap:.3rem}
.sw-trust__star{width:20px;height:20px;background:#00B67A;display:flex;align-items:center;justify-content:center;color:#fff}
.sw-trust__label{font-weight:700;margin-left:.3rem;font-size:.9rem}
.sw-trust__score{color:#a49a92;font-size:.8rem;margin:0}
.sw-trust__score strong{color:#fff}

.sw-appbadges{display:flex;flex-direction:column;gap:.75rem}
.sw-appbadge{display:flex;align-items:center;gap:.75rem;background:#0c0c0d;border:1px solid rgba(255,255,255,.1);padding:.65rem 1rem;color:#fff;transition:background .2s}
.sw-appbadge:hover{background:#000;color:#fff}
.sw-appbadge span{display:flex;flex-direction:column;line-height:1.2}
.sw-appbadge small{font-size:.55rem;text-transform:uppercase;letter-spacing:.06em;color:#a49a92}
.sw-appbadge strong{font-size:.85rem}

.sw-footer__bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.sw-footer__copy{color:#cfc7bf;font-size:.78rem;margin:0;text-align:center;font-weight:500}
.sw-footer__bottom>span{}
.sw-backtop{justify-self:end;display:inline-flex;align-items:center;gap:.5rem;background:#3a322e;border:none;color:#fff;padding:.55rem 1rem;border-radius:12px;cursor:pointer;font-size:.8rem;transition:background .2s;font-family:var(--font-sans)}
.sw-backtop:hover{background:var(--accent)}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
	.sw-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
	.sw-nav__menu{display:none}
	.sw-nav__toggle{display:inline-flex}
	.sw-grid--3{grid-template-columns:repeat(2,1fr)}
	.sw-split{grid-template-columns:1fr}
	.sw-split--reverse .sw-split__media{order:0}
}
@media (max-width:640px){
	.sw-grid--3{grid-template-columns:1fr}
	.sw-archive__head{align-items:flex-start}
	.sw-authorbox{flex-direction:column;align-items:center;text-align:center}
	.sw-footer__grid{grid-template-columns:1fr;gap:2.5rem}
	.sw-footer__bottom{grid-template-columns:1fr;justify-items:center}
	.sw-backtop{justify-self:center}
	.sw-newsletter__form{flex-direction:column}
	.sw-hero__card{max-width:92%}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
	.sw-marquee__track{animation:none}
	.sw-hero__slide{transition:none}
	*{scroll-behavior:auto!important}
	.sw-card__img,.sw-acard__img,.sw-split__img{transition:none}
}

/* No-JS: show all hero slides stacked so content is never hidden */
.no-js .sw-hero__slide{position:relative;opacity:1;visibility:visible}
.no-js .sw-hero__stage{height:auto}
.no-js .sw-hero__arrow,.no-js .sw-hero__dots{display:none}

/* ===== PDF-FIXES-MARKER ===== */
.sw-appbadge{cursor:default}
.sw-newsletter__fineprint{font-size:.72rem;color:var(--muted);margin:.35rem 0 0;text-align:center;line-height:1.5}
.sw-newsletter__fineprint a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.sw-newsletter__fineprint a:hover{color:var(--accent)}
.sw-newsletter__formwrap .ff-message-success,.sw-newsletter__formwrap .ff_submit_success{margin-top:.9rem;display:inline-block;background:rgba(170,91,60,.06);border:1px solid rgba(170,91,60,.16);color:var(--accent);font-size:.78rem;padding:.6rem 1.1rem;border-radius:12px;font-family:var(--font-sans)}
.sw-contact-form .ff-message-success,.sw-contact-form .ff_submit_success{margin-bottom:1.25rem;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:16px;padding:1rem 1.15rem;font-size:.88rem;line-height:1.5;font-family:var(--font-sans)}
.sw-contact-form .ff-message-success strong{color:#065f46;font-weight:700;font-size:.95rem;display:block;margin-bottom:.15rem}
/* ===== CONTACT-SUCCESS-LAYOUT ===== icon left, title+subtext stacked right */
.sw-contact-form .ff-message-success{position:relative;display:block;padding:1.15rem 1.35rem 1.15rem 3.3rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:16px;color:#065f46;font-family:var(--font-sans);box-shadow:none;margin-bottom:1.25rem}
.sw-contact-form .ff-message-success img{position:absolute!important;left:1.2rem;top:1.3rem;float:none!important;margin:0!important;width:22px!important;height:22px!important}
.sw-contact-form .ff-message-success p{margin:0!important}
.sw-contact-form .ff-message-success p+p{margin-top:.2rem!important;color:#047857;font-size:.87rem;line-height:1.55}
.sw-contact-form .ff-message-success strong{display:inline;font-weight:700;color:#065f46;font-size:.98rem}
.sw-newsletter__formwrap .ff-message-success p{margin:0}