/*
Theme Name: Ravinoe Digital Solutions
Author: Ravinoe Digital Solutions
Description: A focused business website with six service pages and project enquiries.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ravinoe
*/
:root{--ink:#142329;--muted:#596468;--paper:#fafbf7;--lime:#d8f77d;--line:#dce1d9;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #709d24;outline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.header{border-bottom:1px solid var(--line);background:var(--paper)}.nav{height:104px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:2.2px;line-height:1.25}.brand small{display:block;font-size:8px;letter-spacing:2.1px;margin-top:5px}.brand-mark{display:block;font-size:56px;letter-spacing:-7px;line-height:.9;font-weight:900;padding-right:5px}.brand-mark span{color:#7f9f43}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav>a:not(.button):hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:white;padding:17px 23px;border:1px solid var(--ink);border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;line-height:1.4;transition:transform .15s,background .15s}.button:hover{background:#2c444a;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400}.button.small{padding:12px 20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:55px;padding-top:74px;padding-bottom:74px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 23px;display:flex;gap:10px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:#7d9a43;display:inline-block}.serif{font-family:var(--serif);font-weight:400;font-style:italic}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.6vw,68px);letter-spacing:-3.2px;line-height:1.08;margin-bottom:27px;font-weight:600}h2{font-size:clamp(34px,3.8vw,51px);letter-spacing:-1.9px;line-height:1.13;margin-bottom:24px;font-weight:500}h3{font-size:23px;line-height:1.3;letter-spacing:-.5px;font-weight:500}.lime-text{color:#87a442}.hero-description{font-size:17px;color:var(--muted);max-width:500px;line-height:1.75;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:23px}.text-link{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:18px}.micro{font-size:11px;color:var(--muted);margin:19px 0 0}.hero-art{height:460px;border-radius:12px;background:#e9efdf;position:relative;overflow:hidden;isolation:isolate}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#cbd6bd65 1px,transparent 1px),linear-gradient(90deg,#cbd6bd65 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse,black,transparent 85%)}.art-caption{position:absolute;top:27px;left:27px;font-size:9px;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}.core{position:absolute;width:155px;height:155px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);background:var(--ink);color:var(--lime);border-radius:36px;font-size:115px;letter-spacing:-12px;line-height:135px;text-align:center;padding-right:18px;box-shadow:18px 25px 35px #14232926}.core span{color:white}.orbit{position:absolute;border:1px solid #a3b29190;left:50%;top:50%;width:320px;height:320px;transform:translate(-50%,-50%);border-radius:50%}.orbit-two{width:425px;height:425px;border-style:dashed}.art-tag{position:absolute;background:#ffffffee;box-shadow:0 5px 15px #14232908;border:1px solid #dce3d5;border-radius:7px;padding:12px 17px;font-size:12px;font-weight:600;display:flex;gap:12px;align-items:center}.art-tag>span{font-size:20px;color:#567126}.tag-one{top:100px;left:25px;transform:rotate(-5deg)}.tag-two{top:207px;right:17px;transform:rotate(5deg)}.tag-three{bottom:73px;left:51px;transform:rotate(-3deg);background:var(--lime)}.art-bottom{position:absolute;bottom:25px;left:27px;right:27px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px}.service-strip{border-block:1px solid var(--line)}.service-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;font-size:13px}.service-strip i{font-size:22px;color:#819548;font-style:normal}.section{padding-block:90px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:42px}.section-head h2{margin:0}.section-head>p{max-width:340px;color:var(--muted);font-size:14px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{border:1px solid var(--line);padding:25px;border-radius:8px;display:flex;flex-direction:column;min-height:305px;background:#fff;transition:background .2s,transform .2s}.service-card:hover{background:#edf3e5;transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.service-number{font-size:11px;color:var(--muted)}.card-arrow{font-size:22px;border:1px solid var(--line);width:37px;height:37px;text-align:center;border-radius:50%}.service-card h3{margin-bottom:13px}.service-card p{font-size:13px;color:var(--muted);line-height:1.8}.card-link{margin-top:auto;padding-top:15px;font-size:11px;font-weight:700}.focus-section{background:var(--ink);color:#fff;padding-block:76px}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.focus-section .eyebrow{color:var(--lime)}.focus-section h2{font-size:55px;margin:0}.focus-section h2 .serif{color:var(--lime)}.focus-section p:not(.eyebrow){color:#c2cecb;font-size:14px}.focus-section p.large-copy{font-size:22px;color:white;line-height:1.6;margin-bottom:22px}.focus-section .text-link{color:var(--lime);margin-top:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps article>span{font-size:10px;letter-spacing:1.3px;display:block;margin-bottom:27px;color:#677551}.steps p{font-size:14px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;border-top:1px solid var(--line);padding-top:75px}.faqs details{border-bottom:1px solid var(--line);padding:19px 0}.faqs details:first-child{padding-top:0}.faqs summary{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;font-weight:600;cursor:pointer;list-style:none}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:20px}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{font-size:14px;color:var(--muted);padding-top:18px;margin:0;max-width:95%}.contact-section{background:#eaf0df;padding-block:80px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.contact-grid h2{font-size:54px}.contact-grid>div>p:not(.eyebrow){color:var(--muted);max-width:365px;font-size:14px}.contact-process{display:flex;flex-direction:column;gap:12px;font-size:12px;font-weight:600;margin-top:30px}.form-panel{padding:30px;background:white;border-radius:9px;border:1px solid #dbe2d1}.form-panel h3{font-size:20px;margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{font-size:11px;font-weight:600;display:block;margin-bottom:17px}input,textarea,select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #d6ddd3;border-radius:4px;background:#fcfdfa;color:var(--ink);font-size:12px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #809950;outline-offset:1px}.form-note{font-size:10px;color:var(--muted);line-height:1.6}.form-note a{text-decoration:underline}form>.button{width:100%}.honeypot{position:absolute;left:-9999px}#form-status{font-size:12px;margin:13px 0 0}footer{padding:40px 0 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px}.footer-top p{color:var(--muted);font-size:13px;margin:0}.footer-top>a:last-child{font-size:12px;font-weight:600}.footer-bottom{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px;z-index:50}.skip:focus{top:10px}.service-hero{padding-block:70px;border-bottom:1px solid var(--line)}.service-hero>.text-link{margin-bottom:50px}.service-hero h1{max-width:850px}.service-hero .hero-description{max-width:650px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.detail-grid li{padding:13px 0;border-bottom:1px solid var(--line)}.detail-grid ul{padding-left:20px}.detail-grid p{color:var(--muted)}.detail-grid h3:not(:first-child){margin-top:30px}.page-content{min-height:60vh;padding-block:70px;max-width:850px}.page-content h1{font-size:48px}.page-content a{text-decoration:underline}.page-content img{max-width:100%;height:auto}.custom-logo{max-width:200px;max-height:64px;width:auto;height:auto}
@media(min-width:1500px){.hero{padding-block:100px}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.hero{gap:30px}h1{font-size:50px}.hero-art{height:425px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.contact-grid,.focus-grid{gap:45px}.contact-grid h2{font-size:45px}.service-card{padding:21px}.tag-two{right:8px}.tag-one{left:10px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{height:82px}.brand{font-size:17px}.brand-mark{font-size:45px}.brand small{font-size:7px}.menu-toggle{display:flex;gap:15px;align-items:center;border:1px solid var(--line);padding:9px 12px;border-radius:5px;background:none;font-size:13px}.nav{position:relative}nav{display:none;position:absolute;left:-20px;right:-20px;top:81px;z-index:10;background:var(--paper);padding:20px;border-bottom:1px solid var(--line);align-items:stretch;gap:18px}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;padding-block:42px;gap:35px}h1{font-size:clamp(41px,8.5vw,62px);letter-spacing:-2px}.hero-description{font-size:15px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.hero-art{height:350px;max-width:550px;width:100%;margin:auto}.core{width:135px;height:135px;font-size:105px;line-height:115px}.orbit-one{width:250px;height:250px}.orbit-two{width:350px;height:350px}.tag-one{top:75px;left:16px}.tag-two{top:155px;right:16px}.tag-three{bottom:52px;left:30px}.service-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;text-align:center}.service-strip i{display:none}.section{padding-block:55px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px;max-width:100%}.services{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:20px;min-height:300px}.service-card h3{font-size:21px}.focus-grid,.contact-grid,.faq-section,.detail-grid{grid-template-columns:1fr;gap:30px}.focus-section,.contact-section{padding-block:55px}.focus-section h2,.contact-grid h2{font-size:44px}.focus-section p.large-copy{font-size:19px}.steps{grid-template-columns:1fr;gap:24px}.steps article>span{margin-bottom:16px}.steps h3{margin-bottom:10px}.faq-section h2{margin-bottom:8px}.form-panel{padding:22px}.footer-top{flex-wrap:wrap}.footer-top p{display:none}.service-hero{padding-block:45px}.service-hero h1{font-size:44px}}@media(max-width:430px){.services{grid-template-columns:1fr}.service-card{min-height:245px}.card-top{margin-bottom:22px}.form-row{grid-template-columns:1fr;gap:0}.hero-actions{gap:20px}.hero-art{height:320px}.art-tag{font-size:11px;padding:9px 12px}.art-caption{font-size:8px}.footer-top>a:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Editorial direction: a local shop-sign poster and a typographic service index. */
.hero{grid-template-columns:1.12fr 1fr;gap:70px;padding-top:68px;padding-bottom:68px}.hero h1{font-size:clamp(56px,5.55vw,82px);letter-spacing:-4px;line-height:1.02;margin-bottom:31px}.hero .noticed{position:relative;display:inline-block}.noticed:after{content:'';position:absolute;left:3px;right:-6px;bottom:-6px;height:10px;border-bottom:2px solid #809c49;border-radius:50%;transform:rotate(-3deg)}.hero-description{max-width:440px}.hero-art.shop-poster{height:490px;background:#d9ef9c;border-radius:1px;transform:rotate(2deg);overflow:visible;box-shadow:7px 8px 0 #1423290a;border:1px solid #b4c783;padding:25px 30px}.poster-top{display:flex;justify-content:space-between;gap:20px;font-size:7px;font-weight:700;letter-spacing:1.1px;padding-bottom:17px;border-bottom:1px solid #14232955}.poster-type{position:absolute;left:30px;top:70px;font-size:73px;font-weight:800;line-height:.92;letter-spacing:-4px}.poster-type>span:not(.poster-potential){font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:69px;letter-spacing:-4px}.poster-type .poster-potential{font-size:63px;letter-spacing:-3.5px;font-family:Georgia,serif;font-style:italic;font-weight:400;display:inline-block;transform:translateX(16px)}.poster-spark{position:absolute;font-size:126px;right:23px;top:203px;line-height:1;transform:rotate(12deg)}.poster-sticker{position:absolute;right:-19px;bottom:56px;transform:rotate(-12deg);background:#fffdf3;border:1px solid #c9cabf;color:#24352e;width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:18px;line-height:1.1;text-align:center;box-shadow:2px 4px 0 #14232912}.poster-sticker em{font-family:Georgia,serif}.poster-bottom{position:absolute;bottom:22px;left:30px;right:30px;border-top:1px solid #14232955;padding-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:1px}.poster-bottom>span:last-child{font-size:27px;line-height:1}.service-strip{background:#f0f2e9}.service-strip .wrap{font-size:11px;letter-spacing:1px}.editorial-services{display:block;border-top:1px solid var(--ink)}.editorial-services .service-card{display:grid;grid-template-columns:40px 1.05fr 1fr 44px;gap:24px;align-items:center;min-height:0;padding:30px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.editorial-services .service-card:hover{transform:none;background:#edf1e5}.editorial-services .service-number{align-self:start;padding-top:5px;font-size:12px}.editorial-services h3{font-size:26px;letter-spacing:-.8px;margin:0 0 7px}.editorial-services .card-link{font-size:11px;color:var(--muted);font-weight:400;padding:0}.editorial-services p{margin:0;max-width:390px;font-size:13px}.editorial-services .card-arrow{border:0;font-size:32px;transition:transform .2s}.editorial-services a:hover .card-arrow{transform:translate(3px,-3px)}.focus-section h2{font-size:50px}.contact-grid h2{font-size:52px}.form-panel{border-radius:2px;box-shadow:7px 7px 0 #14232908}.button{border-radius:3px} .section-head{margin-bottom:50px}.footer-top .brand-mark span{color:#7f9f43}
@media(max-width:1100px){.hero{gap:45px}.hero h1{font-size:65px}.hero-art.shop-poster{height:450px;padding:22px}.poster-type{font-size:66px;left:23px}.poster-type>span:not(.poster-potential){font-size:61px}.poster-type .poster-potential{font-size:55px}.poster-spark{font-size:100px;right:16px;top:204px}.poster-top{font-size:6px;gap:8px}.poster-sticker{width:111px;height:111px;font-size:16px;right:-12px}.editorial-services .service-card{grid-template-columns:25px 1fr 1fr 35px;gap:18px}.editorial-services h3{font-size:24px}.focus-section h2{font-size:43px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:42px;padding-block:44px}.hero h1{font-size:clamp(57px,10.5vw,78px);letter-spacing:-3px}.hero-art.shop-poster{max-width:470px;width:calc(100% - 14px);height:450px;margin:5px auto 15px}.poster-type{font-size:74px;left:27px}.poster-type>span:not(.poster-potential){font-size:68px}.poster-type .poster-potential{font-size:62px}.poster-top{font-size:7px}.poster-spark{font-size:110px;right:28px;top:200px}.poster-sticker{right:-12px;bottom:47px}.editorial-services .service-card{grid-template-columns:25px 1fr 28px;gap:13px;padding:26px 0}.editorial-services .service-title{grid-column:2}.editorial-services .service-card p{grid-column:2;grid-row:2;font-size:13px;max-width:100%;margin-top:-3px}.editorial-services .card-arrow{grid-column:3;grid-row:1;font-size:28px}.editorial-services h3{font-size:24px}.focus-section h2,.contact-grid h2{font-size:43px}.section-head{margin-bottom:32px}}
@media(max-width:390px){.hero-art.shop-poster{height:410px}.poster-type{font-size:65px}.poster-type>span:not(.poster-potential){font-size:58px}.poster-type .poster-potential{font-size:53px}.poster-spark{font-size:86px;top:193px;right:16px}.poster-sticker{width:93px;height:93px;font-size:14px;bottom:43px}.poster-top{font-size:6px}}
.section-title{font-size:clamp(42px,4.8vw,64px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin-bottom:0}.contact-grid .section-title{margin-bottom:26px}.page-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:65px;border-top:1px solid var(--line)}.page-cta h2{margin-bottom:14px}.page-cta p:last-child{margin:0;color:var(--muted);font-size:14px}.section-more{margin-top:28px}nav a[aria-current="page"]:not(.button){text-decoration:underline;text-underline-offset:7px;text-decoration-color:#809c49}@media(max-width:850px) and (min-width:761px){nav{gap:17px}.nav{gap:20px}}@media(max-width:760px){.page-cta{align-items:flex-start;flex-direction:column;padding-block:45px}.section-title{font-size:43px}}
.content-section{border-top:1px solid var(--line)}.content-section .section-head{margin-bottom:35px}.content-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.content-columns h3{font-size:23px;margin-bottom:17px}.content-columns p,.reading-copy{font-size:15px;line-height:1.85;color:var(--muted)}.content-columns p{margin-bottom:0}.story-section{border-top:1px solid var(--line)}.story-section h2{max-width:760px}.reading-copy{max-width:780px}.story-section .text-link{margin-top:12px}.detail-grid .large-copy{font-size:19px;line-height:1.7;color:var(--ink)}.related-section{border-top:1px solid var(--line);padding-top:55px}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.related-links a{border-block:1px solid var(--line);padding:24px 12px;transition:background .15s}.related-links a:hover{background:#edf1e5}.related-links h3{font-size:22px}.related-links p{font-size:14px;color:var(--muted);margin:0}.faq-section+.faq-section{padding-top:55px}.contact-section+.content-section{border-top:0}@media(max-width:760px){.content-columns{grid-template-columns:1fr;gap:30px}.content-columns h3{margin-bottom:10px}.content-columns article+article{padding-top:25px;border-top:1px solid var(--line)}.related-links{grid-template-columns:1fr;gap:20px}.content-columns p,.reading-copy{font-size:14px}.detail-grid .large-copy{font-size:17px}}

/* Text-only calls to action. */
.editorial-services .service-card{grid-template-columns:40px 1.05fr 1fr}.button{justify-content:center}.card-arrow{display:none}@media(max-width:1100px){.editorial-services .service-card{grid-template-columns:25px 1fr 1fr}}@media(max-width:760px){.editorial-services .service-card{grid-template-columns:25px 1fr}}
/* TikTok Shop is a primary offering across the site. */
nav{gap:23px}nav .nav-priority{font-weight:700;text-decoration:underline;text-decoration-color:#9cb665;text-underline-offset:7px}.tiktok-feature{background:var(--ink);color:var(--paper);padding-block:78px}.tiktok-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.tiktok-feature .eyebrow{color:var(--lime)}.tiktok-feature h2{font-size:56px}.tiktok-feature h2 .serif{color:var(--lime)}.tiktok-intro{max-width:435px;color:#d1dcd6;font-size:16px;line-height:1.8}.tiktok-actions{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:28px}.tiktok-actions .button{background:var(--lime);border-color:var(--lime);color:var(--ink)}.tiktok-actions .button:hover{background:#e3ffa3}.tiktok-actions .text-link{color:var(--paper)}.tiktok-offering article{display:grid;grid-template-columns:30px 1fr;gap:16px;padding-block:23px;border-top:1px solid #ffffff30}.tiktok-offering article>span{font-size:11px;color:var(--lime);padding-top:5px}.tiktok-offering h3{font-size:23px;margin-bottom:12px}.tiktok-offering p{font-size:14px;line-height:1.8;color:#cbd6d1;margin-bottom:0}.tiktok-offering .tiktok-fit{font-size:12px;border-top:1px solid #ffffff30;padding-top:20px}.tiktok-hero{background:linear-gradient(110deg,transparent 65%,#eaf0df 65%)}
@media(max-width:1100px){nav{gap:16px;font-size:12px}.tiktok-feature-grid{gap:40px}.tiktok-feature h2{font-size:47px}}
@media(max-width:960px){.menu-toggle{display:flex;gap:15px;align-items:center;border:1px solid var(--line);padding:9px 12px;border-radius:5px;background:none;font-size:13px}.nav{position:relative}nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:10;background:var(--paper);padding:24px;border:1px solid var(--line);align-items:stretch;gap:20px;font-size:14px}nav.open{display:flex;flex-direction:column}}
@media(max-width:760px){.tiktok-feature{padding-block:50px}.tiktok-feature-grid{grid-template-columns:1fr;gap:40px}.tiktok-feature h2{font-size:44px}.tiktok-intro{font-size:15px}.tiktok-hero{background:none}}

.service-directory-strip .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;padding-block:22px}.service-directory-strip a{font-size:12px;letter-spacing:0;padding:4px 0;border-bottom:1px solid transparent}.service-directory-strip a:hover{border-color:var(--ink)}.offering-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px}.offering-columns article{border-top:1px solid var(--ink);padding-top:27px;display:flex;flex-direction:column;align-items:flex-start}.offering-columns h3{font-size:32px}.offering-columns p{font-size:15px;line-height:1.8;color:var(--muted)}.offering-links{list-style:none;padding:0;margin:0 0 26px;width:100%}.offering-links li{border-bottom:1px solid var(--line)}.offering-links a{display:block;padding:11px 0;font-size:14px}.offering-links a:hover{text-decoration:underline;text-underline-offset:4px}.offering-columns .button{margin-top:auto}.offering-columns p.offering-note{font-size:13px}.poster-bottom{font-size:7px}@media(max-width:760px){.offering-columns{grid-template-columns:1fr;gap:40px}.offering-columns h3{font-size:28px}.service-directory-strip .wrap{gap:7px 20px}.service-directory-strip a{font-size:11px}.footer-bottom{flex-wrap:wrap;gap:12px}}
.poster-bottom>span:only-child{font-size:7px;line-height:1.5;letter-spacing:1px}

.all-services-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;margin:25px 0 32px}.all-services-overview a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:600}.all-services-overview a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.all-services-overview{grid-template-columns:1fr 1fr;gap:0 20px}}@media(max-width:430px){.all-services-overview{grid-template-columns:1fr}}

.service-category-strip .wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding-block:25px;text-align:center}.service-category-strip a{font-size:14px;letter-spacing:0;font-weight:500;padding:8px 15px}.service-category-strip a+a{border-left:1px solid var(--line)}.service-category-strip a:hover{text-decoration:underline;text-underline-offset:5px}.service-category-strip a:last-child{color:var(--muted);font-size:13px}@media(max-width:760px){.service-category-strip .wrap{width:calc(100% - 24px);grid-template-columns:1fr 1.25fr .85fr;padding-block:17px}.service-category-strip a{font-size:12px;padding:7px 8px}.service-category-strip a:last-child{font-size:12px}}

