/*
Theme Name: Suidpunt Coastal
Theme URI: https://suidpuntnutsman.co.za/
Author: Suidpunt Nutsman
Description: A cheerful bilingual one-page home for Suidpunt Nutsman, with a WhatsApp repair-list builder and consent-controlled Meta Pixel.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: suidpunt-coastal
*/
:root{--ink:#213139;--yellow:#ffdd16;--cream:#fffdf4;--soft:#f5f1e3;--muted:#536168;--line:#dedfce;--radius:26px;--shadow:0 12px 0 #2131390b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}a,button,input,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #087da1;outline-offset:5px}button{color:inherit}img{max-width:100%;height:auto;display:block}svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Trebuchet MS",Arial,sans-serif;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(48px,5.5vw,80px);margin-bottom:27px;font-weight:900}h2{font-size:clamp(34px,3.6vw,51px);margin-bottom:24px}h3{font-size:25px;letter-spacing:-.025em}p{margin-bottom:20px}button{border:0;background:none}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.section{padding-block:105px}.t-en{display:none}html[lang^="en"] .t-af{display:none}html[lang^="en"] .t-en{display:inline}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;background:var(--yellow);z-index:9999;padding:14px 20px}.skip:focus{top:15px}.notice{padding:9px 20px;background:var(--ink);color:var(--cream);text-align:center;font-size:12px;font-weight:700;letter-spacing:.04em}.notice>span:first-child,.notice>span:last-child{color:var(--yellow);padding-inline:16px}.header{position:sticky;top:0;background:#fffdf4f5;backdrop-filter:blur(12px);z-index:30;border-bottom:1px solid #21313914}.admin-bar .header{top:32px}.nav{height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:16px;letter-spacing:.12em;font-weight:800;line-height:1.2}.brand svg{width:37px;height:48px;color:var(--ink)}.brand strong{display:block;font-size:23px;letter-spacing:.055em}.brand-dot{color:#ab8200}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav nav a{text-decoration:none}.nav nav a:hover{box-shadow:0 3px 0 var(--yellow)}.nav-end{display:flex;align-items:center;gap:16px}.language{display:flex;border:1px solid var(--line);border-radius:99px;padding:4px}.language button{min-height:34px;min-width:35px;font-size:12px;font-weight:800;border-radius:99px}.language button[aria-pressed=true]{background:var(--ink);color:white}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:58px;padding:16px 27px;background:var(--yellow);color:var(--ink);text-decoration:none;font-weight:800;font-size:15px;border:2px solid var(--ink);border-radius:13px;box-shadow:3px 4px 0 var(--ink);transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(2px,2px);box-shadow:1px 2px 0 var(--ink)}.button.small{font-size:13px;padding:10px 17px;min-height:44px;gap:15px;border-radius:9px}.button.dark{background:var(--ink);color:white;box-shadow:3px 4px 0 #21313944}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:35px;min-height:650px;padding-top:60px;padding-bottom:70px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;line-height:1.6;margin-bottom:24px}.pin{color:#d8a80a;margin-right:9px}.underlined{position:relative;isolation:isolate;white-space:nowrap}.underlined:after{content:"";position:absolute;left:-3px;bottom:2px;height:18%;width:103%;background:var(--yellow);border-radius:50% 20% 30% 40%;z-index:-1;transform:rotate(-2deg)}.intro{max-width:540px;font-size:18px;color:var(--muted);line-height:1.75}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:31px}.text-link{font-size:14px;font-weight:800;text-decoration:underline;text-decoration-color:#c4a914;text-decoration-thickness:2px}.reassurance{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;font-weight:700;margin-top:28px}.hero-art{height:500px;position:relative}.sun-disc{position:absolute;background:var(--yellow);width:400px;height:400px;border-radius:49% 51% 48% 44%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-13deg);box-shadow:25px 18px 0 #f7edbe}.character{background-image:url('assets/handyman-services.webp');background-size:300% 200%;aspect-ratio:1;width:100%;background-repeat:no-repeat}.pose-0{background-position:0 0}.pose-1{background-position:50% 0}.pose-2{background-position:100% 0}.pose-3{background-position:0 100%}.pose-4{background-position:50% 100%}.pose-5{background-position:100% 100%}.hero-character{width:460px;max-width:100%;position:absolute;top:20px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 18px 6px #2131391a)}.hello-sticker{position:absolute;top:15px;right:-5px;border:2px solid var(--ink);background:white;border-radius:17px;padding:12px 18px;transform:rotate(6deg);box-shadow:4px 4px 0 var(--ink)}.hello-sticker span{display:block;font-family:"Trebuchet MS",sans-serif;font-size:19px;font-weight:900}.hello-sticker small{font-size:12px}.local-sticker{position:absolute;bottom:20px;left:0;display:flex;align-items:center;gap:13px;padding:13px 20px;border:2px solid var(--ink);background:var(--cream);border-radius:16px;transform:rotate(-5deg);box-shadow:4px 4px 0 var(--yellow)}.local-sticker svg{height:39px;width:32px}.local-sticker span{font-size:12px;line-height:1.4}.local-sticker strong{display:block;font-size:16px}.spark{position:absolute;font-size:45px;z-index:1}.spark-one{left:5px;top:95px}.spark-two{right:0;bottom:65px}.service-ribbon{padding:20px 24px;text-align:center;background:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.8;border-block:2px solid var(--ink)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:44px}.section-top>div{max-width:600px}.section-top>p{max-width:360px;font-size:15px;color:var(--muted);margin-bottom:25px}.section-top h2{margin-bottom:20px}.section-top .eyebrow{margin-bottom:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-illustration{height:244px;background:#f9f3d9;position:relative;display:flex;justify-content:center}.service-illustration .character{width:244px;height:244px}.service-card:nth-child(2) .service-illustration,.service-card:nth-child(5) .service-illustration{background:#eef5f0}.service-card:nth-child(3) .service-illustration,.service-card:nth-child(6) .service-illustration{background:#eef4f8}.service-number{position:absolute;left:20px;top:18px;font-size:11px;font-weight:800;border:1px solid #21313940;border-radius:50%;width:29px;height:29px;text-align:center;line-height:27px}.card-body{padding:26px;display:flex;flex-direction:column;flex:1}.card-body h3{font-size:23px;margin-bottom:15px;min-height:49px}.card-body p{font-size:14px;color:var(--muted);line-height:1.7;flex:1;margin-bottom:24px}.add-service{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 0;font-size:13px;font-weight:800;min-height:49px;text-align:left}.add-icon{border:1px solid var(--ink);border-radius:50%;width:26px;height:26px;text-align:center;line-height:23px;font-size:20px;margin-left:8px;flex-shrink:0;background:var(--yellow)}.add-service[aria-pressed=true]{color:#1c6840}.add-service[aria-pressed=true] .add-icon{background:#d1efce}.service-note{text-align:center;color:var(--muted);font-size:13px;margin:33px auto 0;max-width:750px}.how-section{background:var(--ink);color:var(--cream);padding-block:80px}.how-section .eyebrow{color:var(--yellow);margin-bottom:18px}.how-section h2{max-width:750px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px}.step-number{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--yellow);border-radius:50%;color:var(--ink);font-weight:800;font-size:14px;margin-bottom:24px}.steps h3{font-size:25px}.steps p{color:#d5dddf;font-size:15px;margin-bottom:0}.planner-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.planner-intro{max-width:425px;color:var(--muted)}.mini-helper{display:flex;align-items:center;gap:5px;max-width:450px;margin-top:30px}.mini-helper .character{width:180px;flex-shrink:0}.mini-helper strong{font-family:"Trebuchet MS",sans-serif;font-size:19px;line-height:1.2;display:block}.mini-helper p{font-size:13px;line-height:1.5;margin-top:10px}.quote-form{background:white;padding:32px;border:2px solid var(--ink);border-radius:var(--radius);box-shadow:9px 10px 0 var(--yellow)}.quote-form h3{font-size:28px}.quote-form fieldset{border:0;padding:0;margin:0 0 23px}.quote-form legend,.quote-form>label{font-size:13px;font-weight:800;margin-bottom:8px;display:block}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-choice{font-size:12px;display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:11px 10px;line-height:1.35;cursor:pointer;background:var(--cream)}input[type=checkbox]{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0}.service-choice:has(input:checked){background:#fff3a0;border-color:#9a7900}.quote-form input:not([type=checkbox]),.quote-form textarea{display:block;width:100%;padding:12px;border:1px solid #a8b0ad;border-radius:10px;background:var(--cream);font-size:15px;margin-bottom:17px;color:var(--ink)}.quote-form textarea{resize:vertical}.quote-form .button{width:100%;margin-top:5px;font-size:14px}.form-note{font-size:11px;color:var(--muted);line-height:1.6;margin:16px 0 0}.quote-form #form-status{font-size:12px;margin:12px 0 0}.local-section{background:#eff3ec;padding-block:85px}.local-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:center}.local-art{position:relative;max-width:360px}.local-art img{border-radius:40% 47% 39% 45%;transform:rotate(-4deg)}.local-badge{position:absolute;bottom:-15px;right:-35px;border:2px solid var(--ink);background:var(--yellow);padding:12px 20px;border-radius:12px;transform:rotate(5deg);font-size:11px;font-weight:900;letter-spacing:.08em}.local-badge strong{font-size:16px;letter-spacing:-.03em}.local-layout h2{font-size:40px}.local-layout p:not(.eyebrow){font-size:16px;color:var(--muted)}.area-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.area-chips span{border:1px solid #b0beb0;background:white;padding:7px 15px;border-radius:99px;font-size:12px;font-weight:800}.local-layout p.small-copy{font-size:12px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faqs details{border-bottom:1px solid var(--line)}.faqs details:first-child{border-top:1px solid var(--line)}summary{padding:20px 35px 20px 0;cursor:pointer;font-weight:700;font-size:16px;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:16px;font-size:24px}details[open] summary:after{content:'−'}.faqs details p{font-size:14px;color:var(--muted);padding-right:25px}.contact-section{background:var(--yellow);padding:85px 0;text-align:center;position:relative}.contact-section h2{font-size:clamp(38px,4.8vw,68px)}.contact-section .eyebrow{max-width:95%;margin-inline:auto}.contact-section p{margin-bottom:0}.phone-link{font-size:clamp(30px,4vw,50px);font-weight:900;letter-spacing:-.04em;text-decoration:none;display:block;margin-bottom:26px}.contact-actions{display:flex;gap:30px;align-items:center;justify-content:center;flex-wrap:wrap}.email-link{font-size:15px;font-weight:700;overflow-wrap:anywhere}.contact-offers{font-size:12px;font-weight:700;margin-top:27px}.footer{background:var(--ink);color:#f6f7ee;padding:50px 0 25px}.footer .brand svg{color:var(--yellow)}.footer .brand strong{color:var(--yellow)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-main p{font-size:13px;color:#ccd6d8;margin:0}.footer-main>a:last-child{font-size:14px;font-weight:800;text-decoration:none}.footer-bottom{margin-top:38px;padding-top:23px;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#ccd6d8;flex-wrap:wrap}.footer-bottom button{font-size:11px;text-decoration:underline;color:inherit;padding:0}.floating-chat{position:fixed;bottom:22px;right:22px;z-index:35;display:flex;align-items:center;gap:9px;padding:10px 17px;background:var(--ink);color:white;border:2px solid var(--yellow);border-radius:99px;text-decoration:none;box-shadow:0 5px 15px #0002;font-size:13px;font-weight:800}.floating-chat span{font-size:22px;line-height:1}.cookie-banner{position:fixed;z-index:60;bottom:14px;left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 28px));padding:20px 22px;background:white;border:2px solid var(--ink);border-radius:18px;display:flex;align-items:center;gap:20px;box-shadow:0 10px 60px #0003}.cookie-banner>div{flex:1}.cookie-banner strong{font-size:15px}.cookie-banner p{font-size:12px;line-height:1.6;margin:3px 0 0}.cookie-banner>button{flex-shrink:0;font-size:12px;text-decoration:underline}.cookie-banner .button{text-decoration:none}.cookie-banner:not([hidden])~*{pointer-events:auto}dialog{border:2px solid var(--ink);border-radius:24px;padding:38px;width:min(620px,calc(100% - 30px));max-height:85vh;overflow:auto;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#17272dc9;backdrop-filter:blur(4px)}dialog h2{font-size:33px;margin-top:15px}dialog p{font-size:14px}.close-dialog{position:absolute;right:15px;top:9px;width:35px;height:35px;font-size:28px}.privacy-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.privacy-actions>button:not(.button){text-decoration:underline;font-size:13px}#privacy-status{font-weight:700;font-size:13px;margin-top:20px}
@media(min-width:1500px){.hero{min-height:700px}}@media(max-width:1100px){.nav{gap:18px}.nav nav{gap:20px;font-size:12px}.nav-end{gap:9px}.hero{gap:15px}.hero-art{height:450px}.sun-disc{width:340px;height:340px}.hero-character{top:40px}.hello-sticker{right:0;top:20px}.planner-section,.local-layout,.faq-section{gap:50px}.service-illustration{height:210px}.service-illustration .character{width:210px;height:210px}.card-body{padding:23px}.card-body h3{font-size:21px}.local-layout h2{font-size:34px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.nav{height:88px}.nav nav{display:none}.hero{grid-template-columns:1fr 1fr;padding-block:45px;min-height:560px}.hero h1{font-size:48px}.hero .intro{font-size:15px}.hero-art{height:390px}.sun-disc{width:270px;height:270px}.hero-character{top:42px;width:330px}.hello-sticker{font-size:12px;padding:9px 12px;right:-8px}.hello-sticker span{font-size:15px}.hello-sticker small{font-size:10px}.local-sticker{bottom:14px;padding:8px 12px}.local-sticker svg{height:30px}.hero-actions{gap:15px}.hero-actions .button{font-size:13px;padding:13px 17px;min-height:52px}.hero-actions .text-link{font-size:12px}.reassurance{gap:10px;font-size:10px}.section{padding-block:70px}.section-top{gap:30px}.section-top>p{font-size:14px;max-width:280px}.service-grid{grid-template-columns:repeat(2,1fr);gap:20px}.service-illustration{height:240px}.service-illustration .character{width:240px;height:240px}.card-body h3{min-height:0}.steps{gap:28px}.steps h3{font-size:21px}.steps p{font-size:13px}.planner-section{gap:30px}.quote-form{padding:24px}.choice-grid{grid-template-columns:1fr}.mini-helper{display:block}.mini-helper .character{width:170px}.local-layout{gap:40px}.local-badge{right:-10px;padding:10px}.faq-section{grid-template-columns:1fr;gap:15px}.cookie-banner{flex-wrap:wrap;gap:10px}.cookie-banner>div{flex-basis:100%}.cookie-banner>button{flex:1}.footer-main{gap:20px}.brand{font-size:13px}.brand strong{font-size:20px}}
@media(max-width:600px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 36px)}.notice{font-size:10px;line-height:1.45;padding:8px 12px}.notice>span:first-child,.notice>span:last-child{display:none}.nav{height:80px;gap:10px}.brand{font-size:10px;gap:7px}.brand strong{font-size:17px}.brand svg{width:27px;height:37px}.nav-end .button{display:none}.language button{min-width:34px;min-height:32px}.hero{grid-template-columns:1fr;padding-top:37px;padding-bottom:35px;gap:10px}.hero-copy{text-align:center}.hero .eyebrow{font-size:9px;margin-bottom:22px;letter-spacing:.09em}.hero h1{font-size:52px;margin-bottom:22px}.hero .intro{font-size:15px;max-width:450px;margin-inline:auto}.hero-actions{justify-content:center;gap:22px;margin-top:25px}.hero-actions .button{font-size:14px}.hero-actions .text-link{font-size:13px}.reassurance{justify-content:center;font-size:11px;margin-top:22px;gap:18px}.hero-art{height:370px;max-width:380px;width:100%;margin:auto}.hero-character{width:340px;top:4px}.sun-disc{width:300px;height:300px;top:48%}.hello-sticker{right:-1px;top:18px}.local-sticker{left:4px;bottom:13px}.spark-one{left:12px;top:80px;font-size:28px}.spark-two{font-size:30px;right:10px;bottom:35px}.service-ribbon{font-size:9px;padding:15px 20px;letter-spacing:.08em}.section{padding-block:60px}.section-top{display:block;margin-bottom:30px}.section-top h2{font-size:37px}.section-top>p{max-width:none;font-size:14px}.eyebrow{font-size:10px;margin-bottom:17px}.service-grid{grid-template-columns:1fr;gap:23px}.service-card{display:grid;grid-template-columns:125px 1fr;min-height:220px;border-radius:19px}.service-illustration{height:auto;min-height:100%;overflow:hidden;align-items:center}.service-illustration .character{width:155px;height:155px;flex-shrink:0}.service-number{top:11px;left:10px;width:25px;height:25px;font-size:9px;line-height:23px}.card-body{padding:19px 16px}.card-body h3{font-size:20px;line-height:1.15;margin-bottom:12px}.card-body p{font-size:12px;margin-bottom:15px}.add-service{font-size:11px;padding-top:12px;min-height:39px;gap:4px}.add-icon{width:22px;height:22px;line-height:19px;font-size:17px}.service-note{font-size:12px;margin-top:28px}.how-section{padding-block:60px}.how-section h2{font-size:36px}.steps{grid-template-columns:1fr;gap:27px;margin-top:28px}.steps article{position:relative;padding-left:62px}.step-number{position:absolute;left:0;top:0;width:39px;height:39px}.steps h3{margin-bottom:12px;font-size:23px}.steps p{font-size:14px}.planner-section{grid-template-columns:1fr;gap:28px}.planner-section h2{font-size:43px}.planner-intro{font-size:15px}.mini-helper{display:flex;margin-top:0}.mini-helper .character{width:135px}.mini-helper strong{font-size:17px}.mini-helper p{font-size:12px}.quote-form{padding:24px 20px;box-shadow:5px 6px 0 var(--yellow);margin-right:5px}.quote-form h3{font-size:27px}.choice-grid{grid-template-columns:1fr 1fr}.service-choice{font-size:11px;padding:11px 7px;gap:5px}.quote-form .button{font-size:12px;padding-inline:13px;gap:12px}.local-section{padding-block:60px}.local-layout{grid-template-columns:1fr;gap:48px}.local-art{max-width:230px;margin-inline:auto}.local-badge{right:-20px;bottom:-15px}.local-layout h2{font-size:33px}.local-layout p:not(.eyebrow){font-size:14px}.faq-section{gap:10px}.faqs summary{font-size:15px}.faqs details p{font-size:13px}.contact-section{padding-block:65px}.contact-section h2{font-size:40px}.contact-section .eyebrow{font-size:9px;max-width:300px}.phone-link{font-size:40px;margin-bottom:25px}.contact-actions{gap:23px}.contact-actions .button{font-size:13px}.email-link{font-size:14px}.footer{padding-top:38px;padding-bottom:90px}.footer-main{align-items:flex-start;flex-wrap:wrap}.footer-main p{font-size:11px}.footer-main>a:last-child{width:100%;font-size:13px}.footer-bottom{font-size:10px;gap:15px;margin-top:25px}.footer-bottom button{font-size:10px}.floating-chat{bottom:15px;right:15px;font-size:12px;padding:9px 14px}.cookie-banner{padding:17px;bottom:9px}.cookie-banner strong{font-size:14px}.cookie-banner p{font-size:11px}.cookie-banner .button{font-size:11px;padding:9px;box-shadow:2px 2px 0 var(--ink)}dialog{padding:27px 23px}dialog h2{font-size:27px}dialog p{font-size:13px}.privacy-actions{gap:12px}}
@media(max-width:360px){.hero h1{font-size:44px}.service-card{grid-template-columns:105px 1fr}.card-body{padding:16px 13px}.service-choice{font-size:10px}.choice-grid{grid-template-columns:1fr}.hero-art{height:340px}.hero-character{width:310px}.sun-disc{width:270px;height:270px}.hero-actions{gap:18px}.contact-section h2{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
