@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#18221e;--muted:#69716b;--paper:#f5f1e8;--cream:#ebe5d8;--accent:#ef7758;--sun:#f2b94b;--teal:#9fc5b5;--line:#d8d3c8;--display:'Manrope',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.section-wrap{max-width:1220px;margin:auto;padding-left:42px;padding-right:42px}.announcement{height:36px;background:var(--ink);color:#f4f0e8;font-size:11px;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;gap:9px}.announcement a{color:var(--sun);margin-left:14px}.announcement a span{font-size:15px}.pulse-dot{width:6px;height:6px;background:#7bd3a6;border-radius:50%;box-shadow:0 0 0 4px rgba(123,211,166,.15)}.site-header{height:87px;display:flex;align-items:center;justify-content:space-between;max-width:1220px;margin:auto;padding:0 42px}.brand{display:flex;align-items:center;gap:10px;font:800 22px var(--display);letter-spacing:-.07em}.brand-mark{width:29px;height:29px;background:var(--accent);border-radius:50%;color:var(--paper);display:grid;place-items:center;font:800 17px var(--display);letter-spacing:-.1em}.brand-dot{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.nav-links>a:not(.nav-cta){color:#56605a}.nav-links>a:not(.nav-cta):hover{color:var(--accent)}.nav-cta{border:1px solid var(--ink);padding:12px 17px;border-radius:2px}.nav-cta span,.button span{font-size:16px;margin-left:10px}.menu-toggle{display:none;border:0;background:none}
.hero{min-height:590px;padding-top:38px;display:grid;grid-template-columns:46% 54%;position:relative}.hero-copy{padding-top:43px}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:11px}.eyebrow-line{height:1px;width:27px;background:currentColor}.hero h1,.section-heading h2,.process-heading h2,.stories h2,.contact h2{font:800 clamp(50px,6.2vw,82px)/.98 var(--display);letter-spacing:-.08em;margin-top:25px}.hero h1 em,.section-heading h2 em,.process-heading h2 em,.stories h2 em,.contact h2 em{font-style:normal;color:var(--accent)}.hero h1 span{color:#557c6b}.hero-text{max-width:380px;color:var(--muted);font-size:15px;margin:25px 0 30px}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border:0;cursor:pointer;font-size:12px;font-weight:700;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-dark{color:var(--paper);background:var(--ink)}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:3px}.text-link span{margin-left:12px;color:var(--accent);font-size:17px}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:48px}.avatar-stack{display:flex}.avatar-stack span{height:31px;width:31px;border:2px solid var(--paper);border-radius:50%;display:grid;place-items:center;margin-right:-8px;background:#d3a18c;color:white;font-size:8px;font-weight:700}.avatar-stack span:nth-child(2){background:#6f9785}.avatar-stack span:nth-child(3){background:#d2b35f}.avatar-stack .more{background:var(--ink);font-size:8px}.hero-proof strong,.hero-proof small{display:block;font-size:10px}.hero-proof small{color:var(--muted);margin-top:2px}.hero-visual{position:relative;padding:0 16px 0 45px}.hero-image-wrap{height:465px;overflow:hidden}.hero-image-wrap img{height:100%;width:100%;object-fit:cover;object-position:center;filter:saturate(.8)}.image-label{position:absolute;bottom:28px;left:10px;background:var(--sun);padding:18px 22px;display:flex;gap:13px;align-items:center;font-size:11px;line-height:1.35}.label-icon{font-size:22px}.image-label strong{font-size:13px}.service-stamp{position:absolute;right:-4px;top:-25px;width:105px;height:105px;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center;text-align:center;transform:rotate(12deg)}.service-stamp strong{font:800 28px var(--display);line-height:.72}.service-stamp small{font-size:9px;letter-spacing:.12em}.stamp-ring{position:absolute;font-size:6px;letter-spacing:.19em}.scroll-hint{position:absolute;bottom:22px;left:42px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.15em;font-size:8px;color:#8b918b;display:flex;gap:10px;align-items:center}.scroll-hint span{height:34px;width:1px;background:var(--accent)}
.services{padding-top:125px;padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr}.section-heading h2,.process-heading h2,.stories h2,.contact h2{font-size:clamp(43px,5vw,68px)}.services-intro{padding:54px 0 35px 27%;display:flex;align-items:flex-end;justify-content:space-between}.services-intro p{font-size:14px;color:var(--muted);max-width:280px}.round-arrow{height:46px;width:46px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:19px;transition:.2s}.round-arrow:hover{background:var(--accent);color:white;border-color:var(--accent);transform:rotate(45deg)}.service-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:62px}.service-card{min-height:230px;background:var(--cream);border:1px solid transparent;padding:25px;display:flex;flex-direction:column;transition:transform .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease}.service-card:hover{transform:translateY(-8px);background:var(--teal);border-color:#7ea996;box-shadow:0 14px 24px rgba(24,34,30,.11)}.service-card-featured,.service-card-dark{background:var(--cream);color:var(--ink)}.card-top{display:flex;justify-content:space-between;font-size:10px;color:#6b766f}.service-card-dark .card-top{color:#6b766f}.card-icon{font-size:22px;color:var(--accent);line-height:1;transition:transform .35s ease,color .35s ease}.service-card:hover .card-icon{transform:rotate(12deg) scale(1.12);color:var(--ink)}.service-card h3{font:700 23px/1.05 var(--display);letter-spacing:-.06em;margin-top:26px}.service-card p{color:var(--muted);font-size:11px;margin-top:13px}.service-card-dark p{color:var(--muted)}.service-card a{font-size:11px;font-weight:700;margin-top:auto}.service-card a span{color:var(--accent);font-size:15px;margin-left:8px;transition:margin-left .35s ease}.service-card:hover a span{margin-left:13px}
.process{background:var(--ink);color:var(--paper);max-width:none;padding-top:105px;padding-bottom:115px;display:grid;grid-template-columns:38% 62%;padding-left:max(42px,calc((100% - 1136px)/2));padding-right:max(42px,calc((100% - 1136px)/2))}.process .eyebrow{color:var(--sun)}.process-heading h2{margin-top:25px}.process-list{padding-top:4px}.process-item{border-top:1px solid #46534c;display:grid;grid-template-columns:45px 1fr 25px;gap:19px;padding:24px 0 25px;align-items:start}.process-number{font-size:10px;color:var(--sun);padding-top:3px}.process-item h3{font:700 23px var(--display);letter-spacing:-.05em}.process-item p{font-size:13px;color:#a9b2aa;max-width:330px;margin-top:7px}.process-symbol{font-size:22px;color:var(--accent)}
.stories{padding-top:130px;padding-bottom:137px}.stories-head{display:flex;align-items:flex-end;justify-content:space-between}.story-controls{display:flex;gap:8px}.story-controls button{height:42px;width:42px;background:transparent;border:1px solid var(--ink);border-radius:50%;cursor:pointer;font-size:20px}.story-controls button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.testimonial{margin:60px auto 0;max-width:840px;background:#e6ded0;padding:47px 60px 40px;position:relative}.quote-mark{font:800 90px/1 var(--display);color:var(--accent);position:absolute;top:14px;left:27px}.testimonial blockquote{font:600 27px/1.25 var(--display);letter-spacing:-.06em;max-width:690px;padding-left:5px}.testimonial-meta{margin-top:36px;display:flex;align-items:center;gap:11px;border-top:1px solid #cfc5b4;padding-top:20px}.testimonial-avatar{height:35px;width:35px;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center;font-size:9px;font-weight:700}.testimonial-meta strong,.testimonial-meta span{font-size:11px;display:block}.testimonial-meta span{color:var(--muted)}.rating{margin-left:auto!important;color:var(--accent)!important;letter-spacing:3px}
.contact{background:var(--sun);max-width:none;padding:110px max(42px,calc((100% - 1136px)/2));display:grid;grid-template-columns:1fr 1fr;gap:14%;}.contact h2{color:var(--ink)}.contact-copy>p:last-of-type{font-size:14px;max-width:310px;margin-top:26px}.contact-detail{margin-top:29px}.contact-detail span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#716038;margin-bottom:4px}.contact-detail a{font:700 15px var(--display);border-bottom:1px solid var(--ink)}.contact-form{padding-top:4px}.contact-form label{display:block;font-size:10px;font-weight:700;margin-bottom:22px}.contact-form input,.contact-form select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #b89437;border-radius:0;padding:10px 0;color:var(--ink);outline:0;font-size:14px}.contact-form input::placeholder{color:#877342}.contact-form input:focus,.contact-form select:focus{border-color:var(--ink)}.contact-form select{cursor:pointer}.contact-form .button{margin-top:15px}.form-message{font-size:12px;font-weight:700;margin-top:15px}.site-footer{background:var(--ink);color:var(--paper);padding:52px max(42px,calc((100% - 1136px)/2)) 25px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:62px}.brand-footer .brand-mark{background:var(--sun);color:var(--ink)}.footer-top p{font:700 21px/1.1 var(--display);letter-spacing:-.05em;margin-left:20%}.back-top{font-size:11px;border-bottom:1px solid #879189;padding-bottom:5px}.back-top span{color:var(--sun);font-size:17px;margin-left:10px}.footer-bottom{border-top:1px solid #45534b;padding-top:19px;display:flex;justify-content:space-between;color:#8e9a91;font-size:10px}.footer-bottom div{display:flex;gap:20px}.footer-bottom a:hover{color:var(--sun)}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}.reveal-delay-2{transition-delay:.22s}
@media(max-width:800px){.section-wrap{padding-left:22px;padding-right:22px}.announcement{font-size:9px;padding:0 12px}.announcement a{margin-left:5px}.site-header{height:72px;padding:0 22px}.menu-toggle{display:flex;flex-direction:column;gap:5px;z-index:3}.menu-toggle span{height:2px;width:23px;background:var(--ink);display:block}.nav-links{position:absolute;z-index:2;top:108px;right:15px;left:15px;background:var(--ink);color:var(--paper);padding:24px;display:none;flex-direction:column;align-items:flex-start;gap:20px;box-shadow:0 12px 30px #18221e30}.nav-links.open{display:flex}.nav-links>a:not(.nav-cta){color:var(--paper)}.nav-cta{border-color:var(--sun);color:var(--sun)}.hero{display:block;padding-top:30px;min-height:auto}.hero-copy{padding-top:0}.hero h1{font-size:53px}.hero-visual{padding:55px 0 0 25px}.hero-image-wrap{height:370px}.service-stamp{right:-5px;top:28px;width:87px;height:87px}.scroll-hint{display:none}.services{display:block;padding-top:105px;padding-bottom:90px}.services-intro{padding:35px 0 0;gap:25px}.service-grid{grid-template-columns:1fr 1fr;margin-top:45px;gap:9px}.service-card{min-height:218px;padding:17px}.service-card h3{font-size:18px;margin-top:20px}.service-card p{font-size:10px}.process{display:block;padding:80px 22px 85px}.process-list{margin-top:50px}.process-item h3{font-size:19px}.process-item p{font-size:12px}.stories{padding-top:95px;padding-bottom:100px}.testimonial{padding:43px 27px 30px;margin-top:42px}.testimonial blockquote{font-size:22px}.quote-mark{left:16px}.rating{display:none}.contact{display:block;padding:85px 22px}.contact-form{margin-top:52px}.site-footer{padding:44px 22px 22px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-bottom:45px}.footer-top p{margin:0;font-size:17px}.back-top{grid-column:1/-1;width:max-content}.footer-bottom{display:block;line-height:2}.footer-bottom>span{display:block}.footer-bottom div{margin-top:12px}.hero-proof{margin-top:37px}}
@media(max-width:400px){.service-grid{grid-template-columns:1fr}.service-card{min-height:185px}.service-card h3{font-size:21px}.hero-actions{gap:15px}.button{padding:14px 16px}}

/* Logo Styling */
.brand-text{font-size:14px;line-height:1.15;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.site-footer .brand-text{color:var(--paper)}
.brand-text small{display:block;font-size:9px;font-weight:600;color:var(--accent);letter-spacing:.02em;text-transform:uppercase}
.brand-footer .brand-text small{color:var(--sun)}

/* Floating Contact Buttons CSS */
.floating-contact{position:fixed;bottom:24px;left:0;right:0;pointer-events:none;z-index:9999;display:flex;justify-content:space-between;padding:0 24px}
.float-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:50px;font-family:var(--display);font-size:14px;font-weight:700;box-shadow:0 8px 24px rgba(24,34,30,.15);transition:transform .3s ease,box-shadow .3s ease;color:#fff}
.float-btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(24,34,30,.25)}
.float-btn .icon{width:18px;height:18px}
.float-call{background:var(--accent)}
.float-wa{background:#25d366}
@media(max-width:600px){
  .floating-contact{bottom:0;padding:0;justify-content:stretch;background:var(--paper);box-shadow:0 -4px 16px rgba(24,34,30,.08);border-top:1px solid var(--line)}
  .float-btn{flex:1;border-radius:0;justify-content:center;padding:16px 10px;box-shadow:none;font-size:13px}
  .float-btn:hover{transform:none}
  body{padding-bottom:60px}
}