.service-category-strip .wrap{grid-template-columns:repeat(4,1fr)}.service-category-strip a:last-child{color:var(--ink);font-size:14px}@media(max-width:760px){.service-category-strip .wrap{grid-template-columns:repeat(4,1fr)}.service-category-strip a,.service-category-strip a:last-child{font-size:12px}}@media(max-width:430px){.service-category-strip .wrap{grid-template-columns:1fr 1fr;row-gap:8px}.service-category-strip a:nth-child(3){border-left:0}}

/* Full service names with a stronger desktop presence. */
.service-category-strip a,.service-category-strip a:last-child{font-size:17px;font-weight:600;line-height:1.45;padding:10px 16px}.service-category-strip .wrap{padding-block:27px;align-items:center}@media(max-width:1100px){.service-category-strip a,.service-category-strip a:last-child{font-size:15px;padding:8px 12px}}@media(max-width:760px){.service-category-strip .wrap{grid-template-columns:1fr 1fr;row-gap:12px;padding-block:19px}.service-category-strip a,.service-category-strip a:last-child{font-size:13px;padding:7px 10px}.service-category-strip a:nth-child(3){border-left:0}}
/* Larger service banner lettering on desktop. */
@media(min-width:1101px){.service-category-strip a,.service-category-strip a:last-child{font-size:21px;line-height:1.4;padding:12px 16px}.service-category-strip .wrap{padding-block:30px}}
@media(min-width:761px) and (max-width:1100px){.service-category-strip a,.service-category-strip a:last-child{font-size:18px}}
/* Prominent lettering throughout laptop-sized preview and desktop layouts. */
@media(min-width:700px){.service-category-strip a,.service-category-strip a:last-child{font-size:24px;font-weight:600;line-height:1.35;padding:12px 18px}.service-category-strip .wrap{padding-block:26px}}
@media(min-width:700px) and (max-width:1100px){.service-category-strip .wrap{grid-template-columns:1fr 1fr;row-gap:14px}.service-category-strip a:nth-child(3){border-left:0}}
/* Subtle size increase for laptop and desktop service banners. */
@media(min-width:700px){.service-category-strip a,.service-category-strip a:last-child{font-size:18px;line-height:1.4;padding:10px 14px}.service-category-strip .wrap{padding-block:22px}}
@media(min-width:700px){.service-category-strip a,.service-category-strip a:last-child{font-size:16px}}

