@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ink:#132d46;--muted:#657079;--blue:#1d4ed8;--paper:#fbfbf7;--line:#e0e4de;--mint:#edf2e9;--green:#38634b;--white:#fff;--radius:12px;--font:Manrope,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:clamp(1.0625rem, 1rem + .2vw, 1.125rem);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
img,svg{vertical-align:middle}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:650;line-height:1.15;letter-spacing:-.03em}
h1{font-size:clamp(2.5rem, 4.7vw, 4.5rem)}
h2{font-size:clamp(1.875rem, 3vw, 2.75rem)}
h3{font-size:1.25rem;letter-spacing:-.025em}
p{color:var(--muted)}
.container{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}
.icon{width:22px;height:22px;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:15px 24px;border-radius:6px;font-size:1rem;font-weight:650;line-height:1.4;letter-spacing:-.01em;transition:background .2s,transform .2s,box-shadow .2s;border:1px solid transparent}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #132d4610}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#244667}
.button-light{background:var(--paper);color:var(--ink)}
.button-outline{border-color:#cfd7d4;color:var(--ink);background:transparent}
.button-small{min-height:45px;padding:11px 17px;gap:20px;font-size:.9375rem}
.text-link{display:inline-flex;gap:12px;align-items:center;font-size:1rem;font-weight:650}
.text-link .icon{width:18px;height:18px;transition:transform .2s}
.text-link:hover .icon{transform:translateX(3px)}
.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.15em;line-height:1.5;color:var(--green);text-transform:uppercase;margin-bottom:21px}
.serif-word{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.035em}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px 20px}
.skip-link:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.preview-notice{text-align:center;font-size:.8125rem;background:#f6edd8;color:#6a5429;padding:5px 16px;letter-spacing:.015em}
.topline{border-bottom:1px solid var(--line);font-size:.8125rem;color:#53665f}
.topline>.container{display:flex;justify-content:space-between;align-items:center;height:35px}
.topline span,.topline a{display:flex;align-items:center;gap:7px}
.topline a>span{font-weight:650;margin-left:8px}
.topline .icon{height:12px;width:12px}
.site-header{position:sticky;top:0;z-index:40;background:#fbfbf7f7;border-bottom:1px solid var(--line)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.brand-mark{height:39px;width:39px;border-radius:9px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:39px;line-height:1;padding:0 0 9px 2px;font-weight:bold;letter-spacing:-6px}
.brand-mark>span{color:#bcd7a4;margin-left:2px}
.brand>span:last-child{font-size:19px;font-weight:800;letter-spacing:.025em;line-height:1.15}
.brand>span:last-child>span{display:block;font-size:8px;letter-spacing:.2em;margin-top:4px;font-weight:650}
.primary-nav{display:flex;align-items:center;gap:31px;font-size:1rem;font-weight:600}
.primary-nav>a:not(.button){padding:10px 0;position:relative}
.primary-nav>a:not(.button):after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.primary-nav>a:hover:after,.primary-nav>a[aria-current]:after{transform:scaleX(1)}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:36px;align-items:center;min-height:600px;padding-block:65px 70px}
.hero-copy{padding-bottom:8px}
.hero .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:28px}
.status-dot{height:6px;width:6px;background:#629462;border-radius:50%;box-shadow:0 0 0 4px #e7eee0}
.hero h1{font-size:clamp(2.5rem, 4.7vw, 4.5rem);line-height:1.08;letter-spacing:-.035em;font-weight:650}
.hero h1 .serif-word{position:relative;color:var(--green)}
.hero h1 .serif-word svg{position:absolute;width:105%;height:18px;bottom:-11px;left:-2%;fill:none;stroke:#9ab67e;stroke-width:2}
.hero-description{font-size:clamp(1.0625rem, 1.2vw + .3rem, 1.1875rem);line-height:1.9;margin-top:27px;letter-spacing:-.01em}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap}
.hero-actions .button{gap:25px}
.hero-actions .text-link{font-size:1rem;gap:7px}
.hero-actions .text-link>.icon{color:var(--green);width:17px;height:17px}
.hero-proof{display:flex;align-items:center;gap:9px;font-size:.875rem;margin-top:31px;color:#727b78;flex-wrap:wrap}
.proof-stars{color:#809759;letter-spacing:2px;font-size:.875rem}
.hero-proof strong{color:var(--ink);font-weight:700}
.hero-proof a{display:flex;align-items:center;gap:4px}
.hero-proof .icon{width:12px;height:12px}
.proof-divider{height:13px;width:1px;background:#d2d9cf;margin:0 3px}
.hero-visual{height:454px;position:relative;background:#eaf0e4;border-radius:14px;isolation:isolate;overflow:visible}
.visual-grid{position:absolute;inset:0;border-radius:14px;overflow:hidden;background-image:linear-gradient(#d8e1d54d 1px,transparent 1px),linear-gradient(90deg,#d8e1d54d 1px,transparent 1px);background-size:29px 29px;mask-image:linear-gradient(140deg,transparent,black,transparent)}
.visual-index{position:absolute;top:23px;left:24px;font-size:7px;font-weight:650;letter-spacing:.17em;color:#6d8065}
.orbit{position:absolute;border:1px solid #cbd8c1;border-radius:50%;width:340px;height:340px;top:55px;left:50%;transform:translateX(-50%);z-index:-1}
.orbit-two{width:405px;height:405px;top:22px;border-style:dashed;border-color:#d1dec9}
.document-stack{position:absolute;width:230px;height:310px;top:71px;left:50%;border-radius:7px;background:#d6e0ce;transform:translateX(-50%) rotate(-13deg)}
.stack-mid{transform:translateX(-50%) rotate(10deg);background:#faf9ef;border:1px solid #d6decf}
.hero-document{position:absolute;top:68px;left:50%;width:244px;height:321px;transform:translateX(-50%) rotate(-5deg);background:#fffefa;border:1px solid #d6ddd0;box-shadow:0 18px 27px #31452f15;border-radius:7px;padding:21px 22px;animation:document-in 1s ease both}
.document-brand{display:flex;gap:8px;align-items:center;border-bottom:1px solid #e4e8de;padding-bottom:13px}
.mini-mark{font:bold 28px/.8 Georgia,serif;letter-spacing:-3px}
.document-brand>span:nth-child(2){font-size:6px;line-height:1.6;letter-spacing:.08em;color:#7d8377}
.document-brand>.icon{margin-left:auto;height:15px;width:15px}
.document-heading{font-size:25px;line-height:1.15;font-weight:700;letter-spacing:-.04em;margin-top:17px}
.document-heading>span{color:#7f8e78;font-family:Georgia,serif;font-style:italic;font-size:28px;font-weight:400}
.document-lines{margin-top:15px;display:flex;flex-direction:column;gap:5px}
.document-lines>span{height:3px;width:80%;background:#edf0e8;border-radius:3px}
.document-lines>span:last-child{width:58%}
.document-checklist{margin-top:16px;display:flex;flex-direction:column;gap:8px;font-size:8px;color:#526454}
.document-checklist>span{display:flex;align-items:center;gap:7px}
.document-checklist .icon{width:12px;height:12px;background:#eaf0e4;border-radius:50%;padding:2px;color:#406a46}
.document-footer{position:absolute;bottom:14px;left:22px;right:22px;border-top:1px solid #e4e8de;padding-top:8px;display:flex;justify-content:space-between;font-size:4.5px;letter-spacing:.08em;color:#84907e}
.floating-note{position:absolute;display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:8px;border:1px solid #e0e5d9;background:#fffefa;box-shadow:0 10px 25px #31452f0a;z-index:2;font-size:8px;color:#758074;line-height:1.6;animation:note-in .7s .25s ease both}
.floating-note strong{display:block;font-weight:650;color:var(--ink);font-size:9px}
.note-top{top:71px;right:-15px;transform:rotate(3deg)}
.note-icon{height:30px;width:30px;display:grid;place-items:center;background:#edf1e6;border-radius:7px;color:#4d6941}
.note-icon>.icon{width:18px;height:18px}
.note-bottom{bottom:51px;left:-18px;transform:rotate(2deg);padding:12px 17px}
.whatsapp-bubble{background:var(--ink);color:#fff;height:34px;width:34px;border-radius:50%;display:grid;place-items:center}
.whatsapp-bubble .icon{width:20px;height:20px}
.note-check{margin-left:12px;height:18px;width:18px;border-radius:50%;background:#e7eedf;display:grid;place-items:center;color:#4f7547}
.note-check>.icon{height:12px;width:12px}
.visual-bottom{position:absolute;bottom:20px;right:23px;font-size:6px;letter-spacing:.17em;color:#77876b}
.visual-spark{position:absolute;bottom:15px;left:23px;font-size:35px;color:#7b965f}
.assurance-strip{border-block:1px solid var(--line);background:#f3f5ee}
.assurance-strip>.container{display:flex;justify-content:space-between;gap:20px;padding-block:20px}
.assurance-strip span{display:flex;align-items:center;gap:9px;font-size:.875rem;font-weight:550}
.assurance-strip .icon{height:15px;width:15px;color:#527145}
.section{padding-block:86px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}
.section-heading .eyebrow{margin-bottom:16px}
.section-heading>p{font-size:1rem;line-height:1.9;padding-bottom:3px}
.section-heading>.text-link{margin-bottom:5px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.category-card{display:flex;align-items:center;gap:19px;padding:25px 24px;border:1px solid var(--line);border-radius:8px;background:#fffefa;transition:transform .2s,border-color .2s,background .2s}
.category-card:hover{border-color:#91a790;background:#f4f7ee;transform:translateY(-3px)}
.category-icon{height:46px;width:46px;display:grid;place-items:center;color:var(--ink);border:1px solid #dde4d6;border-radius:8px;background:#fffefa;flex-shrink:0}
.category-icon>.icon{width:24px;height:24px}
.category-copy h3{font-size:1.125rem;letter-spacing:-.025em}
.category-copy p{font-size:.9375rem;margin-top:5px;color:var(--muted)}
.category-card-end{margin-left:auto;display:flex;align-items:center;gap:20px;flex-shrink:0}
.category-card-end>span{font-size:.875rem;color:var(--muted)}
.category-card-end>.icon{width:17px;height:17px}
.section-tail{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:27px;font-size:.875rem;color:var(--muted)}
.section-tail .text-link{font-size:1rem}
.process-section{background:#eaf0e5;padding-block:76px;border-block:1px solid #e0e6da}
.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.process-intro h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);line-height:1.2}
.process-intro h2 .serif-word{color:var(--green);display:inline-block;margin-top:3px}
.process-intro>p:not(.eyebrow){font-size:1rem;margin-top:20px;line-height:1.9}
.process-intro>.text-link{margin-top:26px;font-size:1rem}
.process-steps>article{display:flex;align-items:flex-start;gap:18px;padding-block:24px;border-bottom:1px solid #d5dfce}
.process-steps>article:first-child{padding-top:0}
.process-steps>article:last-child{padding-bottom:0;border-bottom:0}
.process-steps>article>span{font-size:.875rem;color:#6d8462;font-weight:700;padding-top:3px}
.process-steps h3{font-size:1.25rem;margin-bottom:9px}
.process-steps p{font-size:1rem;line-height:1.85;max-width:310px}
.process-steps .icon{margin-left:auto;color:#6b855d;width:20px;height:20px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.service-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:8px;background:#fffefa;min-height:235px;transition:transform .2s,border-color .2s}
.service-card:hover{border-color:#93a48b;transform:translateY(-4px)}
.service-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:12px}
.service-card-top>.icon{width:16px;height:16px;color:#8b9684}
.service-category{display:flex;align-items:center;gap:8px;color:#65785e;font-size:.875rem;font-weight:600}
.service-category>.icon{width:17px;height:17px}
.service-card h3{font-size:1.375rem;letter-spacing:-.035em;line-height:1.35}
.service-card>p{font-size:1rem;line-height:1.85;margin-top:10px;margin-bottom:23px}
.service-card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid #ebeee5;font-size:.875rem;font-weight:600}
.service-card-bottom>.icon{width:16px;height:16px}
.story-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-bottom:85px}
.story-art{min-height:385px;background:#f0eddf;border-radius:10px;position:relative;overflow:hidden}
.story-art-caption{position:absolute;top:25px;left:27px;font-size:8px;line-height:1.7;letter-spacing:.14em;color:#847b62}
.story-art-location{position:absolute;bottom:21px;left:27px;font-size:8px;letter-spacing:.09em;color:#847b62;display:flex;align-items:center;gap:7px}
.story-art-location>.icon{width:13px;height:13px}
.shop-illustration{position:absolute;width:265px;left:50%;bottom:48px;transform:translateX(-50%)}
.shop-sign{height:54px;background:var(--ink);color:#fff;font-size:21px;font-weight:750;letter-spacing:.06em;text-align:center;padding-top:7px;line-height:1.2;border-radius:3px 3px 0 0;box-shadow:inset 0 0 0 4px #ffffff16}
.shop-sign>span{display:block;font-size:7px;letter-spacing:.28em;margin-top:3px}
.shop-awning{height:24px;background:repeating-linear-gradient(90deg,#a5b893 0,#a5b893 26px,#ebecdc 26px,#ebecdc 52px);transform:perspective(60px) rotateX(15deg);margin-inline:-7px;border-radius:0 0 5px 5px;box-shadow:0 5px 4px #132d4614}
.shop-front{height:163px;background:#d9d9c7;display:flex;padding:15px 16px 0;gap:12px;border:5px solid #e8e6d7;border-top:0}
.shop-window{width:145px;height:117px;background:#becbbc;border:5px solid #f8f7ee;position:relative;padding:18px 13px;box-shadow:inset 10px 0 0 #9aad9f20}
.shop-window:after{content:'';position:absolute;right:14px;top:0;bottom:0;background:#ffffff25;width:12px;transform:skewX(-20deg)}
.shop-window>span{font:bold 44px/1 Georgia,serif;color:#536b5a;letter-spacing:-5px}
.shop-window>small{display:block;font-size:7px;line-height:1.5;color:#516653;margin-top:7px}
.shop-door{width:61px;background:#b7c3b2;border:5px solid #f8f7ee;border-bottom:0;position:relative}
.shop-door:before{content:'';position:absolute;left:0;right:0;top:75px;height:5px;background:#f8f7ee}
.shop-door>span{position:absolute;width:3px;height:15px;right:5px;top:54px;background:#f8f7ee}
.shop-ground{height:7px;background:#b0b7a3;margin-inline:-25px;border-radius:2px;box-shadow:0 9px 0 -3px #c6c9b7}
.story-copy .eyebrow{font-size:.75rem}
.story-copy h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);line-height:1.18;margin-bottom:23px}
.story-copy p:not(.eyebrow){font-size:1.0625rem;line-height:1.95;margin-bottom:13px}
.story-copy>.text-link{margin-top:15px;font-size:1rem}
.reviews-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.3fr;gap:65px}
.review-summary h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.google-rating{display:flex;align-items:center;gap:12px;margin-top:28px}
.google-letter{font-size:.875rem;font-weight:700;color:#4285f4}
.google-rating strong{font-size:.875rem;display:block;line-height:1.4}
.google-rating strong>span{color:#81975e;font-size:.875rem;letter-spacing:2px;margin-left:7px}
.google-rating small{font-size:.8125rem;color:#7b837a}
.google-rating>.icon{height:15px;width:15px;margin-left:8px;color:#7b837a}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.review-grid figure{border:1px solid var(--line);background:#fffefa;padding:26px 23px;border-radius:8px;display:flex;flex-direction:column}
.review-grid blockquote{margin:20px 0 28px;font-size:1.125rem;line-height:1.65;letter-spacing:-.025em;font-weight:500}
.review-grid figcaption{margin-top:auto;display:flex;align-items:center;gap:9px;font-size:.9375rem;font-weight:650}
.review-grid figcaption small{display:block;font-size:.8125rem;font-weight:400;color:var(--muted);margin-top:2px}
.review-avatar{height:29px;width:29px;background:#edf0e5;display:grid;place-items:center;border-radius:50%;font-size:.875rem;color:#667d5d}
.closing-cta{background:var(--ink);border-radius:12px;color:var(--paper);padding:50px 57px;display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;overflow:hidden;margin-top:5px;margin-bottom:78px}
.closing-cta>div{position:relative;z-index:1}
.closing-cta .eyebrow{color:#bfcea9;font-size:.75rem;margin-bottom:19px}
.closing-cta h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);line-height:1.18}
.closing-cta h2>.serif-word{color:#c6d4b5}
.closing-cta>div:nth-child(2){padding-right:25px}
.closing-cta p:not(.eyebrow){color:#c2cbd1;font-size:1.0625rem;line-height:1.8;margin-bottom:20px}
.closing-cta .button{font-size:1rem;min-height:48px;gap:25px}
.cta-watermark{position:absolute;right:3px;bottom:-80px;font:bold 330px/.9 Georgia,serif;color:#ffffff04;letter-spacing:-40px;pointer-events:none}
.site-footer{border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:35px;padding-block:45px 40px}
.footer-main .brand{transform:scale(.9);transform-origin:left center}
.footer-brand>p{font-size:.9375rem;line-height:1.9;margin-top:14px}
.footer-main h2{font-size:.9375rem;font-weight:700;letter-spacing:0;margin:8px 0 19px}
.footer-main>div:not(:first-child)>a{display:flex;align-items:center;gap:6px;font-size:.9375rem;color:#687478;margin-bottom:10px}
.footer-main>div>a .icon{width:12px;height:12px}
.footer-main address{font-size:.9375rem;line-height:1.9;color:#687478;font-style:normal}
.footer-address>p{font-size:1rem;margin-top:9px;line-height:1.8}
.footer-bottom{border-top:1px solid var(--line);padding-block:17px 23px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.875rem;color:var(--muted)}
.footer-bottom>div{display:flex;gap:20px}
.mobile-contact{display:none}
.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:.875rem;color:#7a857e;margin-bottom:40px;flex-wrap:wrap}
.breadcrumbs a:hover{color:var(--blue)}
.breadcrumbs>span:not(:last-child){color:#b1baae}
.page-intro{padding-block:28px 45px}
.page-intro .eyebrow{margin-bottom:18px}
.page-intro h1{font-size:clamp(2.5rem, 4.7vw, 4.25rem);line-height:1.1;max-width:950px}
.page-intro h1>.serif-word{color:var(--green)}
.page-intro>p:last-child{font-size:1.125rem;margin-top:22px;max-width:580px}
.catalogue-section{padding-bottom:85px}
.catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:0 27px;border-bottom:1px solid var(--line);margin-bottom:29px}
.search-field{display:flex;align-items:center;gap:12px;width:480px;background:white;border:1px solid #d9e0d4;border-radius:7px;padding:12px 16px}
.search-field>.icon{width:19px;height:19px;color:#73826b}
.search-field input{border:0;background:none;outline:none;width:100%;color:var(--ink);font-size:1rem;min-width:0}
.search-field:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.search-field input:focus-visible{outline:0}
.search-field kbd{border:1px solid var(--line);border-radius:3px;font-family:inherit;font-size:.875rem;padding:0 5px;color:#84917b}
.result-count{font-size:.875rem;color:var(--muted)}
.catalogue-layout{display:grid;grid-template-columns:205px 1fr;gap:32px;align-items:start}
.category-sidebar{position:sticky;top:120px}
.category-sidebar h2{font-size:.8125rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;margin-bottom:17px;color:#788771}
.category-sidebar>a{display:flex;align-items:center;gap:9px;padding:11px 10px;font-size:.9375rem;border-radius:5px;margin-bottom:3px}
.category-sidebar>a .icon{height:17px;width:17px;color:#5e7058}
.category-sidebar>a>span{margin-left:auto;font-size:.875rem;color:#7e8b76}
.category-sidebar>a:hover,.category-sidebar>a[aria-current]{background:#eaf0e3}
.category-sidebar>a[aria-current]{font-weight:700}
.sidebar-help{background:#eef2e7;border-radius:7px;padding:20px;margin-top:22px}
.sidebar-help>.icon{color:#55764c;width:25px;height:25px;margin-bottom:14px}
.sidebar-help h3{font-size:1.25rem;margin-bottom:7px}
.sidebar-help p{font-size:.875rem;line-height:1.8}
.sidebar-help>a{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:700;margin-top:15px}
.sidebar-help>a .icon{width:15px;height:15px}
.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.empty-state{text-align:center;padding:60px 25px;background:#f0f3ea;border:1px solid var(--line);border-radius:8px}
.empty-state[hidden],.service-card[hidden]{display:none}
.empty-state>h2,.empty-state>h3{font-size:1.25rem;margin-block:15px}
.empty-state>p{font-size:1rem;margin-bottom:23px}
.catalogue-note{font-size:.875rem;margin-top:15px}
.detail-section{padding-block:28px 70px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:start}
.detail-layout h1{font-size:clamp(2.25rem, 4vw, 3.5rem);line-height:1.12;max-width:750px;overflow-wrap:break-word}
.heading-dot{color:#8da975}
.detail-description{font-size:1.125rem;line-height:1.9;margin-top:20px;max-width:610px}
.detail-tags{display:flex;gap:22px;margin-top:25px;flex-wrap:wrap}
.detail-tags>span{display:flex;align-items:center;gap:7px;font-size:.875rem;color:#62745c}
.detail-tags .icon{height:16px;width:16px}
.document-panel{margin-top:43px;border:1px solid var(--line);border-radius:9px;padding:30px;background:#fffefa}
.document-panel>.eyebrow{font-size:.75rem;margin-bottom:12px}
.document-panel h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.document-panel>p:not(.eyebrow){font-size:1rem;margin-top:11px}
.document-list{list-style:none;margin:24px 0 0;padding:0}
.document-list>li{display:flex;align-items:center;gap:12px;font-size:1rem;padding-block:16px;border-top:1px solid #e8ecdf}
.document-list>li>.icon{width:19px;height:19px;color:#79906b}
.document-list>li>.icon:last-child{margin-left:auto;height:15px;width:15px;color:#789166}
.document-list>li>span{min-width:0}
.document-note{background:#f0f4e9;border-radius:5px;padding:14px;font-size:.875rem;line-height:1.9;color:#617257;margin-top:13px}
.detail-contact{position:sticky;top:120px;padding:28px;background:#eaf0e4;border:1px solid #dfe6d7;border-radius:10px}
.contact-card-icon{display:grid;place-items:center;width:48px;height:48px;background:#fffefa;border:1px solid #d8e0d0;border-radius:9px;margin-bottom:24px}
.contact-card-icon>.icon{width:27px;height:27px}
.detail-contact .eyebrow{font-size:.75rem;margin-bottom:12px}
.detail-contact h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);line-height:1.15}
.detail-contact>p:not(.eyebrow){font-size:1rem;line-height:1.9;margin-top:17px}
.detail-contact>.button{width:100%;font-size:1rem;gap:15px;min-height:49px;margin-top:22px;padding:13px}
.detail-contact>.button-outline{margin-top:10px}
.contact-card-note{display:block;text-align:center;font-size:.875rem;color:#74816a;margin-top:14px}
.detail-contact hr{border:0;border-top:1px solid #d3ddc9;margin-top:24px}
.detail-contact>.small-copy{font-size:.875rem}
.detail-process{margin-top:45px}
.detail-process h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);line-height:1.2}
.detail-process ol{list-style:none;padding:0;counter-reset:step;margin-top:27px}
.detail-process li{counter-increment:step;position:relative;padding-left:46px;margin-bottom:25px}
.detail-process li:before{content:'0' counter(step);position:absolute;left:0;top:0;font-size:.875rem;background:#eaf0e4;border:1px solid #dce4d4;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;color:#6b835e}
.detail-process strong{display:block;font-size:1.0625rem}
.detail-process li>span{display:block;font-size:1rem;color:var(--muted);line-height:1.9;margin-top:7px;max-width:530px}
.faq-section{margin-top:45px}
.faq-section h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);margin-bottom:23px}
.faq-section details{border-bottom:1px solid var(--line)}
.faq-section summary{padding:18px 25px 18px 0;list-style:none;cursor:pointer;font-size:1rem;font-weight:600;position:relative}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary:after{content:'+';position:absolute;right:3px;font-size:.875rem;top:12px;font-weight:400;color:#6b825f}
.faq-section details[open] summary:after{content:'−'}
.faq-section details p{font-size:1rem;line-height:1.9;padding-bottom:20px;max-width:620px}
.related-section{border-top:1px solid var(--line);padding-block:55px 75px}
.related-section h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding-top:15px}
.about-statement{background:var(--ink);border-radius:10px;min-height:390px;padding:40px;color:#eaf0e5;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.large-mark{font:bold 200px/.8 Georgia,serif;color:#d2ddbc;letter-spacing:-22px;margin-bottom:30px}
.about-statement>p{font-size:1rem;font-weight:650;letter-spacing:.1em;line-height:1.7;color:#fff}
.about-statement>span:last-child{position:absolute;bottom:25px;left:40px;font-size:.875rem;letter-spacing:.12em;color:#bac8bf}
.prose h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);line-height:1.2;margin-bottom:20px}
.prose h3{margin-top:27px;margin-bottom:13px;font-size:1.25rem}
.prose p,.prose li{font-size:1.0625rem;line-height:1.95;color:var(--muted)}
.prose p{margin-bottom:17px}
.prose ul{padding-left:19px;margin-bottom:25px}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:17px;padding-bottom:40px}
.contact-option{border:1px solid var(--line);border-radius:9px;padding:29px 25px;min-height:320px;background:#fffefa}
.primary-contact{background:#eaf0e4}
.contact-option>.icon{height:30px;width:30px;margin-bottom:29px;color:#58754a}
.contact-option .eyebrow{font-size:.75rem;margin-bottom:12px}
.contact-option h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);margin-bottom:17px}
.contact-option p:not(.eyebrow),.contact-option address{font-size:1rem;line-height:1.9;font-style:normal;color:var(--muted);margin-bottom:17px}
.contact-option .button{font-size:1rem;gap:18px;padding:13px 17px;min-height:47px;margin-top:8px}
.contact-number{display:block;font-size:clamp(1.25rem, 2.2vw, 1.5rem);letter-spacing:-.02em;margin-block:20px 14px}
.contact-option .text-link{font-size:1rem}
.contact-bottom{text-align:center;display:flex;justify-content:center;gap:14px;padding-bottom:80px;align-items:center;font-size:.875rem}
.legal-page{max-width:820px;padding-block:28px 85px}
.legal-page h1{font-size:clamp(2.5rem, 4.7vw, 4rem);margin-bottom:40px}
.legal-page .prose h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem);margin-top:32px}
.not-found{padding-block:85px 110px;min-height:60vh}
.not-found>p:not(.eyebrow){margin-top:22px}
.not-found>.button{margin-top:30px}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal-ready.is-visible{opacity:1;transform:none}
@keyframes document-in{from{opacity:0;transform:translateX(-50%) translateY(18px) rotate(-2deg)}
to{opacity:1;transform:translateX(-50%) rotate(-5deg)}
}
@keyframes note-in{from{opacity:0;translate:0 10px}
to{opacity:1;translate:0 0}
}
@media(min-width:1500px){.container{width:calc(100% - 160px)}
.hero{gap:70px}
.hero-visual{height:480px}
.hero-document{top:80px}
.document-stack{top:84px}
.note-top{top:85px}
.note-bottom{bottom:65px}
}
@media(max-width:1100px){.container{width:calc(100% - 64px)}
.primary-nav{gap:21px}
.hero{gap:28px;min-height:540px}
.hero h1{font-size:clamp(2.5rem, 4.7vw, 4.5rem)}
.hero-visual{height:407px}
.hero-document{scale:.9;transform-origin:0 0;top:61px;left:50%}
.document-stack{width:214px;height:285px;top:62px}
.note-top{right:-8px;top:55px;font-size:.875rem;padding:10px}
.note-bottom{bottom:35px;left:-12px}
.visual-index{font-size:6px}
.visual-bottom{font-size:5px}
.orbit{width:290px;height:290px}
.orbit-two{width:350px;height:350px}
.hero-description{font-size:clamp(1.0625rem, 1.2vw + .3rem, 1.1875rem)}
.hero-actions{gap:15px}
.hero-actions .button{font-size:1rem;padding-inline:18px}
.hero-proof{font-size:.875rem;gap:7px}
.hero-actions .text-link{font-size:1rem}
.category-card{padding:22px 18px;gap:13px}
.category-card-end{gap:12px}
.category-card-end>span{display:none}
.process-layout{gap:45px}
.process-intro h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.story-section{gap:45px}
.story-copy h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.reviews-section{gap:35px}
.footer-main{gap:25px}
.catalogue-layout{grid-template-columns:185px 1fr;gap:23px}
.detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:40px}
.detail-layout h1{font-size:clamp(2.25rem, 4vw, 3.5rem)}
.contact-grid{gap:12px}
.contact-option{padding:25px 20px}
.contact-option h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
}
@media(max-width:800px){.container{width:calc(100% - 40px)}
.header-inner{height:73px}
.primary-nav{gap:17px;font-size:1rem}
.nav-cta{display:none}
.hero{padding-block:48px 51px;gap:25px}
.hero h1{font-size:clamp(2.5rem, 4.7vw, 4.5rem)}
.hero .eyebrow{font-size:.75rem;margin-bottom:21px}
.hero-description{font-size:clamp(1.0625rem, 1.2vw + .3rem, 1.1875rem)}
.hero-visual{height:365px}
.hero-document{scale:.8;top:58px}
.document-stack{width:193px;height:256px;top:58px}
.floating-note{font-size:6px;gap:6px}
.floating-note strong{font-size:7px}
.note-top{right:-10px;top:48px}
.note-icon{width:25px;height:25px}
.note-bottom{bottom:24px;left:-15px;padding:10px}
.whatsapp-bubble{height:28px;width:28px}
.whatsapp-bubble .icon{width:17px;height:17px}
.note-check{margin-left:5px}
.visual-index{font-size:5px;top:17px;left:17px}
.visual-bottom{bottom:12px;right:13px;font-size:4px}
.visual-spark{font-size:27px;bottom:10px;left:16px}
.orbit{width:250px;height:250px}
.orbit-two{width:295px;height:295px;top:30px}
.hero-proof{font-size:.875rem;gap:5px}
.hero-proof .proof-stars{font-size:.875rem;letter-spacing:1px}
.hero-proof .proof-divider{display:none}
.hero-proof>a{flex-basis:100%;margin-top:2px}
.hero-actions{margin-top:24px;gap:14px}
.hero-actions .button{min-height:47px;font-size:1rem;padding:12px 17px;gap:15px}
.hero-actions .text-link{font-size:1rem}
.assurance-strip span{font-size:.875rem;gap:6px}
.assurance-strip>.container{gap:10px}
.assurance-strip .icon{height:12px;width:12px}
.section{padding-block:60px}
.section-heading{margin-bottom:27px}
.section-heading h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.category-card{gap:12px;padding:18px 15px}
.category-icon{height:38px;width:38px}
.category-copy h3{font-size:1.125rem}
.category-copy p{font-size:.9375rem}
.category-card-end>.icon{width:14px;height:14px}
.process-section{padding-block:55px}
.process-layout{gap:32px}
.process-intro h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.process-intro>p:not(.eyebrow){font-size:1rem}
.process-steps>article{gap:11px;padding-block:20px}
.process-steps h3{font-size:1.25rem}
.process-steps p{font-size:1rem}
.process-steps .icon{width:17px;height:17px}
.service-card{padding:20px 17px;min-height:235px}
.service-card h3{font-size:1.375rem}
.service-card>p{font-size:1rem}
.service-grid{gap:12px}
.service-card-top{margin-bottom:22px}
.service-category{font-size:.875rem;gap:6px}
.service-card-bottom{font-size:.875rem}
.story-section{gap:32px;padding-bottom:60px}
.story-art{min-height:345px}
.shop-illustration{scale:.85;transform-origin:0 bottom}
.story-copy h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.story-copy p:not(.eyebrow){font-size:1.0625rem}
.story-copy .eyebrow{font-size:.75rem}
.reviews-section{grid-template-columns:1fr;gap:30px}
.review-summary{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
.review-summary>.eyebrow{width:100%;margin-bottom:15px}
.review-summary h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.google-rating{margin-top:0;margin-bottom:5px}
.review-grid figure{min-height:210px}
.closing-cta{padding:38px 30px;margin-bottom:55px;gap:25px}
.closing-cta h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.closing-cta>div:nth-child(2){padding-right:0}
.closing-cta p:not(.eyebrow){font-size:1.0625rem}
.closing-cta .button{font-size:1rem;gap:15px;padding-inline:15px}
.footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:25px}
.footer-address{grid-column:1/-1;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px}
.footer-main .footer-address h2{margin:0;flex-shrink:0}
.footer-address>p{margin:0}
.footer-bottom{font-size:.875rem;gap:10px}
.page-intro h1{font-size:clamp(2.5rem, 4.7vw, 4.25rem)}
.catalogue-layout{grid-template-columns:160px 1fr;gap:19px}
.category-sidebar>a{font-size:.9375rem;padding:10px 6px;gap:7px}
.category-sidebar>a .icon{height:15px;width:15px}
.catalogue-grid{gap:10px}
.catalogue-grid .service-card{padding:17px 14px}
.catalogue-grid .service-card h3{font-size:1.375rem}
.detail-layout{grid-template-columns:minmax(0,1fr) 245px;gap:25px}
.detail-layout h1{font-size:clamp(2.25rem, 4vw, 3.5rem)}
.detail-contact{padding:22px}
.detail-contact h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.detail-contact>.button{font-size:1rem;gap:9px}
.detail-contact>.button .icon{height:17px;width:17px}
.document-panel{padding:22px}
.document-list>li{font-size:1rem}
.about-layout{gap:40px}
.contact-grid{grid-template-columns:1fr 1fr}
.primary-contact{grid-column:1/-1;min-height:0}
.primary-contact>.icon{margin-bottom:20px}
.contact-option{min-height:280px}
.contact-bottom{padding-bottom:55px}
}
@media(max-width:600px){body{font-size:clamp(1.0625rem, 1rem + .2vw, 1.125rem)}
.container{width:calc(100% - 36px)}
.preview-notice{font-size:.8125rem;line-height:1.6;padding:5px 20px}
.topline{font-size:.8125rem}
.topline>.container{height:29px}
.topline a{font-size:0;gap:0}
.topline a>span{font-size:.8125rem;margin:0}
.topline a>.icon{display:none}
.topline span{gap:5px}
.topline .icon{width:10px;height:10px}
.header-inner{height:71px}
.brand-mark{width:35px;height:35px;font-size:35px}
.brand>span:last-child{font-size:17px}
.brand>span:last-child>span{font-size:7px}
.menu-toggle{display:flex;flex-direction:column;gap:5px;border:1px solid #dce3d5;background:#fffefa;height:35px;width:38px;border-radius:5px;align-items:center;justify-content:center}
.menu-toggle>span{height:1.5px;width:17px;background:var(--ink);transition:transform .2s}
.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.primary-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:15px 24px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #132d4608;align-items:stretch;flex-direction:column;gap:5px;font-size:1rem}
.primary-nav.is-open{display:flex}
.primary-nav>.nav-cta{display:flex;margin-top:10px}
.hero{grid-template-columns:1fr;padding-block:37px 39px;gap:35px}
.hero-copy{padding-bottom:0}
.hero .eyebrow{font-size:.75rem;margin-bottom:22px}
.hero h1{font-size:clamp(2.5rem, 4.7vw, 4.5rem);line-height:1.08;letter-spacing:-.052em}
.hero h1 .serif-word svg{bottom:-9px;height:15px}
.hero-description{font-size:clamp(1.0625rem, 1.2vw + .3rem, 1.1875rem);line-height:1.9;margin-top:23px}
.hero-actions{gap:19px;margin-top:24px}
.hero-actions .button{min-height:47px;font-size:1rem;gap:18px;padding-inline:17px}
.hero-actions .text-link{font-size:1rem;gap:6px}
.hero-actions .text-link>.icon{height:16px;width:16px}
.hero-proof{font-size:.875rem;margin-top:23px;gap:8px}
.hero-proof .proof-stars{font-size:.875rem}
.hero-proof .proof-divider{display:block}
.hero-proof>a{flex-basis:auto;margin:0;font-size:.875rem}
.hero-visual{height:340px;max-width:430px;width:100%;margin-inline:auto;overflow:hidden}
.hero-document{scale:.81;top:42px;left:50%}
.document-stack{top:45px;width:197px;height:259px}
.note-top{right:12px;top:42px;font-size:.875rem;padding:9px 10px}
.floating-note strong{font-size:8px}
.note-bottom{left:12px;bottom:25px;padding:10px 12px}
.whatsapp-bubble{width:29px;height:29px}
.visual-index{font-size:5px;top:16px;left:17px}
.orbit{width:265px;height:265px;top:37px}
.orbit-two{width:320px;height:320px;top:12px}
.visual-spark{left:auto;right:18px;font-size:28px;bottom:11px}
.visual-bottom{display:none}
.assurance-strip>.container{display:grid;grid-template-columns:1fr 1fr;gap:14px 9px;padding-block:18px}
.assurance-strip span{font-size:.875rem}
.assurance-strip .icon{height:12px;width:12px}
.section{padding-block:48px}
.section-heading{align-items:flex-start;gap:17px;flex-wrap:wrap;margin-bottom:25px}
.section-heading h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.section-heading .eyebrow{font-size:.75rem;margin-bottom:14px}
.section-heading>p{font-size:1rem;line-height:1.8}
.section-heading>.text-link{font-size:1rem;margin:0}
.category-grid{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
.category-card{display:block;padding:16px 13px;position:relative;min-height:143px}
.category-icon{height:35px;width:35px;margin-bottom:15px;border:0;background:none;place-items:start}
.category-icon>.icon{height:25px;width:25px}
.category-copy h3{font-size:1.125rem;line-height:1.3}
.category-copy p{font-size:.9375rem;line-height:1.7;margin-top:6px;max-width:135px}
.category-card-end{position:absolute;right:13px;top:19px}
.category-card-end>.icon{width:13px;height:13px;color:#73836b}
.section-tail{font-size:.875rem;gap:9px;margin-top:21px;flex-wrap:wrap}
.section-tail .text-link{font-size:1rem}
.section-tail .icon{width:14px;height:14px}
.process-section{padding-block:43px}
.process-layout{grid-template-columns:1fr;gap:31px}
.process-intro .eyebrow{font-size:.75rem;margin-bottom:17px}
.process-intro h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.process-intro>p:not(.eyebrow){font-size:1rem;margin-top:17px}
.process-intro>.text-link{font-size:1rem;margin-top:19px}
.process-steps>article{padding-block:21px;gap:15px}
.process-steps>article>span{font-size:.875rem}
.process-steps h3{font-size:1.25rem}
.process-steps p{font-size:1rem;max-width:280px}
.process-steps .icon{height:18px;width:18px}
.service-grid{grid-template-columns:1fr;gap:11px}
.service-card{min-height:205px;padding:21px}
.service-card-top{margin-bottom:20px}
.service-card h3{font-size:1.375rem}
.service-card>p{font-size:1rem;margin-top:9px;margin-bottom:18px;max-width:400px}
.service-category{font-size:.875rem}
.service-card-bottom{font-size:.875rem;padding-top:14px}
.story-section{grid-template-columns:1fr;gap:28px;padding-bottom:45px}
.story-art{min-height:320px}
.story-art-caption{font-size:7px;top:21px;left:22px}
.shop-illustration{scale:.83;bottom:43px}
.story-art-location{left:22px;font-size:7px;bottom:17px}
.story-copy h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.story-copy .eyebrow{font-size:.75rem;margin-bottom:15px}
.story-copy p:not(.eyebrow){font-size:1.0625rem;line-height:1.95}
.story-copy>.text-link{font-size:1rem;margin-top:10px}
.reviews-section{gap:25px}
.review-summary h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.google-rating{margin-top:20px;flex-basis:100%}
.review-grid{gap:11px}
.review-grid figure{padding:20px 16px;min-height:220px}
.review-grid blockquote{font-size:1.125rem;margin-block:17px 24px;line-height:1.7}
.review-grid .proof-stars{font-size:.875rem}
.review-grid figcaption{font-size:.9375rem;gap:7px}
.review-avatar{height:25px;width:25px;font-size:.875rem}
.review-grid figcaption small{font-size:.8125rem}
.closing-cta{display:block;padding:31px 25px;margin-bottom:44px;border-radius:9px}
.closing-cta h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.closing-cta .eyebrow{font-size:.75rem;margin-bottom:17px}
.closing-cta>div:nth-child(2){margin-top:23px}
.closing-cta p:not(.eyebrow){font-size:1.0625rem;margin-bottom:17px}
.closing-cta .button{font-size:1rem;padding:13px 17px;min-height:47px}
.cta-watermark{right:10px;bottom:-45px;font-size:245px}
.footer-main{grid-template-columns:1fr 1fr;gap:27px 18px;padding-block:30px}
.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.footer-brand .brand{transform:scale(.85);transform-origin:left center}
.footer-brand>p{font-size:.9375rem;margin:0;max-width:155px;line-height:1.8}
.footer-main h2{font-size:.9375rem;margin-block:0 16px}
.footer-main>div:not(:first-child)>a{font-size:.9375rem;margin-bottom:9px}
.footer-address{display:block;padding-top:22px}
.footer-main .footer-address h2{margin-bottom:12px}
.footer-main address{max-width:300px;font-size:.9375rem}
.footer-address>p{font-size:1rem;margin-top:7px}
.footer-bottom{flex-wrap:wrap;font-size:.875rem;gap:10px;padding-bottom:90px}
.footer-bottom>span{order:3;width:100%;font-size:.875rem}
.footer-bottom>div{margin-left:auto;gap:15px}
.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:35;background:var(--paper);border-top:1px solid #d8e0d1;display:grid;grid-template-columns:1fr 1.8fr;gap:10px;padding:10px 18px max(10px,env(safe-area-inset-bottom));box-shadow:0 -4px 16px #132d4606}
.mobile-contact>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:.9375rem;font-weight:650;border:1px solid #d6dfcf;border-radius:5px}
.mobile-contact>a:last-child{background:var(--ink);color:white;border-color:var(--ink)}
.mobile-contact .icon{height:18px;width:18px}
.breadcrumbs{font-size:.875rem;margin-bottom:29px;gap:8px}
.page-intro{padding-block:22px 32px}
.page-intro .eyebrow{font-size:.75rem;margin-bottom:18px}
.page-intro h1{font-size:clamp(2.5rem, 4.7vw, 4.25rem);line-height:1.12}
.page-intro>p:last-child{font-size:1.125rem;margin-top:20px}
.catalogue-section{padding-bottom:45px}
.catalogue-toolbar{flex-direction:column;align-items:stretch;gap:13px;padding-bottom:20px;margin-bottom:20px}
.search-field{width:100%;padding:13px}
.search-field input{font-size:1rem}
.search-field kbd{display:none}
.result-count{font-size:.875rem}
.catalogue-layout{grid-template-columns:1fr;gap:22px}
.category-sidebar{position:static;display:flex;overflow-x:auto;gap:7px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#c1ceb7 transparent;max-width:100%;align-items:center}
.category-sidebar h2,.category-sidebar .sidebar-help{display:none}
.category-sidebar>a{flex-shrink:0;border:1px solid var(--line);border-radius:5px;padding:8px 11px;margin:0;white-space:nowrap;font-size:.9375rem;gap:7px}
.category-sidebar>a .icon{display:none}
.category-sidebar>a>span{font-size:.875rem;margin-left:2px}
.category-sidebar>a[aria-current]{border-color:#a9bb9b}
.catalogue-grid{grid-template-columns:1fr}
.catalogue-grid .service-card{padding:21px;min-height:205px}
.catalogue-grid .service-card h3{font-size:1.375rem}
.detail-section{padding-block:22px 42px}
.detail-layout{grid-template-columns:1fr;gap:32px}
.detail-layout .eyebrow{font-size:.75rem;margin-bottom:16px}
.detail-layout h1{font-size:clamp(2.25rem, 4vw, 3.5rem)}
.detail-description{font-size:1.125rem;margin-top:19px}
.detail-tags{gap:16px;margin-top:21px}
.detail-tags>span{font-size:.875rem}
.document-panel{padding:22px 18px;margin-top:29px}
.document-panel h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.document-panel>p:not(.eyebrow){font-size:1rem;line-height:1.9}
.document-list>li{font-size:1rem;gap:10px;padding-block:15px}
.document-list>li>.icon{height:17px;width:17px}
.document-list>li>.icon:last-child{height:13px;width:13px}
.document-note{font-size:.875rem;padding:13px}
.detail-process{margin-top:32px}
.detail-process h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.detail-process li{padding-left:41px}
.detail-process strong{font-size:1.0625rem}
.detail-process li>span{font-size:1rem}
.detail-contact{position:static;padding:25px}
.detail-contact h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.detail-contact>.button{font-size:1rem;min-height:49px}
.detail-contact .contact-card-icon{margin-bottom:20px}
.contact-card-note{font-size:.875rem}
.detail-contact>.small-copy{font-size:.875rem}
.faq-section{margin-top:33px}
.faq-section h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.faq-section summary{font-size:1rem;line-height:1.7}
.related-section{padding-block:35px 45px}
.related-section h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.about-layout{grid-template-columns:1fr;gap:32px;padding-top:0}
.about-statement{min-height:300px;padding:30px}
.large-mark{font-size:155px;margin-bottom:20px}
.about-statement>p{font-size:1rem}
.about-statement>span:last-child{left:30px;bottom:20px;font-size:.875rem}
.prose h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.prose p,.prose li{font-size:1.0625rem}
.contact-grid{grid-template-columns:1fr;gap:13px;padding-bottom:27px}
.primary-contact{grid-column:auto}
.contact-option{min-height:0;padding:27px}
.contact-option>.icon{margin-bottom:21px}
.contact-option h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.contact-option .eyebrow{font-size:.75rem}
.contact-option p:not(.eyebrow),.contact-option address{font-size:1rem}
.contact-option .button{font-size:1rem;padding-inline:19px}
.contact-number{font-size:clamp(1.25rem, 2.2vw, 1.5rem);margin-block:18px 12px}
.contact-bottom{font-size:.875rem;gap:9px;padding-bottom:40px;flex-wrap:wrap}
.contact-bottom .text-link{font-size:1rem}
.legal-page{padding-block:22px 45px}
.legal-page h1{font-size:clamp(2.5rem, 4.7vw, 4rem);margin-bottom:30px}
.legal-page .prose h2{font-size:clamp(1.75rem, 2.7vw, 2.5rem)}
.not-found{padding-block:55px 65px}
.not-found h1{font-size:clamp(2.5rem, 4.7vw, 4rem)}
.not-found>p:not(.eyebrow){font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.reveal-ready{opacity:1;transform:none}
}
/* Reading rhythm and interaction sizing share one scale across breakpoints. */
body { text-rendering: optimizeLegibility; }
p { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
.hero h1 { max-width: 15ch; line-height: 1.08; }
.hero-description { max-width: 44ch; line-height: 1.7; }
.hero-actions { gap: 20px 24px; }
.hero-actions .text-link, .hero-proof a, .text-link { min-height: 44px; }
.hero-proof { gap: 10px 12px; line-height: 1.6; }
.primary-nav { gap: clamp(18px, 2vw, 30px); }
.primary-nav>a:not(.button) { min-height: 44px; display: flex; align-items: center; }
.button { min-height: 52px; line-height: 1.45; }
.category-copy p, .service-card>p { line-height: 1.65; }
.category-copy, .service-category { min-width: 0; }
.category-card { gap: 18px; }
.category-card-end>span { display: none; }
.category-card-end { gap: 0; }
.category-copy h3 { line-height: 1.3; }
.service-category { line-height: 1.5; }
.service-card { min-height: 290px; }
.service-card-top { margin-bottom: 22px; align-items: flex-start; }
.process-steps p { max-width: 44ch; }
.process-steps article { gap: 18px; }
.prose { max-width: 65ch; }
.prose p, .prose li { line-height: 1.8; }
.detail-description, .document-panel>p, .faq-section details p { max-width: 65ch; }
.document-list>li { line-height: 1.65; padding-block: 19px; }
.document-note { line-height: 1.75; }
.detail-layout { grid-template-columns: minmax(0, 1fr) 330px; gap: 55px; }
.detail-contact .button { padding-inline: 15px; gap: 10px; }
.detail-contact .button .icon { width: 20px; height: 20px; }
.detail-contact hr { margin-top: 22px; }
.detail-contact>.small-copy { font-size: .875rem !important; line-height: 1.7; }
.faq-section summary { padding-block: 22px; line-height: 1.6; }
.faq-section summary:after { top: 19px; }
.footer-main h2 { line-height: 1.5; }
.footer-main>div:not(:first-child)>a { min-height: 32px; line-height: 1.6; margin-bottom: 5px; }
.footer-main { gap: 28px; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; }
.footer-main address, .footer-brand>p { line-height: 1.75; }
.footer-bottom { flex-wrap: wrap; line-height: 1.7; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 32px; }
.footer-address>p { font-size: .875rem; }
.footer-brand .brand { transform: none; }
.review-grid figure { padding: 28px; }
.review-grid blockquote { line-height: 1.7; }
.review-summary { min-width: 0; }
.closing-cta { gap: 44px; }
.closing-cta>div { min-width: 0; }
.closing-cta>div:nth-child(2) { max-width: 390px; }
.closing-cta p:not(.eyebrow) { line-height: 1.75; }
.contact-option p:not(.eyebrow), .contact-option address { line-height: 1.75; }
.contact-grid { grid-template-columns: 1.1fr 1fr 1fr; }
.breadcrumbs { font-size: .875rem; line-height: 1.7; }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 32px; }
.category-sidebar>a { min-height: 44px; }
.category-sidebar h2 { line-height: 1.6; }
.search-field { min-height: 56px; width: min(100%, 520px); }
.search-field input { min-height: 30px; font-size: 1rem; line-height: 1.5; }
.search-field kbd { font-size: .875rem; }
.clear-search { border: 0; background: none; color: var(--ink); height: 32px; width: 32px; padding: 6px; border-radius: 4px; flex-shrink: 0; }
.clear-search[hidden] { display: none; }
.clear-search:hover { background: var(--mint); }
.result-count { font-size: .875rem; }
.category-chooser-label { display: none; }
.service-intro-actions { display: none; }
.preview-notice { line-height: 1.6; }
.topline>.container { min-height: 38px; height: auto; padding-block: 7px; }
.sidebar-help p { line-height: 1.75; }
@media(max-width:1100px) {
  .primary-nav { gap: 18px; }
.nav-cta { display: none; }
.detail-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 30px; }
.category-card { padding: 23px 19px; }
.reviews-section { grid-template-columns: 1fr; gap: 30px; }
.footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.footer-brand { grid-column: 1/-1; }
.footer-address { grid-column: auto; display: block; padding: 0; border: 0; }
.footer-address>p { margin-top: 10px; }
}
@media(max-width:800px) {
  .hero { gap: 24px; }
.hero h1 { font-size: clamp(2.5rem, 5.8vw, 3.5rem); }
.process-layout { grid-template-columns: 1fr; gap: 35px; }
.story-section { gap: 32px; }
.detail-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 25px; }
.contact-grid { grid-template-columns: 1fr 1fr; }
.primary-contact { grid-column: 1/-1; }
.catalogue-grid { grid-template-columns: 1fr; }
.catalogue-toolbar { align-items: flex-start; }
.closing-cta { padding: 36px 30px; }
.hero-proof .proof-divider { display: none; }
.hero-proof>a { flex-basis: 100%; }
}
@media(max-width:600px) {
  .hero { gap: 30px; padding-top: 34px; }
.hero h1 { font-size: clamp(2.5rem, 9.5vw, 3.5rem); max-width: 16ch; }
.hero-description { font-size: 1.0625rem; line-height: 1.7; }
.hero-actions { align-items: stretch; gap: 12px 18px; }
.hero-actions .button { font-size: 1rem; min-height: 52px; }
.hero-actions .text-link { font-size: .9375rem; }
.hero-proof { gap: 7px 10px; }
.hero-proof>a { flex-basis: auto; }
.hero-proof .proof-divider { display: none; }
.topline>.container { min-height: 36px; gap: 12px; }
.topline span, .topline a>span { font-size: .75rem; }
.primary-nav { font-size: 1rem; }
.primary-nav>.nav-cta { display: flex; }
.menu-toggle { width: 44px; height: 44px; }
.primary-nav>a:not(.button) { min-height: 48px; }
.assurance-strip>.container { grid-template-columns: 1fr; gap: 12px; padding-block: 20px; }
.assurance-strip span { font-size: .9375rem; gap: 10px; }
.assurance-strip .icon { width: 17px; height: 17px; }
.section-heading>p { font-size: 1rem; line-height: 1.7; }
.category-card { padding: 20px 15px; min-height: 190px; }
.category-icon { margin-bottom: 13px; }
.category-copy h3 { font-size: 1.0625rem; line-height: 1.35; }
.category-copy p { font-size: .9375rem; line-height: 1.6; max-width: none; margin-top: 8px; }
.category-card-end { top: 21px; right: 14px; }
.section-tail { font-size: .9375rem; line-height: 1.7; }
.section-tail .text-link { font-size: .9375rem; }
.service-card, .catalogue-grid .service-card { min-height: 260px; padding: 24px; }
.service-card h3, .catalogue-grid .service-card h3 { font-size: 1.375rem; }
.service-card>p { font-size: 1rem; }
.service-card-bottom { font-size: .9375rem; }
.service-category { font-size: .875rem; }
.process-steps p { font-size: 1rem; max-width: 40ch; }
.process-steps h3 { font-size: 1.125rem; }
.process-steps .icon { width: 21px; height: 21px; }
.process-steps>article { gap: 13px; }
.story-copy p:not(.eyebrow) { font-size: 1.0625rem; }
.review-grid { grid-template-columns: 1fr; }
.review-grid figure { min-height: 220px; padding: 26px; }
.review-grid blockquote { font-size: 1.125rem; }
.review-grid figcaption { font-size: .9375rem; }
.review-grid figcaption small { font-size: .8125rem; }
.review-avatar { width: 35px; height: 35px; }
.google-rating { gap: 14px; }
.closing-cta .button { font-size: .9375rem; gap: 13px; padding-inline: 16px; }
.closing-cta p:not(.eyebrow) { font-size: 1rem; }
.footer-main { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
.footer-brand { display: block; }
.footer-brand>p { margin-top: 18px; max-width: 32ch; font-size: 1rem; }
.footer-main>div:not(:first-child)>a { font-size: .9375rem; min-height: 44px; }
.footer-address { grid-column: 1/-1; padding-top: 24px; border-top: 1px solid var(--line); }
.footer-main address { font-size: 1rem; }
.footer-main h2 { font-size: .9375rem; }
.footer-bottom { padding-bottom: 100px; font-size: .8125rem; }
.footer-bottom>span { font-size: .8125rem; }
.footer-bottom a { min-height: 44px; }
.mobile-contact { grid-template-columns: .85fr 1.6fr; padding-inline: 16px; }
.mobile-contact>a { min-height: 48px; font-size: .9375rem; gap: 8px; }
.mobile-contact .icon { width: 20px; height: 20px; }
.page-intro>p:last-child { font-size: 1.0625rem; }
.catalogue-toolbar { gap: 16px; }
.search-field { width: 100%; padding: 10px 12px; gap: 9px; }
.category-chooser-label { display: block; font-size: .8125rem; color: var(--muted); font-weight: 650; margin-bottom: 10px; }
.category-sidebar { gap: 8px; padding-bottom: 12px; scroll-padding-inline: 2px; }
.category-sidebar>a { font-size: .9375rem; min-height: 46px; padding: 10px 13px; }
.category-sidebar>a>span { font-size: .8125rem; }
.catalogue-layout { gap: 20px; }
.detail-layout { grid-template-columns: 1fr; }
.detail-description { font-size: 1.0625rem; }
.detail-tags { gap: 12px 18px; }
.detail-tags>span { font-size: .875rem; }
.service-intro-actions { display: block; margin-top: 25px; }
.service-intro-actions .button { width: 100%; }
.document-panel { padding: 25px 20px; }
.document-panel>p:not(.eyebrow), .document-list>li { font-size: 1rem; }
.document-note { font-size: .9375rem; line-height: 1.75; }
.detail-process strong { font-size: 1.0625rem; }
.detail-process li>span { font-size: 1rem; line-height: 1.75; }
.faq-section summary, .faq-section details p { font-size: 1rem; }
.detail-contact>.button { font-size: 1rem; }
.prose p, .prose li { font-size: 1.0625rem; }
.contact-grid { grid-template-columns: 1fr; }
.contact-option p:not(.eyebrow), .contact-option address { font-size: 1rem; }
.contact-bottom, .contact-bottom .text-link { font-size: .9375rem; }
}
@media(max-width:360px) {
  .container { width: calc(100% - 28px); }
.category-grid { gap: 8px; }
.category-card { padding-inline: 12px; }
.mobile-contact { padding-inline: 12px; gap: 8px; }
}

/* Artwork is illustrative; functional copy uses the reading scale above. */
.visual-index { font-size: .625rem; letter-spacing: .1em; }
.document-brand>span:nth-child(2) { font-size: .5rem; }
.document-checklist { font-size: .75rem; }
.floating-note { font-size: .6875rem; }
.floating-note strong { font-size: .75rem; }
.document-footer { display: none; }
.visual-bottom { display: none; }
.story-art-caption { font-size: .625rem; }
.story-art-location { font-size: .625rem; }
.shop-window>small { font-size: .625rem; }
.catalogue-layout>div:first-child { position: sticky; top: 120px; }
.category-sidebar { position: static; }
@media(max-width:600px) {
  .catalogue-layout>div:first-child { position: static; }
  .floating-note { font-size: .625rem; }
  .floating-note strong { font-size: .6875rem; }
  .visual-index { font-size: .5625rem; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) .header-inner { height: auto; flex-wrap: wrap; padding-block: 18px; }
  html:not(.js) .primary-nav { display: flex; position: static; width: 100%; border: 0; box-shadow: none; padding: 0; }
}

/* Secondary information retains sufficient contrast at its smaller reading size. */
.hero-proof, .google-rating small, .contact-card-note,
.category-sidebar>a>span, .category-sidebar h2, .result-count,
.detail-tags>span, .service-category, .footer-bottom { color: #52616b; }
.google-rating strong { font-size: 1.25rem; }
.google-letter { font-size: 2rem; }

/* Karwalo wordmark and its operating-business endorsement. */
.brand-mark { letter-spacing: -4px; }
.brand>span:last-child { font-size: 25px; letter-spacing: -.04em; }
.brand>span:last-child>span { font-size: 10px; letter-spacing: 0; font-weight: 500; margin-top: 5px; }
@media(max-width:600px) {
  .brand>span:last-child { font-size: 24px; }
  .brand>span:last-child>span { font-size: 9px; }
}

/* Selected identity: Connected K. Symbol stays distinct at compact sizes. */
.brand-symbol { width: 39px; height: 44px; object-fit: contain; flex-shrink: 0; }
.brand { gap: 12px; }
.brand>span:last-child { font-size: 28px; font-weight: 800; letter-spacing: -.045em; }
.brand>span:last-child>span { font-size: 10px; letter-spacing: 0; margin-top: 5px; }
.mini-symbol { width: 23px; height: 27px; object-fit: contain; }
.shop-symbol { display: block; width: 34px; height: 39px; margin-top: -3px; }
.about-brand-symbol { width: 150px; height: 150px; margin-bottom: 28px; }
.connected-watermark { width: 260px; height: 295px; opacity: .05; right: 10px; bottom: -30px; }
@media(max-width:600px) {
  .brand-symbol { width: 34px; height: 39px; }
  .brand>span:last-child { font-size: 26px; }
  .brand>span:last-child>span { font-size: 9px; }
  .connected-watermark { width: 200px; height: 227px; bottom: -15px; }
}
