/* Strand Systems theme styles. Generated from the approved design. */
@font-face{font-family:'Libre Caslon Text';src:url('../fonts/LibreCaslonText-Variable.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url('../fonts/LibreFranklin-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#FFFFFF;font-family:'Libre Franklin',Arial,sans-serif;color:#4A4A4A;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto}
section[id]{scroll-margin-top:24px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}
.ss-skip:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:#FFFFFF;color:#111111;padding:10px 16px;border-radius:4px}
a:focus-visible,button:focus-visible{outline:2px solid #B23C0C;outline-offset:3px}

/* ---- from the design ---- */
a{color:#B23C0C}a:hover{color:#8E3009}
@keyframes ssUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes ssFade{from{opacity:0}to{opacity:1}}
@keyframes ssDraw{to{stroke-dashoffset:0}}
@keyframes ssTravel{0%{top:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:100%;opacity:0}}
@keyframes ssPulse{0%,100%{box-shadow:0 0 0 0 rgba(178,60,12,.35)}50%{box-shadow:0 0 0 8px rgba(178,60,12,0)}}
.ss-up{animation:ssUp .9s cubic-bezier(.2,.7,.2,1) both}
.ss-d1{animation-delay:.08s}.ss-d2{animation-delay:.2s}.ss-d3{animation-delay:.32s}.ss-d4{animation-delay:.44s}
.ss-step{animation:ssUp .7s cubic-bezier(.2,.7,.2,1) both}
.ss-s1{animation-delay:.7s}.ss-s2{animation-delay:1.0s}.ss-s3{animation-delay:1.3s}.ss-s4{animation-delay:1.6s}.ss-s5{animation-delay:1.9s}
@keyframes ssFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,20px)}}
.ss-bg{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(17,17,17,.09) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 75% 45%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 75% 45%,#000 20%,transparent 75%);animation:ssFade 1.6s ease .1s both}
.ss-glow{position:absolute;width:620px;height:620px;right:-140px;top:-160px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(178,60,12,.10),rgba(178,60,12,0) 65%);animation:ssFade 2s ease both,ssFloat 14s ease-in-out 2s infinite}
.ss-dot{position:absolute;left:-4px;width:9px;height:9px;border-radius:50%;animation:ssTravel 3.2s ease-in-out 2.2s infinite}
.ss-live{animation:ssPulse 2.4s ease-out infinite}
.ss-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.ss-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(17,17,17,.09);border-color:#D8C9BF}
.ss-dark-card{transition:transform .28s ease,background .28s ease}
.ss-dark-card:hover{transform:translateY(-4px);background:#232323}
.ss-btn{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.ss-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(178,60,12,.25)}
.ss-link-arrow{transition:transform .2s ease;display:inline-block}
.ss-card:hover .ss-link-arrow{transform:translateX(4px)}
@supports (animation-timeline: view()){
.ss-reveal{animation:ssUp linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
}
@media (prefers-reduced-motion: reduce){
*{animation:none !important;transition:none !important}
.ss-dot{display:none}
}

/* ---- inner pages (About, Contact, posts) ---- */
.ss-page-head{background:#F4F4F2}
.ss-page-head .ss-wrap{max-width:1180px;margin:0 auto;padding:80px 24px 64px}
.ss-page-head h1{margin:0;font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;font-size:48px;line-height:1.12;color:#111111}
.ss-content{max-width:780px;margin:0 auto;padding:64px 24px 96px}
.ss-content h2,.ss-content h3,.ss-content h4{font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;color:#111111;line-height:1.2}
.ss-content h2{font-size:34px;margin:48px 0 16px}
.ss-content h3{font-size:24px;margin:36px 0 12px}
.ss-content p,.ss-content ul,.ss-content ol{margin:0 0 20px}
.ss-content a{color:#B23C0C}
.ss-content .wp-block-button__link,.ss-content button,.ss-content input[type=submit]{background:#B23C0C;color:#FFFFFF;border:0;border-radius:4px;padding:14px 24px;font-family:'Libre Franklin',Arial,sans-serif;font-weight:600;font-size:16px;cursor:pointer;text-decoration:none}
.ss-content .wp-block-button__link:hover,.ss-content button:hover,.ss-content input[type=submit]:hover{background:#8E3009;color:#FFFFFF}
.ss-content input[type=text],.ss-content input[type=email],.ss-content input[type=tel],.ss-content textarea,.ss-content select{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid #CFCFCB;border-radius:4px;background:#FFFFFF;color:#111111}
.ss-content blockquote{margin:32px 0;padding:0 0 0 24px;border-left:3px solid #B23C0C;font-family:'Libre Caslon Text',Georgia,serif;font-size:22px;color:#111111}
.ss-post-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:32px}
.ss-post-list h2{margin:0 0 6px;font-size:28px}
.ss-post-list h2 a{color:#111111;text-decoration:none}
.ss-meta{font-size:14px;color:#6B6B6B}

.ss-tel{white-space:nowrap}
@media (max-width:640px){
.ss-page-head h1{font-size:36px}
header nav a:not(.ss-btn){display:none !important}
h1[class~="ss-up"]{font-size:42px !important}
}
