:root{--ink:#141b18;--dark:#111917;--dark2:#1b2621;--cream:#f2f0e8;--paper:#fcfbf7;--muted:#69726b;--red:#ed4a3e;--line:#d9ddd4;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ee674d;outline-offset:4px}p{margin:0 0 20px;color:var(--muted)}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.1;letter-spacing:-.055em}h1{font-size:clamp(46px,6.2vw,90px)}h2{font-size:clamp(34px,3.8vw,56px)}h3{font-size:27px;letter-spacing:-.035em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}small{font-size:12px}hr{border:0;border-top:1px solid var(--line);margin:28px 0}strong,b{font-weight:700}.container{max-width:1320px;margin:0 auto;padding:0 56px}.narrow{max-width:1040px}.section{padding:102px 0}.cream{background:var(--cream)}.eyebrow{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.19em;line-height:1.5;font-weight:700;margin-bottom:24px}.eyebrow>span{display:inline-block;width:18px;height:2px;background:var(--red);flex:none}.micro{font-size:10px;letter-spacing:.15em;font-weight:700;line-height:1.6}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:46px}.section-head>p{max-width:340px;margin:0}.section-head .eyebrow{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;border:1px solid transparent;border-radius:var(--radius);font-size:13px;line-height:1.5;font-weight:700;transition:transform .18s,background .18s;min-height:54px}.button:hover{transform:translateY(-2px)}.button span{font-size:20px;font-weight:400;line-height:1}.button-red{background:var(--red);color:#111917}.button-red:hover{background:#ff6756}.button-light{background:var(--cream);color:var(--ink)}.button-outline{border-color:var(--ink);color:var(--ink);background:transparent}.quiet-link,.text-link{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:18px;line-height:1.6}.text-link{border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link:hover{color:#bd3027}.fineprint{font-size:11px;line-height:1.8}.lead{font-size:19px;line-height:1.7;max-width:760px}.big-paragraph{font-size:23px;line-height:1.45;color:var(--ink);letter-spacing:-.025em}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.two-column h2{margin-bottom:28px}.two-column .button{margin-top:10px}.backlink{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:36px}.skip-link{position:fixed;top:-80px;left:10px;background:var(--paper);color:var(--ink);padding:15px 22px;z-index:1000}.skip-link:focus{top:10px}.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}[hidden]{display:none!important}.topline{background:var(--dark);border-bottom:1px solid #ffffff12;color:#bdc6ba;font-size:9px;letter-spacing:.10em;padding:9px 0}.topline .container{display:flex;justify-content:space-between;gap:20px}.topline a{letter-spacing:.02em;color:#d2d9cf}header{background:var(--dark);color:var(--cream);position:relative;z-index:10;border-bottom:1px solid #ffffff14}.nav-inner{display:flex;justify-content:space-between;align-items:center;min-height:102px;gap:25px}.logo-link{display:flex;align-items:center;gap:18px;flex:none}.logo-link img{width:97px;height:64px;object-fit:contain}.logo-link>span{font-size:9px;line-height:1.7;letter-spacing:.16em;border-left:1px solid #ffffff30;padding-left:18px}nav{display:flex;align-items:center;gap:27px;font-size:12px}nav>a{padding:12px 0;color:#ced5cd}nav>a:hover,nav>a[aria-current=page]{color:white}nav>a[aria-current=page]:not(.nav-cta){box-shadow:0 1px var(--red)}.nav-cta{border:1px solid #78827766;border-radius:var(--radius);padding:12px 20px;display:flex;gap:20px;color:var(--cream)}.nav-cta:hover{background:#ffffff09}.menu-toggle{display:none;border:1px solid #ffffff40;background:transparent;color:white;padding:10px 14px;font-size:13px}.hero{background:var(--dark);color:var(--cream);overflow:hidden;position:relative}.hero-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:10px;min-height:655px;align-items:center}.hero-copy{padding:62px 0 58px;position:relative;z-index:2}.hero .eyebrow{color:#c4cec2}.hero h1{font-size:clamp(56px,6.6vw,93px);line-height:.99;letter-spacing:-.062em}.hero h1 em{font-size:.81em;line-height:1.2;display:block;color:#d1d9bb;margin-top:11px;white-space:nowrap}.hero-intro{font-size:16px;line-height:1.8;color:#b9c2b5;margin:25px 0 30px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.hero .quiet-link{font-size:11px;font-weight:400;color:var(--cream)}.hero-signoff{display:flex;align-items:center;gap:10px;margin-top:39px;font-size:8px;letter-spacing:.095em;color:#aebbac}.status-dot{width:6px;height:6px;border-radius:50%;background:#bed4a1;box-shadow:0 0 12px #d9ff7c33;flex:none}.slash{color:#687763}.hero-art{height:590px;position:relative;isolation:isolate;overflow:visible}.hero-art:before{content:'';position:absolute;inset:20px -25px -15px;border-radius:50%;background:radial-gradient(ellipse at 60% 56%,#4b64494f 0%,#2431273b 38%,transparent 66%);z-index:-3}.art-code{position:absolute;right:0;top:39px;font-size:9px;letter-spacing:.17em;color:#909f8b;line-height:1.8;text-align:right}.big-eth{position:absolute;font-size:166px;font-weight:700;letter-spacing:-.055em;line-height:1;top:110px;left:24px;color:#52654d33;z-index:-1}.orbit{position:absolute;width:550px;height:285px;border:1px solid #9aab7929;border-radius:50%;top:182px;left:-13px;transform:rotate(-33deg);z-index:-1}.orbit-b{width:520px;height:360px;top:132px;transform:rotate(38deg);border-color:#bdb49716}.orbit-c{width:570px;height:480px;top:64px;transform:rotate(-25deg);border-style:dashed;border-color:#d1d9bb13}.orbit-dot{position:absolute;right:5%;top:28%;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 16px #ed4a3e55}.podium{position:absolute;width:405px;height:96px;border-radius:50%;background:radial-gradient(ellipse at 50% 30%,#677358,#2a392c 58%,#19241d 70%);left:95px;top:415px;box-shadow:0 25px 40px #00000044;border-bottom:15px solid #233023;transform:rotate(-6deg)}.hero-product{position:absolute;object-fit:contain;filter:drop-shadow(8px 20px 13px #00000066)}.hero-product-main{width:276px;height:365px;top:123px;left:160px;transform:rotate(-8deg);z-index:2}.hero-product-back{width:200px;height:291px;top:198px;left:8px;transform:rotate(-15deg);opacity:.92}.hero-product-small{width:119px;height:208px;top:296px;right:3px;transform:rotate(9deg);z-index:3}.art-ticket{position:absolute;bottom:18px;left:42px;display:flex;gap:14px;align-items:center;padding:17px 21px;background:#f2f0e8;border-radius:3px;box-shadow:0 15px 32px #0000002b;transform:rotate(-3deg);z-index:4;color:var(--dark)}.ticket-icon{font-size:40px;line-height:1;color:#a2362a}.art-ticket small{font-size:7px;letter-spacing:.12em;display:block;margin-bottom:5px;font-weight:700}.art-ticket strong{font-size:20px;letter-spacing:-.045em;line-height:1.06;display:block}.art-caption{position:absolute;right:8px;bottom:8px;font-size:7px;letter-spacing:.1em;color:#9fac97;writing-mode:vertical-rl;transform:rotate(180deg)}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff16;padding-top:23px;padding-bottom:25px;font-size:8px;letter-spacing:.14em;color:#aebba8}.hero-bottom a{display:flex;gap:28px}.statband{background:#e6e8dc}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0}.stats>div{padding:0 35px;border-left:1px solid #b2b9a9}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:23px;letter-spacing:-.045em;display:block}.stats span{font-size:11px;color:#647060}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro-section h2{font-size:46px;line-height:1.12}.intro-section .text-link{margin-top:10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:35px 32px;background:var(--paper);border:1px solid #d9ddd480;min-height:292px;display:flex;flex-direction:column}.card-index{font-size:10px;letter-spacing:.1em;color:#929b8b;margin-bottom:47px}.card h3{margin-bottom:18px;font-size:27px}.card p{font-size:14px;line-height:1.75}.card .text-link{margin-top:auto;align-self:flex-start;font-size:12px}.network-section h2 em{color:#475d42}.city-tags{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0 15px}.city-tags span{font-size:11px;border:1px solid var(--line);padding:7px 13px;border-radius:30px}.network-visual{background:var(--dark);color:var(--cream);min-height:440px;padding:30px;position:relative;overflow:hidden;isolation:isolate}.network-visual:before,.network-visual:after{content:'';position:absolute;border:1px solid #83957526;border-radius:50%;width:460px;height:460px;left:50%;top:48%;transform:translate(-50%,-50%);z-index:-1}.network-visual:after{width:320px;height:320px}.network-visual .micro{color:#9fb193}.network-hub{display:flex;flex-direction:column;align-items:center;text-align:center;margin:44px 0 24px}.network-hub strong{font-size:47px;line-height:.95;letter-spacing:-.05em}.network-hub small{font-size:8px;letter-spacing:.15em;margin-top:13px;color:#a8b99c}.pulse{width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 0 8px #ed4a3e16;margin-bottom:17px}.network-cities{display:flex;justify-content:center;gap:12px 20px;flex-wrap:wrap;max-width:340px;margin:auto}.network-cities span{font-size:11px;color:#c4cdbd;display:flex;align-items:center;gap:7px}.network-cities i{width:4px;height:4px;border-radius:50%;background:#b9ca9b}.diagram-note{text-align:center;font-size:8px;margin:30px 0 0;color:#829176}.community-band{background:var(--dark2);color:var(--cream);padding:78px 0}.community-band h2{font-size:40px;line-height:1.18;letter-spacing:-.045em}.community-band p,.community-band .section-head .eyebrow{color:#b2bfaa}.community-band .section-head{gap:40px;align-items:start}.community-band .quiet-link{font-size:11px;border-bottom:1px solid #b2bfaa;padding-bottom:5px;white-space:nowrap;margin-top:35px}.social-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:18px 0 31px}.social-stats strong{display:block;font-size:54px;letter-spacing:-.06em;line-height:1.2;font-weight:400}.social-stats span{font-size:11px;color:#b5c1ad}.community-band .fineprint{font-size:10px;margin:0;border-top:1px solid #ffffff1a;padding-top:20px}.social-links{display:flex;gap:30px;font-size:12px;margin-top:20px}.feature-products,.catalogue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.product-visual{display:block;position:relative;background:#efeee8;overflow:hidden}.product-visual>span{position:absolute;top:12px;left:13px;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#687162;z-index:1}.product-visual img{width:100%;aspect-ratio:1/1.1;object-fit:contain;padding:32px 18px 17px;mix-blend-mode:multiply;transition:transform .3s}.product-visual:hover img{transform:scale(1.05)}.product-info{padding:20px 0}.product-info small{font-size:9px;color:#717b6a;letter-spacing:.09em;text-transform:uppercase}.product-info h3{font-size:20px;margin:7px 0 8px;line-height:1.2}.product-info p{font-size:11px;margin-bottom:14px}.product-info .text-link{font-size:11px;border:0;gap:40px;padding:0}.portfolio-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;padding-top:27px;margin-top:30px;align-items:center}.portfolio-foot p{font-size:12px;margin:0}.portfolio-foot .text-link{font-size:12px;white-space:nowrap}.regional-panel{display:grid;grid-template-columns:1fr 1fr;gap:110px}.regional-panel h2{font-size:62px}.regional-panel .text-link{margin-top:12px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-layout h2{margin-bottom:20px}.faq-layout>div:first-child p{font-size:14px}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{list-style:none;font-size:15px;font-weight:700;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font-size:25px;font-weight:400;flex:none}details[open] summary>span{transform:rotate(45deg)}.answer{font-size:14px;line-height:1.8;padding:0 22px 24px 0;color:var(--muted)}.closing{background:var(--red);padding:78px 0;color:var(--dark)}.closing-grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.closing h2{font-size:45px;max-width:680px}.closing p{color:#50251f;max-width:660px;margin:17px 0 0;font-size:14px}.closing .eyebrow>span{background:var(--dark)}.closing .button{min-width:221px}.closing .eyebrow{margin-bottom:17px}footer{background:var(--dark);color:#b6c0b0;padding:60px 0 0;font-size:12px}.footer-top{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:60px}.footer-logo img{width:115px;height:auto}.footer-top h3{font-size:13px;color:var(--cream);letter-spacing:0;margin-bottom:19px}.footer-top a:not(.footer-logo),.footer-top>div>span{display:block;margin-bottom:11px;line-height:1.6;overflow-wrap:anywhere}.footer-top a:hover{color:#fff}.footer-top p{font-size:14px;color:#c0cbb8;line-height:1.65;margin-top:17px}.footer-top .fineprint{font-size:10px;color:#81917a}.footer-bottom{border-top:1px solid #ffffff19;padding-top:20px;padding-bottom:22px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.03em}.page-hero{padding:57px 0 70px;background:var(--dark);color:var(--cream)}.page-hero h1{font-size:64px;line-height:1.05;max-width:1000px}.page-hero h1 em{color:#d1d9bb}.page-hero .backlink{color:#879880;font-size:10px}.page-hero .eyebrow{color:#b5c2aa;margin-bottom:20px}.page-hero .lead{color:#b9c5ae;margin-top:24px;font-size:17px;max-width:780px}.fact-card{background:var(--cream);padding:40px}.fact-card dl{margin:25px 0 0}.fact-card dt{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 3px}.fact-card dd{font-size:16px;line-height:1.45;margin:0}.wide-note{margin-top:40px;background:#e7eadd;border-left:3px solid #56664c;padding:25px 30px}.wide-note p{font-size:13px;line-height:1.8;margin:8px 0 0}.scope-card{padding:40px;background:var(--cream)}.scope-card h3{font-size:35px;margin:14px 0}.scope-card p{font-size:14px;margin:0}.scope-label{font-size:9px;letter-spacing:.13em;font-weight:700;color:#65745c}.city-list>div{display:grid;grid-template-columns:35px 1fr;gap:2px 10px;border-bottom:1px solid var(--line);padding:17px 0}.city-list>div>span{grid-row:span 2;font-size:9px;color:#969f8c;padding-top:4px}.city-list strong{font-size:19px;letter-spacing:-.04em}.city-list small{font-size:11px;color:var(--muted)}.city-list+.fineprint{margin-top:20px}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.group-grid article{background:var(--cream);padding:25px 22px;min-height:220px}.group-grid article:first-child{background:var(--dark);color:var(--cream)}.group-grid span{font-size:8px;letter-spacing:.09em}.group-grid h3{margin:38px 0 14px;font-size:25px}.group-grid p{font-size:10px;margin:0}.group-grid article:first-child p{color:#afbba5}.facts-table{margin:0}.facts-table>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:20px 0;border-bottom:1px solid var(--line)}.facts-table dt{font-size:13px;font-weight:700}.facts-table dd{font-size:14px;color:var(--muted);margin:0;overflow-wrap:anywhere}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}.form-layout aside h2{font-size:36px;margin-bottom:23px}.form-layout aside p{font-size:14px}.contact-mini{border-top:1px solid var(--line);padding:27px 0}.contact-mini>span{font-size:9px;letter-spacing:.1em;display:block;margin-bottom:10px}.contact-mini a{font-size:15px;display:block;font-weight:700;overflow-wrap:anywhere}.contact-mini small{display:block;margin-top:10px;color:var(--muted);font-size:10px}.note{padding:23px;background:var(--cream);font-size:13px}.note p{font-size:12px!important;line-height:1.8;margin:8px 0 0}.form-title{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;letter-spacing:.15em;margin:0 0 20px;padding-bottom:15px;border-bottom:1px solid var(--line)}.form-title small{font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted)}fieldset{padding:0;margin:0;border:0}.role-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:27px}.role-choices label{position:relative;cursor:pointer;flex:1;min-width:110px}.role-choices input{position:absolute;opacity:0}.role-choices span{display:block;font-size:11px;padding:14px 12px;border:1px solid var(--line);height:100%;line-height:1.5}.role-choices input:checked+span{background:var(--dark);color:var(--cream);border-color:var(--dark)}.role-choices input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin-bottom:30px}.form-grid label,.variant-label{font-size:11px;font-weight:700}.form-grid .full{grid-column:1/-1}input:not([type=radio]),textarea,select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:2px;padding:13px 14px;max-width:100%;min-width:0;font-size:13px;line-height:1.5}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:8px}.form-grid select{height:48px}textarea{resize:vertical}.enquiry-result{margin-top:36px;padding:26px;background:var(--cream)}.enquiry-result .eyebrow{font-size:9px}.enquiry-result>p{font-size:12px}.enquiry-result textarea{display:block;width:100%;font-family:var(--sans);font-size:12px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.actions .button{font-size:11px;padding:12px 16px;min-height:46px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-cards article{padding:45px;background:var(--cream)}.contact-cards article .micro{color:var(--muted);font-size:9px}.contact-cards h2{margin:25px 0 20px}.contact-cards p{font-size:14px}.email-link{display:block;margin-top:23px;font-size:12px;overflow-wrap:anywhere}.phone-big{font-size:57px;letter-spacing:-.05em;display:block;line-height:1;margin:24px 0}.contact-cards small{font-size:10px;color:var(--muted)}.article-cards{display:grid;grid-template-columns:1fr 1fr;gap:32px}.article-cards>a{display:block;border-top:1px solid var(--ink);padding-top:25px}.article-cards h2{font-size:39px;line-height:1.12;margin:45px 0 25px}.article-cards p{font-size:15px;max-width:90%}.article-cards .text-link{margin-top:15px}.article-cards>a:hover h2{color:#ab3329}.article-layout{display:grid;grid-template-columns:230px 1fr;gap:95px;max-width:1140px}.article-layout aside{position:sticky;top:35px;align-self:start}.article-layout aside p{font-size:11px;line-height:1.8;margin:18px 0}.article-layout aside .text-link{font-size:12px}.prose>section{padding-bottom:48px;margin-bottom:47px;border-bottom:1px solid var(--line)}.prose>section:last-child{margin:0;padding:0;border:0}.prose h2{font-size:32px;line-height:1.18;letter-spacing:-.04em;margin:13px 0 22px}.prose p{font-size:16px;line-height:1.85}.article-note{font-size:13px;line-height:1.8;color:#586b4c;background:var(--cream);padding:22px 25px;border-left:2px solid #738668}.catalogue-toolbar{display:grid;grid-template-columns:1fr 220px 200px;gap:14px;margin-bottom:22px}.catalogue-toolbar input,.catalogue-toolbar select{width:100%;min-height:50px}.catalogue-grid{row-gap:30px}.empty-results{padding:45px;text-align:center;background:var(--cream)}.product-detail h1{font-size:48px;letter-spacing:-.055em}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.detail-photo{background:var(--cream)}.detail-photo img{width:100%;object-fit:contain;mix-blend-mode:multiply}.product-detail .lead{font-size:18px;margin:20px 0}.product-detail p{font-size:14px}.product-detail .fineprint{font-size:11px}.variant-label{display:block;margin:24px 0 12px}.variant-label select{display:block;width:100%;margin-top:10px}.variant-section{margin-top:70px}.variant-section h2{font-size:30px;margin-bottom:25px}.variant-section .fineprint{max-width:780px;margin-top:22px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:16px;border-bottom:1px solid var(--line)}th{background:var(--cream);font-size:11px}.sitemap-links{font-size:18px;line-height:2.3}.preview-note{background:#faf2d3;color:#514528;font-size:9px;font-weight:700;letter-spacing:.1em;text-align:center;padding:7px 12px;line-height:1.5}.preview-note span{font-weight:400;letter-spacing:.01em;margin-left:18px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;padding:13px 23px;font-size:12px;z-index:200;box-shadow:0 5px 25px #0003;display:none}#toast.show{display:block}main:focus{outline:none}
@media(min-width:1450px){.hero-grid{min-height:705px}.hero-art{height:620px}.hero h1{font-size:99px}}
@media(max-width:1150px){.container{padding-left:36px;padding-right:36px}nav{gap:19px;font-size:11px}.nav-cta{padding:11px 15px}.logo-link>span{display:none}.hero h1{font-size:74px}.hero h1 em{white-space:normal;max-width:450px}.hero-art{transform:scale(.9);transform-origin:center center}.hero-grid{gap:0}.hero-signoff{font-size:7px;gap:6px}.hero-actions{gap:18px}.hero-actions .quiet-link{font-size:10px}.intro-grid,.two-column,.regional-panel,.faq-layout{gap:50px}.section-head{gap:35px}.card{padding:26px}.footer-top{gap:25px}.form-layout{gap:55px}.product-detail-grid{gap:50px}.article-layout{gap:55px}}
@media(max-width:860px){.topline{font-size:8px}.topline .container>span{display:none}.topline .container{justify-content:center}.nav-inner{min-height:88px}.logo-link>span{display:block}.logo-link img{width:83px;height:58px}.menu-toggle{display:flex;gap:18px;align-items:center}.nav-inner nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark);padding:22px 36px 28px;border-bottom:1px solid #ffffff20;box-shadow:0 20px 22px #0002;font-size:14px}.nav-inner nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.nav-inner nav>a{padding:13px 0}.nav-inner nav>.nav-cta{padding:15px;margin-top:8px;justify-content:space-between}.hero-grid{grid-template-columns:1fr 1fr;min-height:610px}.hero-copy{padding-top:42px;padding-bottom:45px}.hero h1{font-size:60px}.hero h1 em{font-size:.80em;max-width:330px}.hero-intro{font-size:14px}.hero-art{transform:scale(.7);transform-origin:20% center;width:470px;left:-15px}.hero .eyebrow{font-size:8px}.hero-actions .button{font-size:11px;padding:15px 17px;gap:15px}.hero-signoff{flex-wrap:wrap;font-size:7px;max-width:300px}.hero-bottom{font-size:7px;gap:20px}.hero-bottom span{max-width:240px}.stats>div{padding:0 18px}.stats strong{font-size:20px}.stats span{font-size:10px}.section{padding:75px 0}.section-head{align-items:start;gap:32px}.section-head p{font-size:14px;max-width:250px}.intro-section h2{font-size:38px}.intro-grid{gap:45px}.big-paragraph{font-size:20px}.cards{gap:15px}.card{padding:24px 20px;min-height:290px}.card h3{font-size:22px}.card p{font-size:12px}.card-index{margin-bottom:35px}.two-column{gap:35px}.two-column h2{font-size:38px}.network-visual{min-height:405px;padding:25px 17px}.network-hub strong{font-size:41px}.network-cities{gap:11px}.network-cities span{font-size:10px}.network-section p{font-size:14px}.network-section .fineprint{font-size:10px}.community-band .section-head{flex-direction:column;gap:0}.community-band .quiet-link{margin-top:15px}.social-stats strong{font-size:43px}.social-stats{gap:18px}.social-stats span{font-size:10px}.feature-products,.catalogue-grid{grid-template-columns:repeat(2,1fr);gap:26px}.product-info h3{font-size:23px}.regional-panel h2{font-size:48px}.faq-layout{grid-template-columns:.75fr 1.25fr;gap:40px}.faq-layout h2{font-size:34px}.closing h2{font-size:37px}.closing-grid{gap:35px}.closing .button{min-width:190px;font-size:11px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 60px}.footer-bottom{flex-wrap:wrap;font-size:8px}.page-hero h1{font-size:55px}.page-hero .lead{font-size:16px}.form-layout{grid-template-columns:1fr;gap:45px}.form-layout aside{max-width:650px}.form-layout aside h2{font-size:38px}.form-layout aside .note{display:none}.contact-mini{padding-bottom:0}.contact-cards article{padding:30px}.article-layout{grid-template-columns:170px 1fr;gap:40px}.article-cards h2{font-size:34px}.catalogue-toolbar{grid-template-columns:1fr 1fr}.search-label{grid-column:1/-1}.product-detail-grid{gap:35px}.product-detail h1{font-size:38px}.group-grid{gap:10px}.group-grid article{padding:20px 15px;min-height:205px}.group-grid h3{font-size:23px}.facts-table>div{gap:30px}}
@media(max-width:600px){.container{padding-left:24px;padding-right:24px}.section{padding:62px 0}h2{font-size:35px}.eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:20px}.nav-inner{min-height:85px}.logo-link{gap:13px}.logo-link>span{font-size:8px;padding-left:13px}.hero-grid{display:flex;flex-direction:column;min-height:0;gap:0;align-items:stretch}.hero-copy{padding:47px 0 6px}.hero h1{font-size:68px;line-height:.98;letter-spacing:-.065em}.hero h1 em{font-size:.66em;max-width:none;white-space:normal;line-height:1.2;margin-top:11px}.hero-intro{font-size:14px;margin-top:23px;margin-bottom:24px}.hero-actions{gap:17px}.hero-actions .button{font-size:12px;padding:16px 19px}.hero .quiet-link{font-size:11px;padding:8px 0}.hero-signoff{font-size:6px;gap:7px;max-width:none;margin-top:29px;letter-spacing:.08em}.hero-art{height:430px;width:100%;left:0;transform:none;margin-top:9px;overflow:hidden}.hero-art:before{inset:0 -30px}.art-code{top:20px;font-size:7px;right:0}.big-eth{font-size:126px;top:60px;left:35px}.orbit{width:380px;height:220px;top:120px;left:-15px}.orbit-b{width:330px;height:300px;top:52px;left:25px}.orbit-c{width:395px;height:360px;top:34px;left:-20px}.hero-product-main{width:201px;height:268px;top:65px;left:29%;transform:rotate(-7deg)}.hero-product-back{width:151px;height:227px;top:120px;left:0}.hero-product-small{width:87px;height:150px;top:206px;right:0}.podium{width:90%;height:73px;left:9%;top:292px}.art-ticket{bottom:26px;left:12px;padding:13px 16px;gap:12px}.art-ticket strong{font-size:16px}.art-ticket small{font-size:6px}.ticket-icon{font-size:29px}.art-caption{font-size:6px;bottom:18px;right:0}.hero-bottom{padding-top:19px;padding-bottom:20px;font-size:6px;gap:12px;line-height:1.8}.hero-bottom a{gap:10px;max-width:135px}.stats{grid-template-columns:1fr;padding:17px 0}.stats>div{border:0;border-bottom:1px solid #c4cbb9;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.stats>div:first-child{padding:14px 0;border-bottom:1px solid #c4cbb9}.stats>div:last-child{border:0}.stats strong{font-size:20px}.stats span{font-size:9px;max-width:180px;text-align:right}.intro-grid,.two-column,.regional-panel,.faq-layout,.closing-grid,.contact-cards,.article-cards,.product-detail-grid{grid-template-columns:1fr;gap:32px}.intro-section h2{font-size:38px}.intro-grid p:not(.big-paragraph){font-size:14px}.intro-grid .big-paragraph{font-size:21px}.section-head{display:block;margin-bottom:30px}.section-head p{font-size:14px;max-width:none;margin-top:24px}.cards{grid-template-columns:1fr;gap:15px}.card{padding:29px;min-height:0}.card-index{margin-bottom:28px}.card h3{font-size:28px}.card p{font-size:14px;max-width:none}.card .text-link{font-size:12px;margin-top:6px}.network-section .two-column{gap:35px}.network-visual{min-height:410px}.network-hub strong{font-size:45px}.network-cities{gap:13px 19px}.network-cities span{font-size:11px}.community-band{padding:58px 0}.community-band h2{font-size:32px}.social-stats{grid-template-columns:1fr 1fr;gap:24px;padding-bottom:26px}.social-stats strong{font-size:47px}.social-stats span{font-size:11px}.community-band .fineprint{font-size:9px}.feature-products,.catalogue-grid{gap:20px 15px}.product-visual>span{left:10px;top:10px;font-size:7px;letter-spacing:.05em}.product-visual img{padding:23px 7px 10px;aspect-ratio:1/1.15}.product-info{padding-top:15px}.product-info h3{font-size:18px;line-height:1.14}.product-info small{font-size:8px;letter-spacing:.04em}.product-info p{font-size:10px;line-height:1.6}.product-info .text-link{font-size:10px;gap:13px}.portfolio-foot{display:block;margin-top:15px}.portfolio-foot p{font-size:11px}.portfolio-foot .text-link{margin-top:20px;font-size:12px}.regional-panel h2{font-size:52px}.regional-panel .big-paragraph{font-size:23px}.regional-panel p{font-size:14px}.faq-layout{gap:25px}.faq-layout h2{font-size:35px}.faq-layout>div:first-child p{display:none}summary{font-size:14px;padding:21px 0}.answer{font-size:13px;padding-right:6px}.closing{padding:58px 0}.closing h2{font-size:39px}.closing-grid .button{justify-self:start;min-width:220px}.closing p{font-size:13px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 24px;padding-bottom:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.footer-top>div:first-child .footer-logo{float:left;margin-right:30px;margin-top:6px}.footer-logo img{width:95px}.footer-top>div:first-child p{font-size:12px;margin-top:0}.footer-top>div:first-child .fineprint{font-size:9px}.footer-top a{font-size:11px}.footer-top h3{font-size:12px}.footer-bottom{gap:15px;justify-content:flex-start}.footer-bottom span:nth-child(2){display:none}.page-hero{padding:36px 0 49px}.page-hero h1{font-size:43px}.page-hero .backlink{font-size:9px;margin-bottom:26px}.page-hero .lead{font-size:15px;line-height:1.8;margin-top:21px}.fact-card,.scope-card{padding:28px}.wide-note{padding:23px;margin-top:28px;font-size:14px}.wide-note p{font-size:12px}.city-list strong{font-size:19px}.group-grid{gap:12px}.group-grid article{min-height:195px;padding:22px 18px}.group-grid h3{font-size:24px}.group-grid article>span{font-size:7px}.facts-table>div{grid-template-columns:1fr;gap:6px;padding:18px 0}.facts-table dt{font-size:12px}.facts-table dd{font-size:13px}.form-layout{gap:30px}.form-layout aside h2{font-size:33px}.form-grid{gap:17px;grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-grid input,.form-grid textarea,.form-grid select{font-size:16px}.form-title{font-size:8px}.role-choices{gap:6px}.role-choices label{min-width:92px}.role-choices span{font-size:10px;padding:12px 9px}.enquiry-result{padding:21px 17px}.enquiry-result .eyebrow{font-size:8px}.enquiry-result textarea{font-size:12px}.contact-cards article{padding:28px}.contact-cards article h2{font-size:37px}.article-cards>a{padding:24px 0 30px}.article-cards h2{font-size:36px;margin:35px 0 20px}.article-layout{grid-template-columns:1fr;gap:32px}.article-layout aside{position:static;border-bottom:1px solid var(--line);padding-bottom:25px}.article-layout aside p{margin:12px 0;font-size:11px}.prose h2{font-size:29px}.prose p{font-size:15px}.article-note{font-size:12px;padding:20px}.prose>section{padding-bottom:33px;margin-bottom:33px}.catalogue-toolbar{gap:10px}.catalogue-toolbar input{font-size:16px}.catalogue-toolbar select{font-size:12px;padding:12px 8px}.catalogue-toolbar #catalogue-brand{max-width:100%}.product-detail .backlink{margin-bottom:25px}.product-detail h1{font-size:38px}.detail-photo{max-width:440px}.variant-label select{font-size:14px}.table-wrap{margin-left:-4px;margin-right:-4px}th,td{padding:12px;font-size:11px}.preview-note{font-size:7px;padding:7px 10px}.preview-note span{display:block;margin:1px 0 0;font-size:8px}#toast{width:calc(100% - 48px);text-align:center}}
@media(max-width:370px){.container{padding-left:19px;padding-right:19px}.hero h1{font-size:60px}.hero h1 em{font-size:.67em}.hero-product-main{left:26%;width:187px}.hero-product-small{width:75px}.hero-art{height:415px}.hero-signoff{font-size:5.5px}.logo-link>span{font-size:7px}.hero-actions .quiet-link{font-size:10px}.social-stats strong{font-size:41px}.page-hero h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.topline,header,footer,.preview-note,.hero-art,.closing,.button,.hero-bottom,.menu-toggle,.actions{display:none!important}body{background:#fff;color:#111;font-size:11pt}.container{max-width:none;padding:0}.section,.page-hero{padding:20px 0;background:#fff!important;color:#111!important}.page-hero h1,.page-hero h1 em{color:#111;font-size:28pt}.two-column,.intro-grid,.faq-layout,.article-layout,.form-layout{display:block}p,.lead{color:#333!important}.cards{grid-template-columns:1fr}.card{break-inside:avoid}h2{font-size:20pt}a{text-decoration:underline}.prose>section{break-inside:avoid}.facts-table>div{padding:12px 0}details>.answer{display:block}details summary span{display:none}}

.button { letter-spacing: 0.02em !important; }
.button span { letter-spacing: normal !important; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 30px; }
.hero-actions .button { min-width: 220px; }
.hero-actions .quiet-link { font-size: 13px; font-weight: 700; letter-spacing: 0.02em !important; }



/* ==========================================================================
   EFN COMPREHENSIVE FONTS & STYLES ENFORCEMENT
   ========================================================================== */

/* 1. Global Font Families & CSS Variables */
:root {
    --ink: #141b18;
    --dark: #111917;
    --dark2: #1b2621;
    --cream: #f2f0e8;
    --paper: #fcfbf7;
    --muted: #69726b;
    --red: #ed4a3e;
    --line: #d9ddd4;
    --white: #fff;
    --serif: Georgia, 'Times New Roman', serif;
    --sans: Arial, Helvetica, sans-serif;
    --radius: 3px;

    /* Elementor Kit overrides */
    --e-global-typography-primary-font-family: Arial, Helvetica, sans-serif !important;
    --e-global-typography-secondary-font-family: Arial, Helvetica, sans-serif !important;
    --e-global-typography-text-font-family: Arial, Helvetica, sans-serif !important;
    --e-global-typography-accent-font-family: Arial, Helvetica, sans-serif !important;
    --e-global-color-primary: #141b18 !important;
    --e-global-color-secondary: #69726b !important;
    --e-global-color-text: #141b18 !important;
    --e-global-color-accent: #ed4a3e !important;

    /* Astra overrides */
    --ast-global-color-0: #141b18 !important;
    --ast-global-color-1: #111917 !important;
    --ast-global-color-2: #141b18 !important;
    --ast-global-color-3: #69726b !important;
    --ast-global-color-4: #fcfbf7 !important;
    --ast-global-color-5: #ffffff !important;
}

/* Force Arial across all containers, inputs, buttons, widgets, Astra & Elementor */
body,
p,
div,
span,
input,
select,
textarea,
button,
label,
li,
td,
th,
.elementor,
.elementor-element,
.elementor-widget,
.elementor-widget-container,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-heading-title,
.elementor-button,
.elementor-button span,
.elementor-accordion,
.elementor-accordion .elementor-accordion-title,
.elementor-accordion .elementor-tab-content,
.ast-container,
.entry-content,
.entry-content p,
.entry-content a {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* 2. Headings & Typography */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.055em !important;
    color: var(--ink, #141b18);
    margin: 0;
}

h1, .entry-content h1 { font-size: clamp(46px, 6.2vw, 90px); }
h2, .entry-content h2 { font-size: clamp(34px, 3.8vw, 56px); }
h3, .entry-content h3 { font-size: 27px; letter-spacing: -0.035em; }

/* 3. Serif Italics */
em,
i.serif,
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em,
.elementor-heading-title em,
.elementor-widget-text-editor em,
.elementor-widget-heading em,
p em,
.hero h1 em,
.page-hero h1 em,
.network-section h2 em {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
    letter-spacing: -0.05em !important;
}

.network-section h2 em {
    color: #475d42 !important;
}

/* 4. Dark Sections: Hero, Page Hero, Network Visual, Community Band */
.hero,
.hero.elementor-section,
.hero .elementor-container,
.hero-bottom-section,
.page-hero,
.page-hero.elementor-section,
.page-hero .elementor-container {
    background: var(--dark, #111917) !important;
    color: var(--cream, #f2f0e8) !important;
}

.hero h1,
.hero .elementor-heading-title,
.hero .entry-content h1,
.hero .elementor-widget-heading h1,
.page-hero h1,
.page-hero .elementor-heading-title,
.page-hero .entry-content h1,
.page-hero .elementor-widget-heading h1 {
    color: var(--cream, #f2f0e8) !important;
}

.hero h1 em,
.hero .elementor-heading-title em,
.hero .entry-content h1 em,
.page-hero h1 em,
.page-hero .elementor-heading-title em,
.page-hero .entry-content h1 em {
    color: #d1d9bb !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-style: italic !important;
    font-weight: 400 !important;
}

.hero .hero-intro,
.hero p,
.hero .elementor-widget-text-editor p {
    color: #b9c2b5 !important;
}

.hero .quiet-link {
    color: var(--cream, #f2f0e8) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}

.hero .hero-signoff {
    color: #aebbac !important;
}

/* Hero Bottom Bar */
.hero-bottom {
    background: var(--dark, #111917) !important;
    color: #aebba8 !important;
    border-top: 1px solid #ffffff16 !important;
    display: flex !important;
    justify-content: space-between !important;
    padding-top: 23px !important;
    padding-bottom: 25px !important;
    font-size: 8px !important;
    letter-spacing: 0.14em !important;
}

.hero-bottom a {
    color: #aebba8 !important;
    display: flex !important;
    gap: 28px !important;
    text-decoration: none !important;
}

.elementor-section:has(.hero-bottom) {
    background: var(--dark, #111917) !important;
}

/* Page Hero Details */
.page-hero .backlink {
    color: #879880 !important;
    font-size: 10px !important;
    display: inline-block !important;
    margin-bottom: 36px !important;
    text-decoration: none !important;
}

.page-hero .lead {
    color: #b9c5ae !important;
    margin-top: 24px !important;
    font-size: 17px !important;
    max-width: 780px !important;
    line-height: 1.7 !important;
}

/* 5. Eyebrows & Red Dash Indicator */
.eyebrow,
.eyebrow .elementor-heading-title,
.elementor-widget-heading.eyebrow .elementor-heading-title,
div.eyebrow,
p.eyebrow,
h2.eyebrow,
h3.eyebrow,
h4.eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 10px !important;
    letter-spacing: 0.19em !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

.eyebrow::before {
    content: '' !important;
    display: inline-block !important;
    width: 18px !important;
    height: 2px !important;
    background: var(--red, #ed4a3e) !important;
    flex: none !important;
}

.eyebrow > span {
    display: none !important;
}

.hero .eyebrow,
.hero .eyebrow .elementor-heading-title {
    color: #c4cec2 !important;
}

.page-hero .eyebrow,
.page-hero .eyebrow .elementor-heading-title {
    color: #b5c2aa !important;
}

.section-head .eyebrow,
.section-head .eyebrow .elementor-heading-title {
    color: var(--muted, #69726b) !important;
}

.community-band .eyebrow,
.community-band .eyebrow .elementor-heading-title {
    color: #b2bfaa !important;
}

.closing .eyebrow,
.closing .eyebrow .elementor-heading-title {
    color: var(--dark, #111917) !important;
}

.closing .eyebrow::before {
    background: var(--dark, #111917) !important;
}

/* 6. Buttons & CTAs */
.button,
.elementor-button,
a.elementor-button,
button.elementor-button,
.elementor-widget-button .elementor-button {
    font-family: Arial, Helvetica, sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    padding: 17px 23px !important;
    border: 1px solid transparent !important;
    border-radius: var(--radius, 3px) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    transition: transform 0.18s, background 0.18s !important;
    min-height: 54px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.button:hover,
.elementor-button:hover {
    transform: translateY(-2px) !important;
}

.button span,
.elementor-button span,
.elementor-button-icon {
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
}

.button-red,
.elementor-button.button-red,
.elementor-button-type-default.button-red,
.hero-actions .button-red {
    background: var(--red, #ed4a3e) !important;
    color: #111917 !important;
    border-color: transparent !important;
}

.button-red:hover,
.elementor-button.button-red:hover {
    background: #ff6756 !important;
    color: #111917 !important;
}

.button-light,
.elementor-button.button-light,
.closing .button {
    background: var(--cream, #f2f0e8) !important;
    color: var(--ink, #141b18) !important;
    border-color: transparent !important;
}

.button-light:hover,
.elementor-button.button-light:hover,
.closing .button:hover {
    background: #ffffff !important;
    color: var(--ink, #141b18) !important;
}

.button-outline,
.elementor-button.button-outline {
    border-color: var(--ink, #141b18) !important;
    color: var(--ink, #141b18) !important;
    background: transparent !important;
}

.button-outline:hover,
.elementor-button.button-outline:hover {
    background: #141b180d !important;
}

/* 7. Text Links & Micro Typography */
.text-link {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 18px !important;
    line-height: 1.6 !important;
    border-bottom: 1px solid var(--ink, #141b18) !important;
    padding-bottom: 7px !important;
    color: var(--ink, #141b18) !important;
    text-decoration: none !important;
}

.text-link:hover {
    color: #bd3027 !important;
    border-color: #bd3027 !important;
}

.quiet-link {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 18px !important;
    line-height: 1.6 !important;
    text-decoration: none !important;
}

.lead {
    font-size: 19px !important;
    line-height: 1.7 !important;
    max-width: 760px;
}

.big-paragraph {
    font-size: 23px !important;
    line-height: 1.45 !important;
    color: var(--ink, #141b18) !important;
    letter-spacing: -0.025em !important;
}

.fineprint {
    font-size: 11px !important;
    line-height: 1.8 !important;
    color: var(--muted, #69726b) !important;
}

.micro {
    font-size: 10px !important;
    letter-spacing: 0.15em !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-transform: uppercase !important;
}

/* 8. Elementor Section Display Fix (Prevents Section-level Grid Wrapping) */
.elementor-section.faq-layout, .elementor-section.article-layout,
.elementor-section.two-column,
.elementor-section.intro-grid,
.elementor-section.regional-panel,
.elementor-section.form-layout,
.elementor-section.hero-grid {
    display: block !important;
}

/* 9. Elementor Container Grid Mapping */
.faq-layout > .elementor-container {
    display: grid !important;
    grid-template-columns: 0.8fr 1.2fr !important;
    gap: 90px !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
}

.two-column > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 80px !important;
    align-items: center !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
}

.intro-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 90px !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
}

.regional-panel > .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 110px !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
}

.hero-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: 1.07fr 1fr !important;
    gap: 10px !important;
    min-height: 655px !important;
    align-items: center !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
}

.form-layout > .elementor-container {
    display: grid !important;
    grid-template-columns: 0.8fr 1.2fr !important;
    gap: 100px !important;
    align-items: start !important;
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
}

/* Ensure columns and widget wrappers stretch to 100% of grid cell */
.faq-layout > .elementor-container > .elementor-column,
.two-column > .elementor-container > .elementor-column,
.intro-grid > .elementor-container > .elementor-column,
.regional-panel > .elementor-container > .elementor-column,
.hero-grid > .elementor-container > .elementor-column,
.form-layout > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
}

.faq-layout > .elementor-container > .elementor-column > .elementor-widget-wrap,
.two-column > .elementor-container > .elementor-column > .elementor-widget-wrap,
.intro-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
.regional-panel > .elementor-container > .elementor-column > .elementor-widget-wrap,
.hero-grid > .elementor-container > .elementor-column > .elementor-widget-wrap,
.form-layout > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100% !important;
    padding: 0 !important;
}

/* Responsive Grid Breakpoints */
@media (max-width: 1150px) {
    .faq-layout > .elementor-container,
    .intro-grid > .elementor-container,
    .two-column > .elementor-container,
    .regional-panel > .elementor-container,
    .form-layout > .elementor-container,
    .hero-grid > .elementor-container {
        gap: 50px !important;
        padding: 0 36px !important;
    }
}

@media (max-width: 860px) {
    .faq-layout > .elementor-container {
        grid-template-columns: 0.75fr 1.25fr !important;
        gap: 40px !important;
    }
    .intro-grid > .elementor-container,
    .two-column > .elementor-container,
    .form-layout > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 45px !important;
    }
    .regional-panel > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
    }
}

@media (max-width: 600px) {
    .faq-layout > .elementor-container,
    .intro-grid > .elementor-container,
    .two-column > .elementor-container,
    .regional-panel > .elementor-container,
    .form-layout > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        padding: 0 24px !important;
    }
    .hero-grid > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        gap: 0 !important;
        align-items: stretch !important;
        padding: 0 24px !important;
    }
}

/* 10. Elementor Accordion (FAQ Clean Minimalist Styling & Functional +/- Icons) */
.elementor-widget-accordion .elementor-accordion {
    border: none !important;
    margin: 0 !important;
    width: 100% !important;
}

.elementor-accordion .elementor-accordion-item {
    border: none !important;
    border-bottom: 1px solid var(--line, #d9ddd4) !important;
    background: transparent !important;
    margin: 0 !important;
}

.elementor-accordion .elementor-accordion-item:first-child {
    border-top: 1px solid var(--line, #d9ddd4) !important;
}

.elementor-accordion .elementor-tab-title {
    background: transparent !important;
    padding: 23px 0 !important;
    border: none !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.elementor-accordion .elementor-accordion-title,
.elementor-accordion .elementor-tab-title a,
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
.elementor-accordion .elementor-tab-title a:hover,
.elementor-accordion .elementor-tab-title a:focus {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    color: var(--ink, #141b18) !important;
    text-decoration: none !important;
    order: 1 !important;
    flex: 1 !important;
}

.elementor-accordion .elementor-tab-content {
    background: transparent !important;
    border: none !important;
    padding: 0 22px 24px 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--muted, #69726b) !important;
}

.elementor-accordion .elementor-tab-content p {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: var(--muted, #69726b) !important;
    margin: 0 !important;
}

/* Accordion +/- Icon on Far Right */
.elementor-accordion .elementor-accordion-icon {
    order: 2 !important;
    margin-left: 20px !important;
    color: var(--ink, #141b18) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    flex: none !important;
    width: 24px !important;
    height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-accordion .elementor-accordion-icon-closed i {
    display: none !important;
}

.elementor-accordion .elementor-accordion-icon-closed::before {
    content: '+' !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--ink, #141b18) !important;
}

.elementor-accordion .elementor-accordion-icon-opened i {
    display: none !important;
}

.elementor-accordion .elementor-accordion-icon-opened::before {
    content: '\00D7' !important; /* × close symbol */
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--ink, #141b18) !important;
}

/* 11. Background Colors & Sections */
.cream, .elementor-section.cream {
    background: var(--cream, #f2f0e8) !important;
}

.statband, .elementor-section.statband {
    background: #e6e8dc !important;
}

.community-band, .elementor-section.community-band {
    background: var(--dark2, #1b2621) !important;
    color: var(--cream, #f2f0e8) !important;
    padding: 78px 0 !important;
}

.community-band h2,
.community-band .elementor-heading-title {
    color: var(--cream, #f2f0e8) !important;
}

.community-band p,
.community-band .section-head .eyebrow {
    color: #b2bfaa !important;
}

.community-band .quiet-link {
    color: var(--cream, #f2f0e8) !important;
    border-bottom: 1px solid #b2bfaa !important;
}

.community-band .fineprint {
    color: #b2bfaa !important;
    border-top: 1px solid #ffffff1a !important;
}

.social-stats strong {
    color: var(--cream, #f2f0e8) !important;
}

.social-stats span {
    color: #b5c1ad !important;
}

.network-visual {
    background: var(--dark, #111917) !important;
    color: var(--cream, #f2f0e8) !important;
    min-height: 440px !important;
    padding: 30px !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.network-hub strong {
    color: var(--cream, #f2f0e8) !important;
}

.network-hub small {
    color: #a8b99c !important;
}

.network-visual .micro {
    color: #9fb193 !important;
}

.network-cities span {
    color: #c4cdbd !important;
}

.diagram-note {
    color: #829176 !important;
}

/* Closing Section */
.closing, .elementor-section.closing {
    background: var(--red, #ed4a3e) !important;
    padding: 78px 0 !important;
    color: var(--dark, #111917) !important;
}

.closing h2,
.closing .elementor-heading-title {
    color: var(--dark, #111917) !important;
    font-size: 45px !important;
    max-width: 680px !important;
}

.closing p {
    color: #50251f !important;
    max-width: 660px !important;
    margin: 17px 0 0 !important;
    font-size: 14px !important;
}

.closing .button {
    min-width: 221px !important;
}

/* 12. Cards, Facts & Scope */
.card {
    padding: 35px 32px !important;
    background: var(--paper, #fcfbf7) !important;
    border: 1px solid #d9ddd480 !important;
    min-height: 292px !important;
    display: flex !important;
    flex-direction: column !important;
}

.card-index {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    color: #929b8b !important;
    margin-bottom: 47px !important;
}

.card h3 {
    margin-bottom: 18px !important;
    font-size: 27px !important;
}

.card p {
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.card .text-link {
    margin-top: auto !important;
    align-self: flex-start !important;
    font-size: 12px !important;
}

.fact-card {
    background: var(--cream, #f2f0e8) !important;
    padding: 40px !important;
}

.scope-card {
    padding: 40px !important;
    background: var(--cream, #f2f0e8) !important;
}

.wide-note {
    margin-top: 40px !important;
    background: #e7eadd !important;
    border-left: 3px solid #56664c !important;
    padding: 25px 30px !important;
}

.wide-note p {
    font-size: 13px !important;
    line-height: 1.8 !important;
    margin: 8px 0 0 !important;
}

.group-grid article:first-child {
    background: var(--dark, #111917) !important;
    color: var(--cream, #f2f0e8) !important;
}

.group-grid article:first-child h3,
.group-grid article:first-child span {
    color: var(--cream, #f2f0e8) !important;
}

.group-grid article:first-child p {
    color: #afbba5 !important;
}

/* 13. Forms & Inputs */
input:not([type=radio]), textarea, select {
    border: 1px solid var(--line, #d9ddd4) !important;
    background: #fff !important;
    color: var(--ink, #141b18) !important;
    border-radius: 2px !important;
    padding: 13px 14px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

.form-grid input, .form-grid select, .form-grid textarea {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
}

.form-grid select {
    height: 48px !important;
}

.role-choices input:checked + span {
    background: var(--dark, #111917) !important;
    color: var(--cream, #f2f0e8) !important;
    border-color: var(--dark, #111917) !important;
}

/* 14. Astra Resets & Scroll-To-Top Hide */
#ast-scroll-top,
#colophon,
.site-footer:not(.efn-site-footer),
.ast-footer-builder,
.site-below-footer-wrap,
.ast-footer-copyright {
    display: none !important;
}

.ast-container, #content, .site-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.entry-content {
    margin: 0 !important;
}

#main {
    outline: none !important;
}

/* Article Layout Grid Mapping */
.elementor-section.article-layout {
    display: block !important;
}

.elementor-section.article-layout > .elementor-container {
    display: grid !important;
    grid-template-columns: 230px 1fr !important;
    gap: 95px !important;
    max-width: 1140px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 56px !important;
    box-sizing: border-box !important;
}

.elementor-section.article-layout > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
}

.elementor-section.article-layout > .elementor-container > .elementor-column > .elementor-widget-wrap {
    width: 100% !important;
    padding: 0 !important;
}

.elementor-section.article-layout aside {
    position: sticky !important;
    top: 35px !important;
    align-self: start !important;
}

.elementor-section.article-layout aside p {
    font-size: 11px !important;
    line-height: 1.8 !important;
    margin: 18px 0 !important;
    color: var(--muted, #69726b) !important;
}

.elementor-section.article-layout aside .text-link {
    font-size: 12px !important;
}

.prose {
    max-width: 100% !important;
}

.prose > section {
    padding-bottom: 48px !important;
    margin-bottom: 47px !important;
    border-bottom: 1px solid var(--line, #d9ddd4) !important;
}

.prose > section:last-child {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.prose h2 {
    font-size: 32px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.04em !important;
    margin: 13px 0 22px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: var(--ink, #141b18) !important;
}

.prose p {
    font-size: 16px !important;
    line-height: 1.85 !important;
    color: var(--muted, #69726b) !important;
    margin: 0 0 20px !important;
}

.article-note {
    font-size: 13px !important;
    line-height: 1.8 !important;
    color: #586b4c !important;
    background: var(--cream, #f2f0e8) !important;
    padding: 22px 25px !important;
    border-left: 2px solid #738668 !important;
    margin-top: 20px !important;
}

@media (max-width: 1150px) {
    .elementor-section.article-layout > .elementor-container {
        gap: 55px !important;
        padding: 0 36px !important;
    }
}

@media (max-width: 860px) {
    .elementor-section.article-layout > .elementor-container {
        grid-template-columns: 170px 1fr !important;
        gap: 40px !important;
        padding: 0 36px !important;
    }
}

@media (max-width: 600px) {
    .elementor-section.article-layout > .elementor-container {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        padding: 0 24px !important;
    }
    .elementor-section.article-layout aside {
        position: static !important;
        border-bottom: 1px solid var(--line, #d9ddd4) !important;
        padding-bottom: 25px !important;
    }
    .prose h2 {
        font-size: 29px !important;
    }
    .prose p {
        font-size: 15px !important;
    }
    .article-note {
        font-size: 12px !important;
        padding: 20px !important;
    }
    .prose > section {
        padding-bottom: 33px !important;
        margin-bottom: 33px !important;
    }
}

/* ==========================================================================
   15. Customizer & Enhanced Nav/Footer Features (v1.1.0)
   ========================================================================== */

/* Multi-level Navigation Dropdowns */
.nav-item.has-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.nav-item.has-dropdown > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 0;
    color: #ced5cd;
}
.nav-item.has-dropdown .dropdown-arrow {
    font-size: 10px;
    opacity: 0.7;
    transition: transform 0.2s ease;
}
.nav-item.has-dropdown:hover .dropdown-arrow {
    transform: rotate(180deg);
}
.nav-item .sub-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #1b2621;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 3px;
    padding: 8px 0;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 100;
}
.nav-item.has-dropdown:hover .sub-menu,
.nav-item.has-dropdown:focus-within .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.sub-menu a {
    display: block !important;
    padding: 9px 20px !important;
    color: #cbd5e1 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
.sub-menu a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}

/* Mobile dropdown responsiveness */
@media (max-width: 860px) {
    .nav-inner nav.is-open .nav-item.has-dropdown {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .nav-inner nav.is-open .nav-item .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        background: rgba(255, 255, 255, 0.04);
        border-radius: 4px;
        margin: 4px 0 8px 12px;
        padding: 4px 0;
    }
}

/* Sticky Header Option */
header.efn-header.is-sticky {
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
}

/* Social media links in footer */
.footer-social-links {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 18px;
    flex-wrap: wrap;
}
.footer-social-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.07);
    color: #cbd5e1 !important;
    margin-bottom: 0 !important;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.footer-social-link:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
}
.footer-social-link svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}
.footer-hours {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #81917a;
}

/* ==========================================================================
   16. Complete Responsive Shop & Catalogue Grid System
   ========================================================================== */
.catalogue-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--desktop-cols, 4), 1fr) !important;
    gap: 30px 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 15px !important;
}

.catalogue-toolbar {
    display: grid !important;
    grid-template-columns: 1fr 220px 200px !important;
    gap: 14px !important;
    margin-bottom: 22px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    align-items: center !important;
}

.catalogue-toolbar input,
.catalogue-toolbar select {
    width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
}

/* Desktop variations */
@media (min-width: 1200px) {
    .catalogue-grid.efn-grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
    .catalogue-grid.efn-grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
    .catalogue-grid.efn-grid-cols-4 { grid-template-columns: repeat(4, 1fr) !important; }
}

/* Laptops & Medium Screens (992px - 1199px) */
@media (max-width: 1199px) {
    .catalogue-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 24px 20px !important;
    }
    .catalogue-toolbar {
        grid-template-columns: 1fr 200px 180px !important;
        gap: 12px !important;
    }
}

/* Tablets (Portrait & Landscape: 641px - 991px) */
@media (max-width: 991px) {
    .catalogue-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 22px 18px !important;
    }
    .catalogue-toolbar {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }
    .catalogue-toolbar .search-label {
        grid-column: 1 / -1 !important;
    }
    .product-visual img {
        max-height: 240px !important;
        object-fit: contain !important;
    }
}

/* Mobile Screens (<= 640px) */
@media (max-width: 640px) {
    .catalogue-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin-top: 15px !important;
    }
    .catalogue-toolbar {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin-bottom: 20px !important;
    }
    .catalogue-toolbar .search-label,
    .catalogue-toolbar label {
        width: 100% !important;
        grid-column: auto !important;
        margin: 0 !important;
    }
    .catalogue-toolbar input,
    .catalogue-toolbar select {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important; /* Prevents auto-zoom on mobile iOS */
        padding: 12px 14px !important;
        box-sizing: border-box !important;
    }
    .product-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border: 1px solid var(--line, #e2e5dc) !important;
        border-radius: 6px !important;
        overflow: hidden !important;
    }
    .product-visual {
        background: #f7f6f2 !important;
    }
    .product-visual>span {
        top: 10px !important;
        left: 12px !important;
        font-size: 8px !important;
        padding: 3px 8px !important;
        background: rgba(255, 255, 255, 0.9) !important;
        border-radius: 3px !important;
    }
    .product-visual img {
        max-height: 260px !important;
        padding: 22px 16px 14px !important;
        object-fit: contain !important;
    }
    .product-info {
        padding: 16px 18px 20px !important;
    }
    .product-info small {
        font-size: 10px !important;
        letter-spacing: .08em !important;
    }
    .product-info h3 {
        font-size: 20px !important;
        line-height: 1.25 !important;
        margin: 6px 0 8px !important;
    }
    .product-info p {
        font-size: 13px !important;
        margin-bottom: 14px !important;
        color: #555 !important;
    }
    .product-info .text-link {
        font-size: 13px !important;
        font-weight: 600 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    #catalogue-count {
        margin-bottom: 12px !important;
        font-size: 12px !important;
    }
    .wide-note {
        padding: 20px 18px !important;
        margin-top: 24px !important;
        border-radius: 4px !important;
    }
    .wide-note strong {
        font-size: 14px !important;
    }
    .wide-note p {
        font-size: 12px !important;
        line-height: 1.6 !important;
        margin-top: 6px !important;
    }
}