/* Ferrum service pages - hooks are the fws-* global classes, shared by every service page. */
body:has(.fws){background:#080808;}
body:has(.fws) .ct-container-full,body:has(.fws) .content-area{padding-top:0!important;padding-bottom:0!important;}
.fws{--ink:#080808;--cyan:#07d9e6;--teal:#2d8287;--pad:max(3rem,calc((100% - 104rem)/2));background:#080808;color:#fff;font-family:'Roboto',sans-serif;overflow:clip;}
body .fws.e-div-block-base,body .fws .e-div-block-base{padding:0;}
body .fws [data-element_type^="e-collection-loop"]{padding:0!important;}
.fws p,.fws a,.fws li{font-family:'Roboto',sans-serif;}
.fws :is(h1,h2,h3){font-family:'Cormorant Garamond',serif!important;font-weight:400!important;letter-spacing:-.025em;color:inherit!important;}
.fws a{color:inherit;}

/* Sections */
.fws-s{padding:8rem var(--pad)!important;background:#080808;color:#fff;}
.fws-light{background:#fff!important;color:#080808!important;}
.fws-grey{background:#f2f5f7!important;color:#080808!important;}
.fws-cyan{background:#07d9e6!important;color:#080808!important;}
.fws-label{display:block;font-size:.75rem;font-weight:500;letter-spacing:.14em;color:#07d9e6;margin-bottom:1.5rem!important;}
.fws-label::before{content:''!important;display:inline-block;width:1.75rem;height:1px;margin-right:.8rem;vertical-align:middle;background:currentColor;}
.fws-light .fws-label,.fws-grey .fws-label{color:#2d8287;}
.fws-cyan .fws-label{color:#080808;}
.fws-title{font-size:clamp(2.6rem,4.6vw,5.4rem)!important;line-height:1.02!important;}
.fws-copy{font-size:1.05rem;line-height:1.7;opacity:.78;}
.fws-head{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem 4rem;align-items:end;margin-bottom:4.5rem!important;}
.fws-head > p,.fws-head > a{justify-self:end;max-width:34rem;}

/* Buttons */
.fws .fws-btn,.fws .fws-btn-ghost{display:inline-flex!important;align-items:center;gap:.4rem;width:auto;padding:1.1rem 1.8rem!important;border-radius:20px!important;font:500 .95rem/1.2 'Roboto',sans-serif!important;text-decoration:none;transition:background .3s,color .3s,border-color .3s,transform .3s;}
.fws .fws-btn{background:#07d9e6!important;color:#080808!important;border:1px solid #07d9e6!important;}
.fws .fws-btn:hover{background:#fff!important;border-color:#fff!important;transform:translateY(-3px);}
.fws .fws-btn-ghost{background:transparent!important;color:inherit!important;border:1px solid currentColor!important;}
.fws .fws-btn-ghost:hover{background:#07d9e6!important;color:#080808!important;border-color:#07d9e6!important;transform:translateY(-3px);}
.fws-cyan .fws-btn{background:#080808!important;color:#fff!important;border-color:#080808!important;}
.fws-cyan .fws-option .fws-btn{background:#07d9e6!important;color:#080808!important;border-color:#07d9e6!important;}
.fws-cyan .fws-option .fws-btn:hover{background:#fff!important;border-color:#fff!important;}
.fws-actions{display:flex!important;flex-wrap:wrap;gap:1rem;margin-top:2.5rem!important;}
.fws-actions > *{width:auto;}

/* Hero with orbiting services */
.fws-hero{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4rem;align-items:center;min-height:min(52rem,92vh);padding-top:6rem!important;padding-bottom:5rem!important;isolation:isolate;}
.fws .fws-hero::before{content:''!important;position:absolute;width:42rem;aspect-ratio:1;right:-12rem;top:-14rem;z-index:-1;border-radius:50%;background:radial-gradient(circle,#07d9e633 0%,#07d9e600 65%);animation:fws-drift 14s ease-in-out infinite alternate;height:auto;}
.fws-crumbs{font-size:.8rem;color:#ffffff99;margin-bottom:2rem!important;}
.fws-crumbs a{color:#ffffffcc;text-decoration:none;}
.fws-crumbs a:hover{color:#07d9e6;}
.fws-crumbs span{margin:0 .6rem;color:#07d9e6;}
.fws-hero h1{font-size:clamp(3.2rem,6vw,7rem)!important;line-height:1!important;}
.fws-hero h1 span{display:block;color:#07d9e6;}
.fws-hero h1,.fws-lead,.fws-hero .fws-actions,.fws-crumbs{animation:fws-rise .9s cubic-bezier(.2,.7,.2,1) both;}
.fws-crumbs{animation-delay:0s}.fws-hero h1{animation-delay:.1s}.fws-lead{animation-delay:.25s}.fws-hero .fws-actions{animation-delay:.4s}
.fws-lead{max-width:36rem;margin-top:2rem!important;font-size:1.1rem;line-height:1.75;font-weight:300;color:#ffffffd9;}
.fws-orbit{width:100%;max-width:32rem;aspect-ratio:1;justify-self:center;animation:fws-fade 1.2s .3s both;}
.fws .fws-orbit::before{content:''!important;position:absolute;inset:6%;width:auto;height:auto;border:1px dashed #07d9e655;border-radius:50%;}
.fws .fws-orbit::after{content:''!important;position:absolute;inset:24%;width:auto;height:auto;border:1px solid #ffffff14;border-radius:50%;}
.fws-core{position:absolute!important;inset:33%;width:auto!important;height:auto;border-radius:50%!important;background:#07d9e6 url('/wp-content/uploads/2026/11/w-okregu-czarny-sygnet.svg') center/80% no-repeat;box-shadow:0 0 0 0 #07d9e666;animation:fws-pulse 3s ease-out infinite;}
.fws-ring{position:absolute!important;inset:6%;width:auto!important;height:auto;border-radius:50%!important;animation:fws-spin 36s linear infinite;}
.fws-orbit:hover .fws-ring,.fws-orbit:hover .fws-chip{animation-play-state:paused;}
.fws-chip{position:absolute!important;top:50%;left:50%;width:max-content!important;margin:0!important;padding:.6rem 1rem;border:1px solid #07d9e666;border-radius:999px;background:#0d1415;color:#fff;font-size:.82rem;font-weight:500;white-space:nowrap;--r:min(14rem,42vw);transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1));}
.fws-chip:nth-child(1){--a:0deg}.fws-chip:nth-child(2){--a:60deg}.fws-chip:nth-child(3){--a:120deg}.fws-chip:nth-child(4){--a:180deg}.fws-chip:nth-child(5){--a:240deg}.fws-chip:nth-child(6){--a:300deg}
/* Counter-rotate the label so it stays upright while the ring spins. */
.fws-chip{animation:fws-counter 36s linear infinite;}
.fws-chip:hover{background:#07d9e6;color:#080808;}

/* Ticker */
.fws-ticker{overflow:hidden;padding:1.3rem 0!important;border-block:1px solid #ffffff26;background:#080808;}
.fws-ticker .fws-track{display:flex!important;width:max-content!important;animation:fws-marquee 40s linear infinite;}
.fws-ticker p{display:flex!important;flex:none;white-space:nowrap;}
.fws-ticker span{display:inline-flex;align-items:center;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:#07d9e6;}
.fws-ticker span::after{content:'↗';margin:0 1.6rem;color:#ffffff66;}

/* 01 Service cards with cursor spotlight */
.fws-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.fws-card{display:flex!important;flex-direction:column;gap:1rem;min-height:24rem;padding:2.25rem!important;border:1px solid #0808081f;border-radius:20px!important;background:#fff;color:#080808!important;text-decoration:none!important;overflow:hidden!important;isolation:isolate;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .45s,color .45s,border-color .45s;}
.fws .fws-card::before{content:''!important;position:absolute;inset:0;width:auto;height:auto;z-index:-1;opacity:0;background:radial-gradient(22rem circle at var(--mx,50%) var(--my,50%),#07d9e640,transparent 60%);transition:opacity .35s;}
.fws-card:hover{background:#080808;color:#fff!important;border-color:#080808;transform:translateY(-8px);}
.fws .fws-card:hover::before{opacity:1;}
.fws-card .fws-num{font-family:'Cormorant Garamond',serif!important;font-size:4.5rem;line-height:.8;color:transparent;-webkit-text-stroke:1px #080808;transition:color .45s,-webkit-text-stroke-color .45s;}
.fws-card:hover .fws-num{color:#07d9e6;-webkit-text-stroke-color:#07d9e6;}
.fws-card h3{font-size:clamp(1.6rem,2vw,2.1rem)!important;line-height:1.1;margin-top:1rem;}
.fws-card .fws-copy{font-size:.95rem;}
.fws-tags{display:flex!important;flex-wrap:wrap;gap:.4rem;}
.fws-tags span{padding:.3rem .8rem;border:1px solid currentColor;border-radius:999px;font-size:.72rem;opacity:.6;transition:color .4s,border-color .4s,opacity .4s;}
.fws-card:hover .fws-tags span{color:#07d9e6;border-color:#07d9e6;opacity:1;}
.fws-more{margin-top:auto!important;padding-top:.5rem;font-size:.9rem;font-weight:500;}
.fws-card .fws-more{transition:transform .35s,color .35s;}
.fws-card:hover .fws-more{color:#07d9e6;transform:translateX(.4rem);}

/* 02 Process: sticky intro + timeline that fills while scrolling */
.fws-process{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5rem;align-items:start;}
.fws-sticky{position:sticky!important;top:8rem;}
.fws-sticky .fws-copy{max-width:28rem;margin-block:2rem 2.5rem!important;}
.fws-steps{--fill:0;display:flex!important;flex-direction:column;gap:3rem;padding-left:3.5rem!important;}
.fws .fws-steps::before,.fws .fws .fws-steps::after{content:''!important;position:absolute;left:.9rem;top:.5rem;bottom:.5rem;width:2px;height:auto;border-radius:2px;background:#ffffff1f;}
.fws-steps::after{background:linear-gradient(#07d9e6,#2d8287);transform-origin:top;transform:scaleY(var(--fill));}
.fws-step{padding:2rem!important;border:1px solid #ffffff1a;border-radius:20px!important;background:#0d0d0d;opacity:.45;transition:opacity .6s,border-color .6s,transform .6s cubic-bezier(.2,.7,.2,1);}
.fws .fws-step::before{content:''!important;position:absolute;left:-3.05rem;top:2.4rem;width:1rem;height:1rem;border-radius:50%;background:#080808;border:2px solid #ffffff40;transition:background .5s,border-color .5s,box-shadow .5s;}
.fws-step.is-in{opacity:1;border-color:#07d9e655;transform:translateX(.5rem);}
.fws .fws-step.is-in::before{background:#07d9e6;border-color:#07d9e6;box-shadow:0 0 0 6px #07d9e626;}
.fws-step .fws-num{font-size:.8rem;letter-spacing:.14em;color:#07d9e6;}
.fws-step h3{font-size:clamp(1.8rem,2.6vw,2.6rem)!important;margin:.5rem 0 .75rem;}

/* 03 Options */
.fws-split{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
.fws-option{display:flex!important;flex-direction:column;gap:1rem;padding:2.75rem!important;border-radius:24px!important;background:#080808;color:#fff;}
.fws-option + .fws-option{background:#ffffff40;color:#080808;border:1px solid #08080826;}
.fws-option .fws-label{margin-bottom:.5rem!important;color:#07d9e6;}
.fws-option + .fws-option .fws-label{color:#080808;}
.fws-option h3{font-size:clamp(1.9rem,2.8vw,2.8rem)!important;line-height:1.08;}
.fws-option ul{list-style:none;margin:1rem 0 1.5rem;padding:0;}
.fws-option li{position:relative;padding:.85rem 0 .85rem 2rem;border-bottom:1px solid currentColor;border-color:#ffffff1f;font-size:1rem;}
.fws-option + .fws-option .fws-option li{border-color:#08080826;}
.fws-option li::before{content:''!important;position:absolute;left:0;top:1.15rem;width:.9rem;height:.9rem;border-radius:50%;background:#07d9e6;}
.fws-option + .fws-option .fws-option li::before{background:#080808;}
.fws-option > a{align-self:flex-start;margin-top:auto;}
.fws-option + .fws-option .fws-btn-ghost{color:#080808!important;}

/* 04 Logos */
.fws-grey{padding-inline:0!important;}
.fws-grey .fws-head{padding-inline:var(--pad)!important;}
.fws-logos{display:flex!important;flex-direction:column;gap:1rem;padding:2.5rem 0!important;border-block:1px solid #0808081a;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.fws-logos .fws-track{display:flex!important;width:max-content!important;animation:fws-marquee 50s linear infinite;}
.fws-logos .fws-track + .fws-track{animation-direction:reverse;animation-duration:60s;}
.fws-logos:hover .fws-track{animation-play-state:paused;}
.fws-logo{flex:none;display:flex!important;align-items:center;justify-content:center;width:13rem!important;height:7rem;margin-right:1rem;padding:1.25rem 1.75rem!important;border-radius:20px!important;background:#fff;box-shadow:0 .25rem 1rem #0808080d;transition:transform .35s,box-shadow .35s;}
.fws-logo img{width:auto!important;max-width:100%!important;height:auto;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(1.15);opacity:.85;transition:filter .35s,opacity .35s;}
.fws-logo:hover{transform:translateY(-4px);box-shadow:0 .75rem 2rem #07d9e633;}
.fws-logo:hover img{filter:none;opacity:1;}

/* 05 FAQ */
.fws-faq{display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5rem;align-items:start;}
.fws-faq-list{border-top:1px solid #0808081f;}
.fws-faq-list > details{border-bottom:1px solid #0808081f;}
.fws-faq-list summary{display:flex!important;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.6rem 0!important;cursor:pointer;list-style:none;}
.fws-faq-list summary::-webkit-details-marker{display:none;}
.fws-faq-list summary p{font-family:'Cormorant Garamond',serif!important;font-size:clamp(1.35rem,1.9vw,1.8rem);line-height:1.2;transition:color .25s;}
.fws-faq-list summary::after{content:'+';flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid #0808082e;border-radius:50%;font-size:1.3rem;transition:transform .35s,background .25s,border-color .25s;}
.fws-faq-list summary:hover p{color:#2d8287;}
.fws-faq-list details[open] summary::after{transform:rotate(45deg);background:#07d9e6;border-color:#07d9e6;}
.fws-faq-list details > :not(summary){padding:0 4rem 1.75rem 0!important;animation:fws-rise .45s both;}

/* 06 Blog */
/* Elementor's loop layout sets its own grid columns with higher specificity. */
.fws .fws-posts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem!important;}
.fws-posts > *{display:flex!important;}
.fws-post{display:flex!important;flex-direction:column;width:100%;overflow:hidden!important;border:1px solid #ffffff1f;border-radius:20px!important;background:#0d0d0d;color:#fff!important;text-decoration:none!important;transition:border-color .35s,transform .35s cubic-bezier(.2,.7,.2,1);}
.fws-post:hover{border-color:#07d9e6;transform:translateY(-6px);}
.fws-post img{display:block;width:100%!important;aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.fws-post:hover img{transform:scale(1.04);}
.fws-post > div{position:relative;z-index:1;flex:1;display:flex!important;flex-direction:column;gap:1rem;padding:2rem!important;background:#0d0d0d;}
.fws .fws-post .fws-label::before{content:none!important;}
.fws .fws-post{padding:0!important;}
.fws-post h3{font-size:clamp(1.45rem,1.9vw,2.1rem)!important;line-height:1.12;}
.fws-post .fws-more{color:#07d9e6;}

/* Scroll reveal (class added by ferrum-services.js) */
.fws-reveal{opacity:0;translate:0 2.5rem;transition:opacity .8s cubic-bezier(.2,.7,.2,1),translate .8s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1),background .45s,color .45s,border-color .45s;transition-delay:calc(var(--i,0) * 90ms),calc(var(--i,0) * 90ms),0s,0s,0s,0s;}
.fws-reveal.is-in{opacity:1;translate:0 0;}

/* 4-up card grid (page types, local advantages) */
.fws .fws-grid4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* Hero visual: a browser mock-up that assembles itself, then resets */
.fws .fws-browser{position:relative;width:100%;max-width:34rem;aspect-ratio:4/3.1;justify-self:center;border:1px solid #ffffff1f;border-radius:20px!important;background:linear-gradient(160deg,#0f2b2d,#0b0f10 65%);overflow:visible;animation:fws-fade 1.2s .3s both;}
.fws .fws-browser-bar{position:absolute!important;inset:0 0 auto;height:2.4rem;border-bottom:1px solid #ffffff1a;}
.fws .fws-browser-bar::before{content:''!important;position:absolute;left:1rem;top:50%;width:.6rem;height:.6rem;border-radius:50%;background:#ff6b6b;box-shadow:1rem 0 0 #ffd166,2rem 0 0 #06d6a0;transform:translateY(-50%);}
.fws .fws-wire{position:absolute!important;width:auto!important;border-radius:10px!important;background:#ffffff14;transform-origin:left;animation:fws-build 9s cubic-bezier(.2,.7,.2,1) infinite;}
.fws .fws-wire:nth-of-type(2){left:6%;right:6%;top:13%;height:6%;animation-delay:0s;}
.fws .fws-wire:nth-of-type(3){left:6%;width:52%!important;top:25%;height:30%;background:linear-gradient(120deg,#07d9e6,#2d8287);animation-delay:.35s;}
.fws .fws-wire:nth-of-type(4){right:6%;width:30%!important;top:25%;height:30%;background:#ffffff26;animation-delay:.7s;}
.fws .fws-wire:nth-of-type(5){left:6%;width:27%!important;top:62%;height:28%;animation-delay:1.05s;}
.fws .fws-wire:nth-of-type(6){left:36.5%;width:27%!important;top:62%;height:28%;animation-delay:1.25s;}
.fws .fws-wire:nth-of-type(7){right:6%;width:27%!important;top:62%;height:28%;animation-delay:1.45s;}
.fws .fws-float{position:absolute!important;z-index:2;width:max-content!important;margin:0!important;padding:.6rem 1rem;border-radius:999px;background:#fff;color:#080808;font-size:.8rem;font-weight:500;box-shadow:0 1rem 2rem #0006;animation:fws-bob 6s ease-in-out infinite;}
.fws .fws-float:nth-last-child(3){top:18%;left:-1.5rem;}
.fws .fws-float:nth-last-child(2){bottom:16%;right:-1.25rem;background:#07d9e6;animation-delay:-2s;}
.fws .fws-float:nth-last-child(1){bottom:-1rem;left:12%;animation-delay:-4s;}

/* Hero visual for city pages: map grid with a pulsing pin */
.fws .fws-map{background:#0b1112;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-size:2.2rem 2.2rem;}
.fws .fws-map::before{content:''!important;position:absolute;inset:auto auto 18% 8%;width:70%;height:38%;border:2px solid #07d9e633;border-radius:46% 54% 40% 60%;transform:rotate(-8deg);}
.fws .fws-pin{position:absolute!important;left:50%;top:44%;width:1.4rem!important;height:1.4rem;border-radius:50% 50% 50% 0!important;background:#07d9e6;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 0 0 .35rem #080808;}
.fws .fws-pin::before,.fws .fws-pin::after{content:''!important;position:absolute;left:50%;top:50%;width:1.4rem;height:1.4rem;border:2px solid #07d9e6;border-radius:50%;transform:translate(-50%,-50%);animation:fws-ripple 2.6s ease-out infinite;}
.fws .fws-pin::after{animation-delay:1.3s;}
.fws .fws-pin-card{position:absolute!important;left:8%;bottom:10%;z-index:2;width:max-content!important;max-width:16rem;margin:0!important;padding:1rem 1.2rem;border:1px solid #07d9e655;border-radius:16px;background:#080808e6;color:#ffffffcc;font-size:.85rem;line-height:1.5;}
.fws .fws-pin-card b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:#fff;}
.fws .fws-map .fws-float:nth-last-child(3){top:12%;left:auto;right:-1rem;}
.fws .fws-map .fws-float:nth-last-child(2){bottom:auto;top:46%;right:-1.5rem;}
.fws .fws-map .fws-float:nth-last-child(1){bottom:auto;top:8%;left:10%;}

/* Package features */
.fws .fws-features{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;}
.fws .fws-feature{display:flex;flex-direction:column;gap:1.5rem;min-height:9rem;margin:0!important;padding:1.4rem;border-radius:18px;background:#ffffff59;color:#080808;font-size:1.05rem;font-weight:500;line-height:1.3;transition:background .35s,color .35s,transform .35s cubic-bezier(.2,.7,.2,1);}
.fws .fws-feature span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#080808;color:#07d9e6;font-size:.72rem;}
.fws .fws-feature:hover{background:#080808;color:#fff;transform:translateY(-6px);}
.fws .fws-feature:hover span{background:#07d9e6;color:#080808;}

/* Project tiles */
.fws .fws-projects{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.5rem;}
.fws .fws-project{display:flex!important;flex-direction:column;gap:1rem;color:#fff!important;text-decoration:none!important;}
.fws .fws-project img{display:block;width:100%!important;aspect-ratio:4/3;object-fit:cover;border-radius:20px;transition:transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .5s;}
.fws .fws-project > :first-child{width:100%;overflow:hidden;border-radius:20px;}
.fws .fws-project:hover img{transform:scale(1.05);box-shadow:0 1.5rem 3rem #07d9e626;}
.fws .fws-project p{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;}
.fws .fws-project b{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:500;}
.fws .fws-project span{font-size:.8rem;color:#ffffff99;text-align:right;}

/* Price block (city pages) */
.fws-cyan.fws-split{align-items:center;gap:4rem;}
.fws-cyan.fws-split .fws-title{margin-bottom:1.5rem!important;}
.fws-cyan.fws-split ul{list-style:none;margin:1.5rem 0 0;padding:0;}
.fws-cyan.fws-split li{position:relative;padding:.8rem 0 .8rem 2rem;border-bottom:1px solid #08080826;font-size:1.02rem;}
.fws-cyan.fws-split li::before{content:'';position:absolute;left:0;top:1.1rem;width:.9rem;height:.9rem;border-radius:50%;background:#080808;}
.fws .fws-price{display:flex!important;flex-direction:column;gap:1rem;padding:3rem!important;border-radius:28px!important;background:#080808;color:#fff;box-shadow:0 2rem 4rem #0803;}
.fws .fws-price .fws-label{margin-bottom:0!important;}
.fws .fws-price-tag{font-family:'Cormorant Garamond',serif!important;font-size:clamp(3.5rem,6vw,6rem);line-height:1;color:#07d9e6;}
.fws .fws-price-tag small{font-size:.35em;color:#ffffffb3;}
.fws .fws-price > a{align-self:flex-start;margin-top:.5rem;}
.fws-cyan .fws-price .fws-btn{background:#07d9e6!important;color:#080808!important;border-color:#07d9e6!important;}

/* City / link cards */
.fws .fws-cities{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.25rem;}
.fws .fws-city{display:flex!important;flex-direction:column;gap:.9rem;min-height:14rem;padding:2rem!important;border:1px solid #ffffff1f;border-radius:20px!important;background:#0d0d0d;color:#fff!important;text-decoration:none!important;transition:border-color .35s,transform .35s cubic-bezier(.2,.7,.2,1),background .35s;}
.fws .fws-city:hover{border-color:#07d9e6;background:#0f1a1b;transform:translateY(-6px);}
.fws .fws-city h3{font-size:clamp(1.7rem,2.2vw,2.3rem)!important;line-height:1.1;}
.fws .fws-city .fws-more{color:#07d9e6;}

@keyframes fws-build{0%{transform:scaleX(0);opacity:0}8%{opacity:1}14%{transform:scaleX(1)}86%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes fws-bob{0%,100%{translate:0 0}50%{translate:0 -.7rem}}
@keyframes fws-ripple{0%{width:1.4rem;height:1.4rem;opacity:.9}100%{width:7rem;height:7rem;opacity:0}}

/* Search-results mock-up: "your" result climbs to the top, the others slide down */
.fws .fws-serp{--slot:4.2rem;position:relative;width:100%;max-width:34rem;height:calc(5.2rem + 5 * var(--slot));justify-self:center;padding:1.2rem!important;border:1px solid #ffffff1f;border-radius:20px!important;background:linear-gradient(160deg,#0f2b2d,#0b0f10 65%);animation:fws-fade 1.2s .3s both;}
.fws .fws-serp-bar{display:flex;align-items:center;gap:.7rem;margin:0!important;padding:.85rem 1.1rem;border:1px solid #ffffff26;border-radius:999px;background:#080808;color:#fff;font-size:.9rem;}
.fws .fws-serp-bar::before{content:'';flex:none;width:.85rem;height:.85rem;border:2px solid #07d9e6;border-radius:50%;box-shadow:.35rem .35rem 0 -.28rem #07d9e6;}
.fws .fws-serp-row{position:absolute!important;left:1.2rem;right:1.2rem;top:calc(4.9rem + var(--i) * var(--slot));height:calc(var(--slot) - .55rem);margin:0!important;padding:.6rem 1rem;display:flex;flex-direction:column;justify-content:center;gap:.15rem;border:1px solid #ffffff14;border-radius:12px;background:#0d1415;animation:fws-serp-down 9s cubic-bezier(.65,0,.35,1) infinite;}
.fws .fws-serp-row b{font-size:.92rem;font-weight:500;color:#cfe9ff;}
.fws .fws-serp-row span{font-size:.72rem;color:#7fd1a0;}
.fws .fws-serp-row:nth-of-type(2){--i:0}.fws .fws-serp-row:nth-of-type(3){--i:1}.fws .fws-serp-row:nth-of-type(4){--i:2}.fws .fws-serp-row:nth-of-type(5){--i:3}
.fws .fws-serp-you{--i:4;z-index:2;border-color:#07d9e6!important;background:#0f2b2d!important;box-shadow:0 0 0 1px #07d9e6,0 1rem 2rem #07d9e626;animation-name:fws-serp-up!important;}
.fws .fws-serp-you b{color:#fff;}
.fws .fws-serp-you::after{content:'TOP 1'!important;position:absolute;right:.8rem;top:50%;padding:.3rem .6rem;border-radius:999px;background:#07d9e6;color:#080808;font-size:.68rem;font-weight:600;letter-spacing:.06em;transform:translateY(-50%) scale(0);animation:fws-serp-badge 9s cubic-bezier(.2,.7,.2,1) infinite;}
.fws .fws-case{align-self:center;}
.fws .fws-case .fws-copy{max-width:34rem;margin-block:1.5rem 2rem!important;}
@keyframes fws-serp-up{0%,18%{translate:0 0;opacity:1}38%,88%{translate:0 calc(var(--slot) * -4);opacity:1}96%{translate:0 calc(var(--slot) * -4);opacity:0}100%{translate:0 0;opacity:0}}
@keyframes fws-serp-down{0%,18%{translate:0 0}38%,88%{translate:0 var(--slot)}100%{translate:0 0}}
@keyframes fws-serp-badge{0%,38%{transform:translateY(-50%) scale(0)}46%,88%{transform:translateY(-50%) scale(1)}96%,100%{transform:translateY(-50%) scale(0)}}

/* Feature tiles with a short description; 3- and 4-column variants */
.fws .fws-feature b{font-weight:500;}
.fws .fws-feature em{display:block;margin-top:.4rem;font-style:normal;font-size:.85rem;font-weight:400;line-height:1.5;opacity:.75;}
.fws .fws-features3{grid-template-columns:repeat(3,minmax(0,1fr));}
.fws .fws-features4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* Hero visual: a deck of ad mock-ups that reshuffles */
.fws .fws-ads{position:relative;width:100%;max-width:32rem;aspect-ratio:1/1;justify-self:center;animation:fws-fade 1.2s .3s both;}
.fws .fws-ad{position:absolute!important;left:4%;bottom:6%;width:78%!important;height:56%;display:flex!important;flex-direction:column;justify-content:space-between;padding:1.6rem!important;border-radius:22px!important;background:#fff;color:#080808;box-shadow:0 2rem 3rem #0007;animation:fws-deck 10.5s cubic-bezier(.65,0,.35,1) infinite;}
.fws .fws-ad:nth-child(2){background:linear-gradient(140deg,#0f2b2d,#2d8287);color:#fff;animation-delay:-3.5s;}
.fws .fws-ad:nth-child(3){background:#07d9e6;animation-delay:-7s;}
.fws .fws-ad > p:first-child{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;opacity:.75;}
.fws .fws-ad > p:first-child::before{content:'';width:.55rem;height:.55rem;border-radius:50%;background:currentColor;}
.fws .fws-ad b{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:500;line-height:1.1;margin-bottom:1rem;}
.fws .fws-ad span{display:inline-block;padding:.55rem 1rem;border-radius:999px;background:#080808;color:#fff;font-size:.8rem;font-weight:500;}
.fws .fws-ad:nth-child(2) span{background:#07d9e6;color:#080808;}
.fws .fws-ad:nth-child(3) b::before{content:'▶';display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;margin-right:.6rem;border-radius:50%;background:#080808;color:#07d9e6;font-family:'Roboto',sans-serif;font-size:.8rem;vertical-align:middle;}
@keyframes fws-deck{
0%,26%{transform:translate(0,0) scale(1);z-index:3;filter:none}
33%,59%{transform:translate(18%,-56%) scale(.84);z-index:1;filter:brightness(.4)}
66%,92%{transform:translate(9%,-28%) scale(.92);z-index:2;filter:brightness(.7)}
100%{transform:translate(0,0) scale(1);z-index:3;filter:none}}

/* Hero visual: brand board - logo with construction rings, type specimen, colour palette */
.fws .fws-brand{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1.25fr 1fr;gap:1rem;width:100%;max-width:32rem;aspect-ratio:1/1;justify-self:center;padding:0!important;animation:fws-fade 1.2s .3s both;}
.fws .fws-brand-logo{grid-column:1/-1;position:relative;display:grid!important;place-items:center;align-content:center;margin:0;overflow:hidden;border:1px solid #ffffff1a;border-radius:22px;background:radial-gradient(circle at 50% 50%,#0f2b2d,#0b0d0d 70%);font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;text-align:center;color:#fff;}
.fws .fws-brand-logo b{display:block;font-weight:500;color:#07d9e6;}
.fws .fws-brand-logo::before,.fws .fws-brand-logo::after{content:''!important;position:absolute;left:50%;top:50%;width:13rem;height:13rem;margin:-6.5rem 0 0 -6.5rem;border:1px dashed #07d9e680;border-radius:50%;animation:fws-spin 24s linear infinite;pointer-events:none;}
.fws .fws-brand-logo::after{width:8.5rem;height:8.5rem;margin:-4.25rem 0 0 -4.25rem;border:1px solid #ffffff26;border-top-color:#07d9e6;animation-duration:9s;animation-direction:reverse;}
.fws .fws-brand-type{display:flex!important;flex-direction:column;justify-content:space-between;margin:0;padding:1.4rem!important;border-radius:22px;background:#fff;color:#080808;}
.fws .fws-brand-type b{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,6vw,5rem);font-weight:500;line-height:.9;}
.fws .fws-brand-type span{font-size:.75rem;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;opacity:.6;}
.fws .fws-brand-colors{display:grid!important;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;}
.fws .fws-brand-colors span{display:flex;align-items:flex-end;padding:.6rem;border-radius:16px;font-size:.65rem;font-weight:500;letter-spacing:.05em;animation:fws-swatch 6s ease-in-out infinite;}
.fws .fws-brand-colors span:nth-child(1){background:#07d9e6;color:#080808;}
.fws .fws-brand-colors span:nth-child(2){background:#2d8287;color:#fff;animation-delay:.4s;}
.fws .fws-brand-colors span:nth-child(3){background:#1a1d1d;color:#fff;border:1px solid #ffffff1a;animation-delay:.8s;}
.fws .fws-brand-colors span:nth-child(4){background:#f2f2f2;color:#080808;animation-delay:1.2s;}
@keyframes fws-swatch{0%,70%,100%{transform:none}80%{transform:translateY(-6px) scale(1.04)}}

/* Hero visual: camera viewfinder with a vertical reel playing inside */
.fws .fws-reel{position:relative;display:grid!important;place-items:center;width:100%;max-width:32rem;aspect-ratio:1/1;justify-self:center;padding:0!important;animation:fws-fade 1.2s .3s both;}
.fws .fws-reel::before{content:''!important;position:absolute;inset:4%;pointer-events:none;--c:#07d9e6;background:
linear-gradient(var(--c),var(--c)) top left/2.4rem 2px no-repeat,linear-gradient(var(--c),var(--c)) top left/2px 2.4rem no-repeat,
linear-gradient(var(--c),var(--c)) top right/2.4rem 2px no-repeat,linear-gradient(var(--c),var(--c)) top right/2px 2.4rem no-repeat,
linear-gradient(var(--c),var(--c)) bottom left/2.4rem 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/2px 2.4rem no-repeat,
linear-gradient(var(--c),var(--c)) bottom right/2.4rem 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/2px 2.4rem no-repeat;}
.fws .fws-reel-phone{position:relative;display:flex!important;flex-direction:column;justify-content:space-between;width:50%!important;aspect-ratio:9/16;padding:1rem 1rem 1.6rem!important;overflow:hidden;border:6px solid #1a1d1d;border-radius:30px!important;background:linear-gradient(160deg,#07d9e6,#2d8287 35%,#0f2b2d 65%,#080808);background-size:220% 220%;box-shadow:0 2rem 4rem #000a;animation:fws-scene 9s ease-in-out infinite alternate;}
.fws .fws-reel-phone::before,.fws .fws-reel-phone::after{content:''!important;position:absolute;left:1rem;bottom:.8rem;height:3px;border-radius:3px;}
.fws .fws-reel-phone::before{right:1rem;background:#ffffff40;}
.fws .fws-reel-phone::after{width:0;background:#fff;animation:fws-progress 8s linear infinite;}
.fws .fws-reel-rec{align-self:flex-start;display:flex;align-items:center;gap:.4rem;margin:0;padding:.3rem .65rem;border-radius:999px;background:#0009;color:#fff;font-size:.7rem;font-weight:500;letter-spacing:.06em;}
.fws .fws-reel-rec::before{content:''!important;width:.5rem;height:.5rem;border-radius:50%;background:#ff4d4d;animation:fws-blink 1.2s steps(2) infinite;}
.fws .fws-reel-cap{margin:0;color:#fff;}
.fws .fws-reel-cap b{display:block;font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500;line-height:1.1;margin-bottom:.3rem;}
.fws .fws-reel-cap span{font-size:.7rem;opacity:.8;}
.fws .fws-reel .fws-float:nth-last-child(3){top:16%;left:2%;}
.fws .fws-reel .fws-float:nth-last-child(2){bottom:22%;right:0;}
.fws .fws-reel .fws-float:nth-last-child(1){bottom:6%;left:10%;}
@keyframes fws-scene{to{background-position:100% 100%}}
@keyframes fws-progress{to{width:calc(100% - 2rem)}}
@keyframes fws-blink{50%{opacity:.15}}

/* Embedded showreel */
.fws .fws-video{width:100%!important;max-width:64rem;margin:0 auto;border:1px solid #ffffff1f;border-radius:22px!important;overflow:hidden;box-shadow:0 2rem 4rem #0008;}
.fws .fws-video iframe{display:block;width:100%;height:100%;border:0;}

/* Portfolio: hero stack of project screenshots */
.fws .fws-folio-stack{position:relative;width:100%;max-width:32rem;aspect-ratio:1/1;justify-self:center;padding:0!important;animation:fws-fade 1.2s .3s both;}
.fws .fws-folio-stack img{position:absolute;width:72%!important;height:auto;border:1px solid #ffffff1f;border-radius:18px;box-shadow:0 2rem 3rem #000a;animation:fws-bob 7s ease-in-out infinite;}
.fws .fws-folio-stack img:nth-child(1){top:4%;right:0;rotate:5deg;}
.fws .fws-folio-stack img:nth-child(2){top:26%;left:0;rotate:-6deg;animation-delay:-2.3s;}
.fws .fws-folio-stack img:nth-child(3){bottom:2%;right:8%;rotate:2deg;animation-delay:-4.6s;}

/* Portfolio: category filter */
.fws .fws-filter{display:flex!important;flex-wrap:wrap;gap:.6rem;margin:0 0 3rem!important;}
.fws .fws-filter a{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.15rem;border:1px solid #0808082e;border-radius:999px;color:#080808;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .25s,color .25s,border-color .25s;}
.fws .fws-filter a:hover{border-color:#07d9e6;}
.fws .fws-filter a.is-active{background:#080808;border-color:#080808;color:#fff;}
.fws .fws-filter sup{top:0;font-size:.7rem;opacity:.55;}

/* Portfolio: project cards (archive loop and related projects) */
.fws .fws-folio{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem!important;}
.fws .fws-folio [data-element_type="e-collection-loop-item"].is-hidden{display:none!important;}
.fws .fws-folio [data-element_type="e-collection-loop-item"].is-shown{animation:fws-rise .5s both;}
.fws .fws-folio-card{display:flex!important;flex-direction:column;height:100%;padding:0!important;overflow:hidden;border:1px solid #0808081a;border-radius:20px!important;background:#fff;color:#080808;text-decoration:none;transition:transform .35s,box-shadow .35s;}
.fws .fws-folio-card:hover{transform:translateY(-6px);box-shadow:0 1.5rem 3rem #0808081f;}
.fws .fws-folio-card img{display:block;width:100%!important;height:auto;aspect-ratio:940/788;object-fit:cover;transition:transform .6s;}
.fws .fws-folio-card:hover img{transform:scale(1.04);}
.fws .fws-folio-card > div{display:flex!important;flex-direction:column;gap:.45rem;flex:1;padding:1.4rem 1.5rem 1.6rem!important;}
.fws .fws-folio-card h3{margin:0;font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:500;line-height:1.15;}
.fws .fws-folio-type{margin:0;color:#2d8287;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.fws .fws-folio-card .fws-copy:empty,.fws .fws-hero .fws-lead:empty{display:none;}
.fws .fws-folio-card .fws-more{margin-top:auto;padding-top:.4rem;}

/* Portfolio single: screenshot, facts, description, previous / next */
.fws .fws-folio-shot{justify-self:center;width:100%;max-width:36rem;padding:.6rem!important;border:1px solid #ffffff1f;border-radius:26px!important;background:#ffffff0a;animation:fws-fade 1.2s .3s both;}
.fws .fws-folio-shot img{display:block;width:100%!important;height:auto;border-radius:18px;}
.fws .fws-folio-body{margin-top:clamp(1.75rem,3vw,2.5rem)!important;font-size:1.05rem;line-height:1.75;}
.fws section:has(> .fws-folio-nav){padding-top:0!important;border-top:0!important;}
.fws .fws-folio-body p{margin:0 0 1rem;}
.fws .fws-folio-body a,.fws .fws-folio-meta a{color:#2d8287;text-decoration:underline;text-underline-offset:3px;}
.fws .fws-folio-meta{display:flex!important;flex-direction:column;gap:0;padding:0!important;}
.fws .fws-folio-meta > div{padding:1.1rem 0!important;border-top:1px solid #08080817;}
.fws .fws-folio-meta > div .fws-label{margin:0 0 .3rem;}
.fws .fws-folio-meta > div .fws-copy{margin:0;font-family:'Cormorant Garamond',serif;font-size:1.5rem;line-height:1.2;color:#080808;opacity:1;}
.fws .fws-folio-meta .fws-btn{align-self:flex-start;margin-top:1.4rem;}
.fws .fws-folio-nav{display:grid!important;grid-template-columns:1fr 1fr;gap:1rem;margin:0;}
.fws .fws-folio-nav a{display:block;padding:1.6rem 1.8rem;border:1px solid #0808081a;border-radius:20px;background:#fff;color:#080808;font-family:'Cormorant Garamond',serif;font-size:1.45rem;line-height:1.2;text-decoration:none;transition:border-color .25s,transform .25s;}
.fws .fws-folio-nav a:last-child{text-align:right;}
.fws .fws-folio-nav a:hover{border-color:#07d9e6;transform:translateY(-3px);}
.fws .fws-folio-nav span{display:block;margin-bottom:.4rem;font-family:'Roboto',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;opacity:.55;}

/* Six link cards read better as 3 × 2 than 4 + 2 */
@media(min-width:1025px){.fws .fws-cities:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr));}}

/* Contact page: phone / e-mail / office cards in the hero */
.fws .fws-contact{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.5rem;padding:0!important;}
.fws .fws-contact-item{display:flex!important;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem!important;border:1px solid #ffffff1f;border-radius:18px!important;background:#ffffff08;color:#fff;text-decoration:none;transition:border-color .3s,transform .3s,background .3s;}
.fws .fws-contact-item:hover{border-color:#07d9e6;background:#07d9e60f;transform:translateY(-3px);}
.fws .fws-contact-item p{margin:0;}
.fws .fws-contact-item p:first-child{color:#07d9e6;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.fws .fws-contact-item p:last-child{font-size:.95rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere;}

/* About page: team photo in the hero */
.fws .fws-team-hero{position:relative;width:100%;max-width:40rem;justify-self:center;padding:0!important;animation:fws-fade 1.2s .3s both;}
.fws .fws-team-hero::before{content:''!important;position:absolute;left:8%;right:8%;bottom:4%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#07d9e659 0%,#07d9e600 68%);}
.fws .fws-team-hero img{position:relative;display:block;width:100%!important;height:auto;}

/* About page: team cards - black-and-white portraits on turquoise, colour on hover */
.fws .fws-team{display:flex!important;flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:0!important;}
.fws .fws-member{display:flex!important;flex-direction:column;flex:0 0 calc((100% - 4.5rem) / 4);overflow:hidden;padding:0!important;border:1px solid #ffffff1a;border-radius:22px!important;background:#0d0d0d;transition:border-color .35s,transform .35s;}
.fws .fws-member:hover{border-color:#07d9e6;transform:translateY(-6px);}
.fws .fws-member-photo{position:relative;aspect-ratio:4/5;overflow:hidden;padding:0!important;background:radial-gradient(circle at 50% 78%,#07d9e6 0%,#2d8287 48%,#0f2b2d 82%);}
.fws .fws-member-photo::after{content:''!important;position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(#0d0d0d00,#0d0d0d);pointer-events:none;}
.fws .fws-member-photo img{display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:50% 100%;filter:grayscale(1) contrast(1.05);transform-origin:50% 100%;transition:filter .6s,transform .8s cubic-bezier(.2,.7,.2,1);}
.fws .fws-member:hover .fws-member-photo img{filter:none;transform:scale(1.04);}
.fws .fws-member > div:last-child{display:flex!important;flex-direction:column;gap:.5rem;padding:.4rem 1.6rem 1.8rem!important;}
.fws .fws-member h3{margin:0;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;line-height:1;}
.fws .fws-member .fws-label::before{content:none!important;}
.fws .fws-member .fws-copy{margin:0;font-size:.92rem;}

/* Blog archive: the newest post is a wide feature card */
@media(min-width:1025px){
.fws .fws-posts.fws-blog{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;max-width:68rem;margin:0 auto!important;padding:0 2rem!important;}
.fws .fws-blog > :first-child{grid-column:1 / -1;}
.fws .fws-blog > :first-child .fws-post{flex-direction:row;}
.fws .fws-blog > :first-child .fws-post img{flex:0 0 50%;width:50%!important;height:auto;aspect-ratio:4/3;}
.fws .fws-blog > :first-child .fws-post > div{justify-content:center;gap:.8rem;padding:2.2rem 2.8rem!important;}
.fws .fws-blog > :first-child .fws-post h3{font-size:clamp(1.8rem,2.2vw,2.3rem)!important;}
}

/* Single post: readable article column on a light section */
body.single-post .fws .fws-hero h1{font-size:clamp(2.3rem,3.6vw,3.6rem)!important;line-height:1.08;}
.fws .fws-article{max-width:46rem;margin:0 auto!important;padding:0!important;color:#1b1b1b;font-size:1.1rem;line-height:1.8;}
.fws .fws-article p{margin:0 0 1.4rem;}
.fws .fws-article h2{margin:3rem 0 1rem;font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:500;line-height:1.15;color:#080808;}
.fws .fws-article h3{margin:2.2rem 0 .8rem;font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:500;color:#080808;}
.fws .fws-article a{color:#2d8287;text-decoration:underline;text-underline-offset:3px;}
.fws .fws-article ul,.fws .fws-article ol{margin:0 0 1.4rem;padding-left:1.4rem;}
.fws .fws-article li{margin-bottom:.5rem;}
.fws .fws-article blockquote{margin:2rem 0;padding:1.2rem 1.6rem;border-left:3px solid #07d9e6;background:#07d9e60f;border-radius:0 14px 14px 0;font-style:italic;}
.fws .fws-article img{max-width:100%;height:auto;border-radius:16px;}
.fws .fws-article > div > :first-child{margin-top:0;}

/* Long-form guide section: sticky heading left, readable text right */
.fws .fws-prose{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(2rem,5vw,6rem);align-items:start;}
.fws .fws-prose-body{display:flex!important;flex-direction:column;gap:2.6rem;padding:0!important;}
.fws .fws-prose-block{display:flex!important;flex-direction:column;gap:.9rem;padding:0 0 2.6rem!important;border-bottom:1px solid #0808081a;}
.fws .fws-prose-block:last-child{border-bottom:0;padding-bottom:0!important;}
.fws .fws-prose-block h3{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.2vw,2.1rem);font-weight:500;line-height:1.15;color:#080808;}
.fws .fws-prose-block .fws-copy{margin:0;font-size:1.02rem;line-height:1.8;color:#2a2a2a;}
.fws .fws-prose-block .fws-copy a{color:#2d8287;text-decoration:underline;text-underline-offset:3px;}
.fws .fws-prose-block .fws-list{margin:0;}
.fws .fws-prose-block ul{list-style:none;margin:0;padding:0;}
.fws .fws-prose-block li{position:relative;padding:.5rem 0 .5rem 1.8rem;font-size:1rem;line-height:1.6;color:#2a2a2a;}
.fws .fws-prose-block li::before{content:''!important;position:absolute;left:0;top:1rem;width:.6rem;height:.6rem;border-radius:50%;background:#07d9e6;}

/* Single post: author box under the article */
.fws .fws-author{display:grid!important;grid-template-columns:180px minmax(0,1fr);gap:2rem;align-items:center;max-width:46rem;margin:0 auto!important;padding:2rem!important;border:1px solid #0808081a;border-radius:24px!important;background:#fff;}
.fws .fws-author .fws-member-photo{width:180px;aspect-ratio:1;border-radius:50%!important;}
.fws .fws-author .fws-member-photo img{filter:none;object-position:50% 8%;}
.fws .fws-author .fws-member-photo::after{content:none!important;}
.fws .fws-author h3{margin:0;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;color:#080808;}
.fws .fws-author .fws-copy{margin:.3rem 0 0;color:#2a2a2a;}
.fws .fws-author .fws-label::before{content:none!important;}
.fws .fws-author .fws-more a{color:#2d8287;}
.fws section:has(> .fws-author){padding-top:0!important;}

@keyframes fws-rise{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}
@keyframes fws-fade{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes fws-spin{to{transform:rotate(360deg)}}
@keyframes fws-counter{from{transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1))}to{transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1 - 360deg))}}
@keyframes fws-pulse{0%{box-shadow:0 0 0 0 #07d9e666}80%,100%{box-shadow:0 0 0 2.5rem #07d9e600}}
@keyframes fws-drift{to{transform:translate(-6rem,5rem) scale(1.15)}}
@keyframes fws-marquee{to{transform:translateX(-50%)}}

@media(max-width:1024px){
.fws-s{padding:5.5rem 2rem!important;}
.fws-grey{padding-inline:0!important;}.fws-grey .fws-head{padding-inline:2rem!important;}
.fws-hero{grid-template-columns:1fr;min-height:0;gap:3rem;}
.fws-orbit{max-width:26rem;}
.fws-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.fws .fws-grid4{grid-template-columns:repeat(2,minmax(0,1fr));}
.fws .fws-features{grid-template-columns:repeat(3,minmax(0,1fr));}
.fws .fws-features4{grid-template-columns:repeat(2,minmax(0,1fr));}
.fws .fws-prose{grid-template-columns:1fr;}
.fws .fws-member{flex-basis:calc((100% - 1.5rem) / 2);}
.fws .fws-folio{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.fws-cyan.fws-split{grid-template-columns:1fr;gap:2.5rem;}
.fws-process,.fws-faq{grid-template-columns:1fr;gap:3rem;}
.fws-sticky{position:relative!important;top:auto;}
.fws .fws-posts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.fws-posts > :nth-child(3){display:none!important;}
}
@media(max-width:767px){
.fws-s{padding:4.5rem 1.25rem!important;}
.fws-grey .fws-head{padding-inline:1.25rem!important;}
.fws-head{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem!important;}
.fws-head > p,.fws-head > a{justify-self:start;}
.fws-hero{padding-top:3rem!important;}
.fws-orbit{max-width:20rem;}
.fws-chip{--r:8.4rem;font-size:.7rem;padding:.45rem .75rem;}
.fws-grid,.fws-split{grid-template-columns:1fr;}
.fws .fws-grid4{grid-template-columns:1fr;}
.fws .fws-features{grid-template-columns:repeat(2,minmax(0,1fr));}
.fws .fws-features3{grid-template-columns:1fr;}
.fws .fws-author{grid-template-columns:1fr;text-align:center;}
.fws .fws-author .fws-member-photo{margin:0 auto;width:140px;}
.fws .fws-member{flex-basis:100%;}
.fws .fws-contact{grid-template-columns:1fr;}
.fws .fws-folio{grid-template-columns:1fr!important;}
.fws .fws-folio-nav{grid-template-columns:1fr;}
.fws .fws-folio-nav a:last-child{text-align:left;}
.fws .fws-filter{flex-wrap:nowrap;overflow-x:auto;margin-right:-1.25rem;padding-right:1.25rem;scrollbar-width:none;}
.fws .fws-filter a{flex:none;}
.fws .fws-ad{padding:1.2rem!important;}
.fws .fws-feature{min-height:0;font-size:.92rem;hyphens:auto;-webkit-hyphens:auto;}
.fws .fws-float{font-size:.7rem;}
.fws .fws-float:nth-last-child(3){left:-.5rem;}
.fws .fws-float:nth-last-child(2){right:-.5rem;}
.fws .fws-map .fws-float:nth-last-child(3),.fws .fws-map .fws-float:nth-last-child(2){right:-.25rem;}
.fws .fws-price{padding:2rem!important;}
.fws .fws-serp{--slot:3.8rem;padding:1rem!important;}
.fws .fws-serp-row{left:1rem;right:1rem;top:calc(4.5rem + var(--i) * var(--slot));padding:.5rem .8rem;}
.fws .fws-serp-row b{font-size:.82rem;}
.fws .fws-pin{top:30%;}
.fws .fws-pin-card{bottom:7%;left:6%;font-size:.78rem;}
.fws .fws-pin-card b{font-size:1.25rem;}
.fws .fws-posts{grid-template-columns:1fr!important;}
.fws-posts > :nth-child(3){display:flex!important;}
.fws-card{min-height:0;padding:1.75rem!important;}
.fws-option{padding:2rem!important;}
.fws-steps{padding-left:2.75rem!important;gap:1.5rem;}
.fws-step::before{left:-2.35rem;}
.fws-step.is-in{transform:none;}
.fws-faq-list details > :not(summary){padding-right:0!important;}
.fws-logo{width:10rem!important;height:5.5rem;padding:1rem 1.25rem!important;margin-right:.75rem;border-radius:16px;}
}
@media(prefers-reduced-motion:reduce){
.fws *,.fws *::before,.fws *::after{animation:none!important;transition:none!important;}
.fws-reveal{opacity:1;translate:none;}
.fws-step{opacity:1;}
}
