/* CampLabs: local visual proposal. All graphics and styling are self-contained. */
:root{--paper:#f5f6ee;--ink:#102c31;--lime:#dfff80;--line:#cdd3c9;--muted:#4b6060;--white:#fff;--error:#a02c23;--radius:6px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a{color:inherit}
button{color:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
svg{display:block}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #487117;outline-offset:5px}
button:disabled{cursor:default}
::selection{background:var(--lime);color:var(--ink)}
.wrap{max-width:1344px;margin-inline:auto;width:calc(100% - 112px)}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:12px 20px;background:var(--ink);color:var(--lime);border-radius:4px}
.skip-link:focus{top:16px}
.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.wordmark{display:inline-flex;align-items:center;gap:8px;font-weight:750;letter-spacing:-1.7px;font-size:30px;text-decoration:none;line-height:1.2;white-space:nowrap}
.wordmark svg{width:39px;height:36px;fill:none;stroke:currentColor;stroke-width:4}
.brand-dot{width:7px;height:7px;border-radius:50%;background:currentColor;align-self:flex-end;margin-bottom:5px;margin-left:-5px}
.site-header nav{display:flex;gap:32px;align-items:center}
.site-header nav a{text-decoration:none;font-size:14px;font-weight:600}
.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}
.nav-contact{padding:11px 18px;border:1px solid var(--ink);border-radius:8px}
.nav-contact span{margin-left:20px}
.menu-toggle{display:none}
.hero{padding-top:30px}
.hero-topline,.hero-bottom,.section-kicker{display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:600;letter-spacing:.07em}
.hero-topline>span:first-child{display:flex;align-items:center;gap:9px}
.status-dot{width:6px;height:6px;border-radius:50%;background:#59783a}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;padding:62px 0 55px}
.hero h1{font-size:clamp(54px,6.55vw,95px);line-height:1.04;letter-spacing:-.065em;font-weight:580;margin:0 0 28px}
.hero h1>span{position:relative;isolation:isolate;white-space:nowrap}
.hero h1>span:after{content:"";position:absolute;bottom:4px;left:-2px;right:-4px;height:29%;background:var(--lime);z-index:-1;transform:rotate(-1.7deg)}
.hero-copy>p{font-size:16px;max-width:415px;line-height:1.8;margin:0 0 28px;color:var(--muted)}
.button{display:inline-flex;gap:38px;align-items:center;justify-content:space-between;padding:17px 22px;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;border:1px solid transparent;min-height:52px;transition:background .18s,transform .18s}
.button-dark{background:var(--ink);color:var(--paper)}
.button:hover{background:#25474b;transform:translateY(-2px)}
.button>span{font-size:20px;font-weight:400}
.hero-note{font-size:12px;margin-top:13px;color:var(--muted)}
.hero-bottom{border-top:1px solid var(--line);padding:20px 0 26px;font-size:12px;letter-spacing:.02em}
.hero-bottom>a{text-decoration:none}
.hero-bottom>a>span{margin-left:25px;font-size:18px}
.hero-art{position:relative;aspect-ratio:1;max-width:520px;width:100%;justify-self:end;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#e9eede 0%,#ecf0e5 52%,transparent 72%);color:#a9b8a3}
.art-coordinate{position:absolute;right:0;top:3%;font:9px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;color:var(--muted)}
.connection-lines{width:100%;height:100%;position:absolute;inset:0;opacity:.8}
.art-core{position:absolute;left:33%;top:37%;width:34%;height:32%;background:var(--ink);border-radius:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;box-shadow:0 24px 50px #102c3124,inset 0 1px 0 #ffffff25;transform:rotate(-6deg);color:var(--paper)}
.art-core svg{width:59px;fill:none;stroke:var(--lime);stroke-width:3}
.art-core>span{font-size:12px;font-weight:550}
.art-card{position:absolute;left:3%;top:9%;width:49%;padding:14px;border:1px solid #c3ccba;background:var(--paper);border-radius:14px;box-shadow:0 22px 45px #102c3114,0 2px 4px #102c3108;transform:rotate(-9deg)}
.mini-label{font:8px ui-monospace,monospace;letter-spacing:.12em;color:var(--ink)}
.tiny-browser{position:absolute;right:14px;top:18px;display:flex;gap:3px}
.tiny-browser>i{width:3px;height:3px;background:#9cab9b;border-radius:50%}
.web-block{margin-top:13px;background:var(--lime);border-radius:3px;position:relative;height:112px;padding:15px;color:var(--ink)}
.web-block>b{font-weight:600;font-size:27px;line-height:1;letter-spacing:-1px;display:block}
.web-block>span{position:absolute;width:19px;height:5px;background:var(--ink);right:10px;top:10px}
.web-block>i{position:absolute;right:12px;bottom:6px;font-style:normal;font-size:30px}
.art-pill{position:absolute;border-radius:50px;display:flex;align-items:center;gap:12px;padding:13px 21px;color:var(--ink);background:var(--paper);border:1px solid #bfcaba;font-size:13px;box-shadow:0 12px 25px #102c3110,0 1px 2px #102c3108;white-space:nowrap}
.art-pill>span{font-size:23px;line-height:1}
.pill-content{right:-1%;top:26%;transform:rotate(10deg)}
.pill-process{left:1%;bottom:15%;transform:rotate(5deg)}
.pill-data{right:0;bottom:19%;transform:rotate(-10deg);background:var(--lime);border-color:var(--lime)}
.art-spark{position:absolute;left:57%;top:8%;font-size:52px;color:var(--ink);line-height:1;transform:rotate(12deg)}
.art-footnote{position:absolute;bottom:1%;left:30%;font-size:9px;color:var(--muted)}
.section-pad{padding-block:88px}
.section-kicker{font-size:12px;letter-spacing:.1em;align-items:center}
.small-cross{font-size:30px;font-weight:400;line-height:1}
.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end;margin-top:31px;margin-bottom:45px}
h2{font-size:clamp(38px,4.2vw,60px);font-weight:550;line-height:1.08;letter-spacing:-.05em;margin:0}
h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}
h3{font-weight:550;letter-spacing:-.035em}
.section-heading>p{font-size:15px;color:var(--muted);max-width:350px;margin:0 0 3px;line-height:1.8;justify-self:end}
.services{background:var(--ink);color:var(--paper)}
.services .section-heading>p{color:#b5c4bf;font-size:15px}
.service-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:65px}
.service-buttons{border-top:1px solid #416064}
.service-choice{background:none;border:0;border-bottom:1px solid #416064;color:var(--paper);display:flex;gap:20px;align-items:center;text-align:left;width:100%;padding:23px 12px 23px 0;font-size:18px;letter-spacing:-.03em;transition:color .2s,padding .2s}
.service-choice>span{font:10px ui-monospace,monospace;color:#a0b7b1;letter-spacing:0;font-size:12px}
.service-choice>i{font-size:25px;font-style:normal;margin-left:auto;font-weight:350}
.service-choice.active,.service-choice:hover{color:var(--lime);padding-left:12px}
.service-choice.active>span{color:var(--lime)}
.services :focus-visible{outline-color:var(--lime)}
.service-detail{background:var(--lime);color:var(--ink);padding:34px;border-radius:18px;display:flex;flex-direction:column;justify-content:space-between;min-height:435px;position:relative;overflow:hidden}
.detail-symbol{position:absolute;right:26px;top:15px;font-size:75px;line-height:1;transform:rotate(15deg);opacity:.18}
.eyebrow{font-size:12px;letter-spacing:.09em;font-weight:650;margin:0 0 20px}
.service-detail h3{font-size:33px;line-height:1.1;margin:0 0 15px;max-width:330px}
.service-detail>div:last-child{margin-top:auto;padding-top:35px}
.service-detail p:not(.eyebrow){font-size:14px;max-width:390px;line-height:1.8}
.service-detail ul{padding-left:16px;font-size:13px;line-height:2;margin:18px 0 22px}
.text-link{font-size:14px;font-weight:600;text-underline-offset:5px;background:none;border:0;padding:0}
.text-link>span{margin-left:12px}
.no-script-services{border:1px solid #416064;padding:24px;margin-top:20px}
.process .section-kicker>span:last-child{font-weight:400;letter-spacing:.02em}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}
.process-grid>article{border-top:1px solid var(--line);padding-top:24px}
.step-number{font:12px ui-monospace,monospace;display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;margin-bottom:27px}
.process-grid h3{font-size:20px;margin:0 0 12px}
.process-grid p{font-size:14px;line-height:1.85;color:var(--muted);max-width:320px;margin:0}
.questions{background:#e9ede3}
.faq-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}
.faq-layout h2{font-size:48px}
.faq-layout>div:first-child>p:last-child{font-size:14px;color:var(--muted);margin-top:25px;line-height:2}
.faq-layout .text-link{color:var(--ink);font-size:14px}
.faq-list{border-top:1px solid #b9c4b6}
.faq-list details{border-bottom:1px solid #b9c4b6}
.faq-list summary{padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;list-style:none;font-weight:550;font-size:15px;cursor:pointer;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font-size:22px;font-weight:350;flex-shrink:0;transition:transform .2s}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details>p{font-size:14px;color:var(--muted);padding:0 30px 25px 0;line-height:1.85;margin:0}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:47px}
.contact-copy h2{font-size:clamp(43px,4.7vw,65px);position:relative}
.hello-star{display:inline-block;color:#6c8937;font-size:55px;line-height:1;vertical-align:top;margin:6px 0 0 16px;transform:rotate(10deg)}
.contact-copy>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:300px;margin-top:27px}
.email-link{display:inline-block;font-size:14px;margin:6px 0 15px;text-underline-offset:5px;overflow-wrap:anywhere}
.email-link>span{margin-left:8px}
.copy-email{display:block;font-size:12px}
.copy-email[hidden]{display:none}
.contact-copy .status-message{margin-top:8px;font-size:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{margin-bottom:19px}
.field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}
.optional{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;max-width:100%;border:1px solid #bcc8b8;border-radius:8px;background:#fafbf7;color:var(--ink);padding:12px;font-size:13px;line-height:1.5;min-height:48px}
textarea{resize:vertical;min-height:112px}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--error)}
.field-error{display:block;font-size:12px;color:var(--error);margin-top:5px}
.field-error:empty{display:none}
.form-note{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 16px}
.form-submit{width:100%;text-align:left}
.status-message{font-size:12px;line-height:1.7;margin-bottom:0;overflow-wrap:anywhere}
.status-message:empty{display:none}
.site-footer{background:var(--ink);color:var(--paper);padding-block:29px}
.footer-inner{display:flex;align-items:center;gap:30px}
.site-footer .wordmark{font-size:24px}
.site-footer .wordmark svg{width:30px}
.footer-inner>p,.footer-inner>span{font-size:12px;color:#b5c4bf;margin:0}
.footer-inner>span{margin-left:auto;font-size:12px}
.back-top{text-decoration:none;border:1px solid #4c6664;border-radius:50%;display:flex;justify-content:center;align-items:center;width:35px;height:35px;flex-shrink:0}
.site-footer :focus-visible{outline-color:var(--lime)}
.service-detail :focus-visible{outline-color:var(--ink)}
@media(min-width:1440px){.hero-grid{padding-block:70px 65px}
.hero-art{margin-right:10px}
.hero h1{font-size:95px}
}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}
.site-header nav{gap:22px}
.hero-grid{padding-block:50px}
.hero h1{font-size:clamp(52px,6.7vw,74px)}
.hero-copy>p{font-size:14px;max-width:355px}
.hero-art{max-width:430px}
.art-pill{padding:10px 15px;font-size:11px;gap:8px;box-shadow:0 12px 25px #102c3110,0 1px 2px #102c3108}
.art-core>span{font-size:10px}
.art-core svg{width:45px}
.web-block{height:90px}
.web-block>b{font-size:23px}
.service-layout{gap:35px}
.service-choice{font-size:16px;gap:13px}
.service-detail{padding:34px;min-height:435px;border-radius:18px}
.section-heading{gap:40px}
.contact-layout{gap:50px}
.process-grid{gap:28px}
.faq-layout{gap:45px}
}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}
.site-header{min-height:86px;position:relative;flex-wrap:wrap;gap:0}
.wordmark{font-size:27px}
.menu-toggle:not([hidden]){display:flex;align-items:center;gap:16px;background:none;border:1px solid var(--line);border-radius:4px;padding:7px 12px;font-size:12px;min-height:42px}
.menu-toggle>span{font-size:22px;line-height:1}
.site-header nav{width:100%;justify-content:space-between;gap:16px;padding:10px 0 18px}
.js .site-header nav{display:none}
.js .site-header nav.is-open{display:flex}
.site-header nav a{font-size:14px}
.nav-contact{padding:7px 10px;border-radius:8px}
.nav-contact span{margin-left:8px}
.hero-topline{font-size:12px;letter-spacing:.02em}
.hero-grid{grid-template-columns:1fr 1fr;gap:0;padding-block:45px}
.hero h1{font-size:clamp(44px,7vw,57px)}
.hero-copy>p{font-size:13px;line-height:1.8;max-width:290px}
.hero-art{margin-left:10px;width:calc(100% - 10px)}
.hero-note{font-size:12px;max-width:210px}
.art-card{padding:10px;left:2%;top:12%;width:52%;border-radius:14px;box-shadow:0 22px 45px #102c3114,0 2px 4px #102c3108}
.web-block{height:73px;margin-top:8px;padding:10px}
.web-block>b{font-size:20px}
.tiny-browser{top:15px;right:10px}
.art-pill{padding:8px 11px;font-size:9px;gap:6px;box-shadow:0 12px 25px #102c3110,0 1px 2px #102c3108}
.art-pill>span{font-size:18px}
.art-core{border-radius:22px;gap:4px;box-shadow:0 24px 50px #102c3124,inset 0 1px 0 #ffffff25}
.art-core svg{width:35px}
.art-core>span{font-size:8px}
.art-spark{font-size:38px}
.art-coordinate{font-size:7px}
.art-footnote{font-size:7px;left:26%}
.section-pad{padding-block:65px}
.section-heading{margin-top:28px;gap:30px}
.section-heading>p{font-size:15px}
.service-layout{gap:25px;grid-template-columns:1fr 1.1fr}
.service-choice{font-size:14px;gap:10px;padding-block:22px}
.service-choice>span{font-size:12px}
.service-detail{padding:34px;min-height:435px;border-radius:18px}
.service-detail h3{font-size:29px}
.service-detail p:not(.eyebrow){font-size:14px}
.service-detail ul{font-size:13px;line-height:2}
.process-grid{gap:22px}
.process-grid h3{font-size:18px}
.process-grid p{font-size:14px}
.faq-layout{gap:30px;grid-template-columns:.8fr 1.2fr}
.faq-layout h2{font-size:39px}
.faq-list summary{font-size:15px;padding-block:22px}
.contact-layout{gap:30px}
.contact-copy h2{font-size:45px}
.contact-copy>p{font-size:14px}
.email-link{font-size:14px}
.hello-star{font-size:38px;margin-left:7px}
.form-row{gap:12px}
.footer-inner{gap:20px}
.footer-inner>p{display:none}
.contact .section-kicker>span:last-child{letter-spacing:0}
}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}
.site-header{min-height:80px}
.site-header nav,.js .site-header nav.is-open{flex-direction:column;align-items:stretch;gap:0;padding-top:12px}
.site-header nav a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:14px}
.site-header nav .nav-contact{border:0;border-bottom:1px solid var(--line);border-radius:8px}
.nav-contact span{float:right}
.hero{padding-top:23px}
.hero-topline{font-size:12px;gap:12px}
.hero-grid{grid-template-columns:1fr;padding:40px 0 24px;gap:10px}
.hero h1{font-size:clamp(47px,11.8vw,70px);margin-bottom:24px}
.hero-copy>p{font-size:14px;max-width:350px;margin-bottom:24px}
.hero-note{font-size:12px;max-width:none}
.hero-art{width:100%;max-width:380px;justify-self:center;margin:15px 0 0}
.art-card{width:49%;left:3%;padding:13px;top:9%;border-radius:14px;box-shadow:0 22px 45px #102c3114,0 2px 4px #102c3108}
.web-block{height:97px;padding:13px}
.web-block>b{font-size:26px}
.mini-label{font-size:8px}
.art-core svg{width:48px}
.art-core>span{font-size:10px}
.art-core{gap:9px;border-radius:22px;box-shadow:0 24px 50px #102c3124,inset 0 1px 0 #ffffff25}
.art-pill{font-size:11px;padding:11px 16px;gap:9px;box-shadow:0 12px 25px #102c3110,0 1px 2px #102c3108}
.art-pill>span{font-size:21px}
.art-coordinate{font-size:8px}
.art-footnote{font-size:8px;left:29%}
.art-spark{font-size:45px}
.hero-bottom{font-size:12px;align-items:center;padding-block:17px;gap:22px;line-height:1.6}
.hero-bottom>a{max-width:135px;text-align:right}
.hero-bottom>a>span{margin-left:5px}
.section-pad{padding-block:55px}
.section-kicker{font-size:12px;gap:15px}
.section-heading{grid-template-columns:1fr;margin-top:26px;margin-bottom:30px;gap:23px}
h2{font-size:43px}
.section-heading>p{justify-self:start;font-size:15px;max-width:340px}
.service-layout{grid-template-columns:1fr;gap:24px}
.service-choice{font-size:16px;padding:18px 8px 18px 0;gap:17px}
.service-choice>span{font-size:12px}
.service-detail{min-height:435px;padding:34px;border-radius:18px}
.service-detail h3{font-size:34px}
.service-detail p:not(.eyebrow){font-size:14px}
.service-detail ul{font-size:13px;line-height:2}
.service-detail>div:last-child{padding-top:25px}
.process .section-kicker>span:last-child{display:none}
.process-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}
.process-grid>article{padding:23px 0 0 59px;position:relative;min-height:130px}
.step-number{position:absolute;left:0;top:23px;width:35px;height:35px;margin:0;font-size:11px}
.process-grid h3{font-size:20px;margin-top:2px}
.process-grid p{font-size:14px;max-width:none}
.faq-layout{grid-template-columns:1fr;gap:25px}
.faq-layout h2{font-size:43px}
.faq-layout>div:first-child>p:last-child{margin-top:20px;font-size:14px}
.faq-list summary{font-size:15px;padding-block:22px}
.faq-list details>p{font-size:14px;padding-right:15px}
.contact-layout{grid-template-columns:1fr;gap:35px;margin-top:32px}
.contact .section-kicker>span:last-child{display:none}
.contact-copy h2{font-size:55px}
.hello-star{font-size:47px;margin-left:14px}
.contact-copy>p{font-size:14px;max-width:330px}
.email-link{font-size:14px}
.form-row{gap:16px}
.field label{font-size:12px}
input,select,textarea{font-size:16px;border-radius:8px;background:#fafbf7;min-height:48px}
.form-note{font-size:12px}
.footer-inner{flex-wrap:wrap;gap:15px;justify-content:space-between}
.site-footer .wordmark{font-size:26px}
.footer-inner>span{order:3;width:100%;margin:0;font-size:12px}
.back-top{margin-left:auto}
.site-footer{padding-block:24px}
}
@media(max-width:350px){.wrap{width:calc(100% - 32px)}
.hero-topline{font-size:12px}
.hero h1{font-size:43px}
.hero-art{margin-top:10px}
.art-pill{font-size:10px;padding:9px 12px;box-shadow:0 12px 25px #102c3110,0 1px 2px #102c3108}
.web-block{height:80px}
.web-block>b{font-size:23px}
.hero-bottom{font-size:12px}
.contact-copy h2{font-size:48px}
.form-row{grid-template-columns:1fr;gap:0}
.service-detail{padding:34px;border-radius:18px;min-height:435px}
h2{font-size:39px}
.section-kicker{font-size:12px}
}
/* Editorial refinements: hierarchy, tactile controls and generous reading space. */
.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.secondary-action{display:inline-flex;align-items:center;gap:14px;min-height:48px;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid transparent}
.secondary-action:hover{border-bottom-color:var(--ink)}
.secondary-action>span{font-size:18px}
.hero-tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:27px 0 0;list-style:none}
.hero-tags>li{border:1px solid #cbd4c4;border-radius:30px;padding:4px 11px;font-size:11px;color:var(--muted);background:#ffffff38}
.hero-note{margin-top:14px;line-height:1.7}
.hero-art:before{content:"";position:absolute;inset:17%;border-radius:50%;border:1px solid #c6d4bd;background:radial-gradient(circle at 35% 25%,#f8faef88,transparent 65%);box-shadow:0 0 0 25px #e8eede30;transform:rotate(-12deg)}
.art-card{border-color:#c2ccba;background:linear-gradient(135deg,#fffef7,#eef2e8)}
.art-core{border:1px solid #355052}
.art-core>span{letter-spacing:.01em}
.art-pill{border-color:#bcc9b4;background:linear-gradient(150deg,#fefef8,#eef2e6)}
.art-pill.pill-data{background:var(--lime);border-color:#cced72}
.web-block{border-radius:6px;box-shadow:inset 0 0 0 1px #102c3109}
.service-buttons{padding-top:3px}
.service-choice{min-height:64px;transition:background .18s,color .18s,padding .18s;position:relative;border-radius:7px 7px 0 0}
.service-choice.active{background:#dfff800a}
.service-choice:hover{background:#ffffff08}
.service-choice:focus-visible{outline-offset:3px;background:#ffffff0a}
.service-detail{border:1px solid #efffc057;box-shadow:0 15px 40px #0014181a}
.service-detail h3{font-weight:580;max-width:355px}
.service-detail .eyebrow{max-width:80%;line-height:1.6;margin-bottom:21px}
.service-detail ul{padding-left:18px;margin-block:20px 25px}
.service-detail li::marker{color:#49652d}
.service-detail .text-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.detail-symbol{top:19px;right:26px;opacity:.13}
.process-grid{gap:25px}
.process-grid>article{padding:26px 24px 28px;border:1px solid #d5ddcf;border-radius:13px;background:linear-gradient(150deg,#ffffff65,#f5f6ee);box-shadow:0 5px 16px #102c3103}
.process-grid>article:nth-child(2){background:linear-gradient(150deg,#eef2e6,#f5f6ee)}
.step-number{background:#e8eddd;border-color:transparent;font-size:12px;color:#355038;margin-bottom:29px}
.process-grid h3{line-height:1.3}
.process-grid p{line-height:1.9}
.faq-list{border-top:0}
.faq-list details{padding-inline:16px;border-bottom-color:#bfcbba;border-radius:7px;transition:background .18s}
.faq-list details:first-child{border-top:1px solid #bfcbba}
.faq-list details:hover{background:#ffffff3d}
.faq-list details[open]{background:#f5f7ef}
.faq-list summary{min-height:72px;line-height:1.6}
.faq-list summary:focus-visible{outline-offset:0;border-radius:4px}
.faq-list summary>span{width:28px;height:28px;border-radius:50%;border:1px solid #bbc7b6;display:flex;align-items:center;justify-content:center;font-size:21px}
.faq-list details[open] summary>span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.contact-layout{gap:65px;align-items:start}
.contact-form{padding:31px;background:#ffffff85;border:1px solid #d2dbcb;border-radius:18px;box-shadow:0 14px 40px #102c3105}
.field{margin-bottom:21px}
.field label{margin-bottom:9px;line-height:1.6}
input,select,textarea{padding:12px 13px;transition:border-color .18s,background .18s}
input:hover,select:hover,textarea:hover{border-color:#92a98b}
input:focus,select:focus,textarea:focus{background:#fff;border-color:#57744e}
.field-error{line-height:1.6}
.form-note{line-height:1.8}
.email-link{line-height:1.9;text-decoration-thickness:1px;text-decoration-color:#95a58d}
.email-link:hover{text-decoration-color:var(--ink)}
.copy-email{min-height:44px}
.footer-inner>p,.footer-inner>span{line-height:1.7}
@media(min-width:1101px){.hero-grid{padding-top:65px;padding-bottom:56px}.hero-copy>p{max-width:440px}.section-heading{margin-bottom:49px}.service-layout{gap:55px}.service-choice{padding-block:25px}.process-grid{margin-top:49px}}
@media(min-width:601px) and (max-width:1000px){.hero-actions{gap:14px}.hero-actions .button{padding:14px 16px;gap:15px;font-size:13px}.hero-actions .secondary-action{font-size:12px;gap:8px}.hero-tags{gap:5px;margin-top:21px}.hero-tags>li{font-size:10px;padding:3px 8px}.hero-note{font-size:11px}.hero-topline{font-size:10px}.hero-bottom{font-size:11px}.contact-layout{gap:27px}.contact-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.email-link{font-size:13px}.process-grid>article{padding:23px 19px}.service-detail{padding:26px}.section-kicker{font-size:10px}.faq-list details{padding-inline:12px}}
@media(max-width:600px){.hero-actions{gap:22px}.hero-actions .button{font-size:13px;padding:16px 17px;gap:20px}.secondary-action{font-size:12px;gap:8px}.hero-topline{font-size:10px;line-height:1.7;gap:16px;align-items:start}.hero-topline>span:last-child{text-align:right;max-width:130px}.hero-topline>span:first-child{gap:7px}.status-dot{flex-shrink:0}.hero-note{font-size:11px}.hero-tags{margin-top:22px;gap:6px}.hero-tags>li{font-size:10px;padding:3px 9px}.hero-art{margin-top:20px}.hero-bottom{font-size:11px;gap:15px}.hero-bottom>a{max-width:155px}.section-kicker{font-size:10px;letter-spacing:.07em}.service-detail{padding:28px;min-height:440px;border-radius:17px}.service-detail .eyebrow{font-size:11px}.service-detail p:not(.eyebrow){font-size:14px}.service-detail ul{font-size:12px}.service-detail .text-link{font-size:13px}.process-grid{gap:17px}.process-grid>article{padding:24px 22px 25px 76px;min-height:150px;border-radius:12px}.step-number{left:22px;top:25px;margin:0}.process-grid p{font-size:14px}.faq-list summary{font-size:14px;gap:15px}.faq-list details>p{font-size:14px}.contact-layout{gap:30px}.contact-form{padding:25px 22px;border-radius:17px}.field label{font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.email-link{font-size:14px}.contact-copy>p{font-size:14px}.footer-inner>span{font-size:11px}}
@media(max-width:350px){.hero-actions{gap:12px}.hero-actions .button{padding:15px 13px;font-size:12px;gap:14px}.secondary-action{font-size:12px;gap:5px}.hero-topline{font-size:9px}.hero-topline>span:last-child{max-width:114px}.hero-tags{gap:5px}.hero-tags>li{padding-inline:8px}.hero-bottom{font-size:10px}.hero-bottom>a{max-width:132px}.service-detail{padding:24px;min-height:455px}.service-detail h3{font-size:31px}.section-kicker{font-size:9px}.contact-form{padding:23px 18px}.process-grid>article{padding-left:70px}.step-number{left:19px}.email-link{font-size:13px}}
/* V4: refinement of the owner's preferred ivory, petrol and lime direction. */
.hero-grid{padding-bottom:64px}
.hero-copy>p{max-width:455px;font-size:16px;line-height:1.85}
.hero-note{max-width:390px;margin-top:19px;font-size:12px}
.hero h1>span:after{height:23%;bottom:6px;transform:rotate(-1deg)}
.hero-art{background:radial-gradient(ellipse at center,#e8eede99,transparent 70%)}
.hero-art:before{box-shadow:none;background:none}
.connection-lines{opacity:.5}
.art-card{transform:rotate(-6deg);box-shadow:0 18px 32px #102c3110}
.art-core{transform:rotate(-3deg);box-shadow:0 20px 35px #102c311c}
.art-pill{box-shadow:0 6px 15px #102c3108}
.pill-content{transform:rotate(5deg)}
.pill-process{transform:rotate(2deg)}
.pill-data{transform:rotate(-5deg)}
.art-footnote{left:0;right:0;text-align:center;font-size:10px}
.service-detail{box-shadow:none;border-radius:14px;padding:38px}
.service-detail>div:last-child{padding-top:50px}
.service-detail ul{font-size:14px;line-height:1.9;margin-block:24px 28px}
.service-detail li{padding-bottom:5px}
.detail-symbol{font-size:52px;opacity:.1}
.service-choice.active{background:#dfff8010;border-bottom-color:#a1b964}
.service-choice.active>span{font-weight:700}
.process-grid>article,.process-grid>article:nth-child(2){box-shadow:none;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding-inline:0}
.step-number{border:1px solid #c5cfbc;background:#e8eddd}
.contact-form{box-shadow:none;border-radius:14px}
.field label{font-size:13px}
@media(max-width:800px){.hero-copy>p{font-size:14px}.service-detail{padding:30px}}
@media(max-width:600px){
  .hero-grid{padding-bottom:32px}
  .hero-copy>p{font-size:15px;max-width:370px}
  .hero-note{font-size:12px;max-width:310px}
  .hero-actions{gap:18px}
  .hero-actions .button{padding-inline:15px;gap:14px}
  .hero-art{margin-top:24px}
  .hello-star{display:none}
  .section-kicker{align-items:start;line-height:1.7}
  .section-kicker>span:last-child{text-align:right;max-width:130px}
  .service-detail{padding:28px;min-height:430px}
  .service-detail>div:last-child{padding-top:28px}
  .service-detail ul{font-size:13px;margin-block:20px 24px}
  .process-grid>article,.process-grid>article:nth-child(2){padding:24px 0 22px 56px;min-height:0}
  .step-number{left:0;top:25px}
  .contact-form{padding:25px 22px}
}
@media(max-width:350px){.hero-actions{gap:11px}.hero-actions .button{font-size:12px;padding-inline:12px;gap:10px}.service-detail{padding:24px}.contact-form{padding:23px 18px}}
.whatsapp-contact{margin-top:28px;padding-top:26px;border-top:1px solid var(--line);max-width:360px}
.button-whatsapp{background:var(--lime);color:var(--ink);border-color:#c7d69e;gap:24px}
.button-whatsapp:hover{background:#d0ef79}
.whatsapp-contact>p{font-size:13px;line-height:1.8;color:var(--muted);margin:13px 0 0}
.whatsapp-float{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:25;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:12px 18px;background:var(--ink);color:var(--paper);border:1px solid #365055;border-radius:32px;text-decoration:none;font-size:14px;font-weight:650;box-shadow:0 6px 22px #102c3125;transition:background .18s,transform .18s}
.whatsapp-float:hover{background:#25474b;transform:translateY(-2px)}
.whatsapp-float svg{width:25px;height:25px;stroke:var(--lime);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}
.whatsapp-float[hidden]{display:none}
.wa-external{font-weight:400;font-size:18px}
@media(max-width:600px){.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:13px;min-height:48px;padding:10px 15px;gap:8px}.whatsapp-float svg{width:23px;height:23px}.whatsapp-contact{max-width:none}.button-whatsapp{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}