/* Balanced home service groups with shared row alignment. */
.home-offerings .section-head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:42px}.home-offerings .section-head>p{max-width:440px;justify-self:start}.offering-columns{gap:56px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.offering-columns article{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-items:start;padding:28px 0 0;row-gap:22px}.offering-columns h3{margin:0;font-size:30px}.offering-columns article>p{margin:0;max-width:540px;font-size:15px;line-height:1.75}.offering-columns .offering-links{margin:0;align-self:stretch;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,minmax(52px,auto));column-gap:24px}.offering-columns article:nth-child(2) .offering-links{grid-template-columns:1fr}.offering-links li{display:flex;align-items:stretch}.offering-links a{width:100%;display:flex;align-items:center;padding:13px 0;line-height:1.5}.offering-columns .button{margin:4px 0 0;justify-self:start;align-self:start;min-height:48px}.home-offerings .section-more{margin-top:34px}.offering-links a:hover{color:#526b2b}@media(max-width:900px){.home-offerings .section-head,.offering-columns{gap:32px}.offering-columns h3{font-size:26px}.offering-columns .offering-links{column-gap:18px}.offering-links a{font-size:13px}}@media(max-width:760px){.home-offerings .section-head{grid-template-columns:1fr;gap:18px}.home-offerings .section-head>p{margin:0}.offering-columns{grid-template-columns:1fr;gap:38px}.offering-columns article{grid-row:auto;grid-template-rows:auto;gap:19px}.offering-columns .offering-links{grid-template-rows:repeat(3,minmax(48px,auto))}.offering-columns .button{margin-top:3px}.home-offerings .section-more{margin-top:28px}}

/* Homepage colour rhythm: cream, white, navy, pale green. */
.homepage .home-white{background:#fff}.homepage .home-lime{background:#eaf0df}.homepage .focus-section{background:#eaf0df;color:var(--ink)}.homepage .focus-section h2 .serif{color:#526b2b}.homepage .focus-section p.large-copy{color:var(--ink)}.homepage .focus-section p:not(.large-copy){color:var(--muted)}.homepage .focus-section .text-link{color:var(--ink)}.homepage .home-white .story-section,.homepage .home-lime .page-cta{border-top:0}

.contact-help{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 15px}
.site-footer{background:#142329;color:#fafbf7;padding:0}.footer-lead{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:52px;border-bottom:1px solid #ffffff24}.footer-lead h2{font-size:38px;margin-bottom:14px}.footer-lead h2 .serif{color:var(--lime)}.footer-lead p{font-size:14px;color:#cbd6d1;margin:0}.footer-lead .button{background:var(--lime);color:var(--ink);border-color:var(--lime)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:40px;padding-block:48px}.footer-grid h3{font-size:15px;font-weight:600;letter-spacing:0;margin:0 0 18px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin-bottom:10px}.footer-grid a:not(.brand){font-size:13px;color:#d5ddd8}.footer-grid a:hover,.footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}.footer-brand p{font-size:13px;line-height:1.75;color:#cbd6d1;max-width:230px;margin:22px 0 12px}.footer-legal{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;gap:25px;padding-block:23px;font-size:11px;color:#cbd6d1}.footer-legal>div{display:flex;gap:23px;flex-wrap:wrap}.legal-page{max-width:860px;padding-block:65px}.legal-page h1{font-size:52px}.legal-date{font-size:13px;color:var(--muted)}.legal-draft{background:#eaf0df;border-left:3px solid #7f9f43;padding:19px 22px;font-size:14px;margin:24px 0 32px}.legal-draft strong{display:block;margin-bottom:5px}.legal-page section{margin-top:34px}.legal-page section h2{font-size:27px;letter-spacing:-.5px;margin-bottom:14px}.legal-page section p{font-size:15px;line-height:1.85}.legal-page section a{text-decoration:underline;text-underline-offset:3px}.legal-index{display:grid;position:static;grid-template-columns:1fr 1fr;gap:11px 25px;padding:0 0 28px;background:none;border:0;border-bottom:1px solid var(--line);font-size:13px}.legal-index a{text-decoration:underline;text-underline-offset:3px}@media(max-width:960px){.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-legal{flex-direction:column;gap:15px}}@media(max-width:600px){.footer-lead{align-items:flex-start;flex-direction:column;gap:23px}.footer-lead h2{font-size:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-brand{grid-column:1/-1}.footer-legal>div{gap:12px 19px}.legal-page{padding-block:42px}.legal-page h1{font-size:38px}.legal-index{grid-template-columns:1fr}}

/* Mobile navigation: a clear toggle and spacious anchored panel. */
@media(max-width:960px){
.header .menu-toggle{min-height:46px;min-width:102px;justify-content:center;gap:13px;padding:11px 15px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:24px;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,color .18s;flex-shrink:0}
.header .menu-toggle:hover,.header .menu-toggle[aria-expanded="true"]{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.menu-icon{display:block;position:relative;width:18px;height:14px}.menu-icon>span{position:absolute;left:0;display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .18s,top .18s}.menu-icon>span:first-child{top:3px}.menu-icon>span:last-child{top:10px}
.menu-toggle[aria-expanded="true"] .menu-icon>span:first-child{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon>span:last-child{top:6px;transform:rotate(-45deg)}
.header #navigation{top:calc(100% - 5px);left:0;right:0;padding:14px 20px 20px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 36px #1423291c;gap:0;max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain;z-index:30}
.header #navigation>a:not(.button){display:flex;align-items:center;min-height:52px;padding:13px 8px;font-size:16px;font-weight:500;text-decoration:none;letter-spacing:0;border-bottom:1px solid var(--line)}
.header #navigation>a:not(.button):hover,.header #navigation>a[aria-current="page"]:not(.button){background:#eaf0df;border-radius:5px;color:var(--ink)}
.header #navigation>.button{margin-top:17px;min-height:48px;width:100%;font-size:14px;justify-content:center;border-radius:5px}
}
@media(max-width:360px){.header .menu-toggle{min-width:86px;padding-inline:12px;gap:9px}.header .brand{gap:8px;font-size:15px}.header .brand small{font-size:6px;letter-spacing:1.6px}}

/* Meeting enquiries and calendar hand-off. */
.booking-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);align-items:start;padding-top:80px;padding-bottom:90px}
.booking-intro>p{max-width:490px;color:#59666a;font-size:18px;line-height:1.7}
.booking-topics{list-style:none;padding:0;margin:36px 0 0}
.booking-topics li{padding:20px 0;border-top:1px solid #dce1d7;display:grid;gap:6px}
.booking-topics span{color:#59666a;line-height:1.6}
.booking-panel{background:#eff2e7;border:1px solid #dce1d7;border-radius:16px;padding:clamp(24px,4vw,48px)}
.booking-panel h2{font-size:clamp(28px,3vw,38px);line-height:1.15;margin:0 0 20px}
.booking-panel p{line-height:1.7}.booking-panel>.button{margin-top:16px}
.booking-alternative{border-top:1px solid #cdd5c2;margin-top:36px;padding-top:28px}.booking-alternative h3{font-size:19px;margin:0}
@media(max-width:760px){.booking-layout{grid-template-columns:1fr;padding-top:40px;padding-bottom:48px;gap:28px}.booking-panel .button{width:100%;text-align:center}}

.booking-layout{grid-template-columns:1fr;gap:36px}.booking-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.booking-intro>p{align-self:center}.booking-topics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:12px}.booking-panel{min-width:0}.booking-calendar{display:block;width:100%;height:780px;border:0;margin-top:24px;background:#fff;border-radius:10px}.booking-alternative{margin-top:24px}@media(max-width:760px){.booking-intro{display:block}.booking-topics{display:block}.booking-calendar{height:850px}.booking-panel{padding:20px 12px}}

.contact-welcome{padding-top:64px;padding-bottom:56px;max-width:1000px;text-align:center}.contact-welcome>p{max-width:580px;margin:24px auto;color:#59666a;font-size:18px;line-height:1.7}.contact-choices{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap}.combined-contact #contact,.combined-contact #book-a-call{scroll-margin-top:110px}.combined-contact .contact-section{padding-top:56px;padding-bottom:56px}.contact-calendar{padding-top:56px;padding-bottom:16px}@media(max-width:760px){.contact-welcome{padding-top:40px;padding-bottom:36px}.contact-welcome>p{font-size:16px}.contact-calendar{padding-top:32px}}

.business-availability{margin:28px 0;padding:24px 0;border-top:1px solid #dce1d7;border-bottom:1px solid #dce1d7}.business-availability h3{font-size:19px;margin:0 0 8px}.business-availability p{font-size:16px;line-height:1.65;margin:0 0 20px}.business-availability p:last-child{margin-bottom:0}

.direct-contact{margin-top:28px}.direct-contact h3{font-size:19px;margin-bottom:8px}.direct-contact a,.footer-grid a{overflow-wrap:anywhere}.direct-contact p{line-height:1.9}

/* Phone-only refinements: larger layouts retain their existing appearance. */
.booking-mobile{display:none}
@media(max-width:699px){
 .homepage .hero-art.shop-poster{display:none}
 .homepage .hero{grid-template-columns:minmax(0,1fr);gap:0}
 .homepage .service-category-strip .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 40px);gap:0;padding:12px 0;align-items:stretch}
 .homepage .service-category-strip a,.homepage .service-category-strip a:last-child{display:flex;align-items:center;justify-content:center;text-align:center;min-height:76px;padding:14px 10px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0;border:0;color:var(--ink);overflow-wrap:normal}
 .homepage .service-category-strip a:nth-child(even){border-left:1px solid var(--line)}
 .homepage .service-category-strip a:nth-child(n+3){border-top:1px solid var(--line)}
 .booking-desktop{display:none}
 .booking-mobile{display:block}
 .booking-mobile .button{width:100%;justify-content:center;min-height:48px;text-align:center}
}

/* Consistent two-line service labels on phones. */
@media(max-width:699px){
 .homepage .service-category-strip .wrap{width:calc(100% - 32px);padding:8px 0}
 .homepage .service-category-strip a,.homepage .service-category-strip a:last-child{min-height:80px;padding:16px 6px;font-size:13px;line-height:1.5;font-weight:600;white-space:normal}
 .homepage .service-category-strip .service-label-second{display:block}
}

/* One horizontal service row on phones. */
@media(max-width:699px){
 .homepage .service-category-strip .wrap{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;width:100%;gap:0;padding:0 16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}
 .homepage .service-category-strip a,.homepage .service-category-strip a:last-child{flex:0 0 auto;min-height:64px;padding:20px 18px;font-size:13px;line-height:1.5;white-space:nowrap;border:0}
 .homepage .service-category-strip a+a{border-left:1px solid var(--line)}
 .homepage .service-category-strip .service-label-second{display:inline}
}
