/** Global layout and typography shared by all public templates. */
.sss-container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.sss-section{padding-block:var(--section-space)}.sss-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sss-skip-link{position:fixed;left:16px;top:-100px;z-index:10000;background:#fff;padding:12px 18px;border-radius:6px;box-shadow:var(--shadow-soft)}.sss-skip-link:focus{top:16px}.sss-site h1,.sss-site h2,.sss-site h3{line-height:1.08;letter-spacing:-.045em}.sss-site h1{font-size:clamp(3rem,6.7vw,6.6rem);font-weight:570;max-width:1100px}.sss-site h2{font-size:clamp(2.25rem,4.2vw,4.5rem);font-weight:560}.sss-site h3{font-size:clamp(1.35rem,2vw,2rem);font-weight:590}.sss-section-label,.sss-mini-label{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.sss-mini-label{display:block;margin-bottom:20px}.sss-eyebrow{display:flex;align-items:center;gap:12px;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sss-eyebrow span{width:36px;height:1px;background:var(--brand)}.sss-large-copy{font-size:clamp(1.18rem,1.6vw,1.5rem);line-height:1.55;color:var(--text-secondary)}.sss-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:clamp(3rem,6vw,5rem)}.sss-heading-row>div{max-width:820px}.sss-heading-row h2{margin-bottom:0}.sss-heading-row>p{max-width:350px;color:var(--text-secondary)}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}
.sss-btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 22px;border:1px solid var(--brand);border-radius:999px;background:var(--brand);color:#fff;font-size:.92rem;font-weight:650;transition:background .35s var(--ease),transform .35s var(--ease),border-color .35s}.sss-btn:hover{background:var(--brand-dark);border-color:var(--brand-dark);transform:translateY(-2px)}.sss-btn svg,.sss-text-link svg{transition:transform .35s var(--ease)}.sss-btn:hover svg,.sss-text-link:hover svg{transform:translateX(4px)}.sss-btn--small{min-height:44px;padding:9px 18px;font-size:.84rem}.sss-btn--light{background:#fff;border-color:#fff;color:var(--bg-dark)!important}.sss-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.sss-text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-weight:650;position:relative}.sss-text-link::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.sss-text-link:hover::after{transform:scaleX(1);transform-origin:left}
/* Sticky header is isolated from theme navigation and condenses after scroll. */
.sss-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);transition:height .4s var(--ease),background .4s,box-shadow .4s}.sss-header.is-scrolled{height:70px;background:rgba(243, 235, 218,.92);box-shadow:0 1px 0 rgba(23, 19, 10,.08);backdrop-filter:blur(14px)}.sss-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.sss-logo{display:inline-flex;align-items:center;gap:11px;font-weight:750;line-height:1;font-size:1.02rem;letter-spacing:-.02em}.sss-logo small{display:block;margin-top:4px;color:var(--text-secondary);font-size:.58rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.sss-logo__mark{display:grid;grid-template-columns:repeat(3,5px);align-items:end;gap:3px;width:21px;height:27px;padding:4px 2px;border:1px solid var(--brand);border-radius:3px}.sss-logo__mark i{display:block;background:var(--brand);height:9px}.sss-logo__mark i:nth-child(2){height:16px}.sss-logo__mark i:nth-child(3){height:12px}.sss-nav{display:flex;align-items:center;gap:34px}.sss-nav ul{display:flex;align-items:center;gap:30px;padding:0;margin:0;list-style:none}.sss-nav ul a{position:relative;display:flex;align-items:center;min-height:44px;font-size:.88rem;font-weight:570}.sss-nav ul a::after{content:"";position:absolute;bottom:7px;left:0;width:100%;height:1px;background:var(--brand);transform:scaleX(0);transition:transform .3s var(--ease)}.sss-nav ul a:hover::after,.sss-nav ul a[aria-current="page"]::after{transform:scaleX(1)}.sss-menu-toggle{display:none;border:0;background:none;width:46px;height:46px;padding:12px}.sss-menu-toggle span:not(.sss-sr-only){display:block;height:1px;background:currentColor;margin:7px 0;transition:transform .3s,opacity .3s}
/* Page hero establishes a consistent editorial opening on internal routes. */
.sss-page-hero{padding:clamp(10rem,18vw,14rem) 0 clamp(5rem,10vw,9rem);border-bottom:1px solid var(--border)}.sss-page-hero h1{max-width:1100px;margin:35px 0 60px}.sss-page-hero__copy{width:min(100%,600px);margin-left:auto;font-size:clamp(1.2rem,1.8vw,1.55rem);color:var(--text-secondary)}.sss-page-hero__copy .sss-btn{margin-top:20px}.sss-page-hero--detail h1{max-width:900px}.sss-breadcrumb{padding-top:calc(var(--header-h) + 42px);display:flex;gap:10px;font-size:.78rem;color:var(--text-secondary)}.sss-breadcrumb a:hover{color:var(--brand-dark)}
/* Footer content and contact details are globally editable from plugin settings. */
.sss-footer{padding:90px 0 30px;background:#161209;color:#efe4cd}.sss-footer__top{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.4fr;gap:60px;padding-bottom:70px}.sss-footer__top>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.sss-footer__top>div:first-child p{max-width:280px;margin-top:20px;color:#b38f41}.sss-footer__top p{color:#c2a056;font-size:.9rem}.sss-footer a{transition:color .25s}.sss-footer a:hover{color:#c9aa67}.sss-logo--footer .sss-logo__mark{border-color:#c19e51}.sss-logo--footer .sss-logo__mark i{background:#c19e51}.sss-logo--footer small{color:#b38f41}.sss-footer__label{margin-bottom:12px;color:#7e642d;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.sss-footer__bottom{display:flex;justify-content:space-between;padding-top:26px;border-top:1px solid #322710;color:#8a6e32;font-size:.75rem}.sss-footer__bottom span:last-child{display:flex;gap:24px}
