:root{--bg: #fbeee4;--paper: #f1d9c1;--sand: #e0b895;--blush: #cfb9ad;--latte: #af8d79;--sage: #97beae;--mint: #d7ded4;--terracotta: #a0644e;--ink: #4a3f38;--radius: 18px;--cta: #a0544e}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins;font-weight:400;background:var(--bg)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}:focus-visible{outline:2px solid currentColor;outline-offset:2px}h1,h2{font-family:Fraunces;font-style:normal;font-weight:800;letter-spacing:0}h1{font-size:4.5rem!important;letter-spacing:-1.5px}h2{font-size:2.8rem!important;line-height:3rem}.container{width:min(1120px,92%);margin:0 auto}.section{padding:64px 0}.section-soft{background:var(--paper)}.nav{position:fixed;top:0;width:100%;z-index:30}.nav-row{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-family:Poppins,sans-serif;font-weight:700;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px}.logo-dot{width:14px;height:14px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 6px color-mix(in srgb,var(--terracotta) 20%,transparent)}.nav-links{display:none!important}.nav-toggle{background:transparent;border:0;width:fit-content;height:40px;align-items:center;justify-content:center;color:var(--ink);position:relative;z-index:60;border-radius:10px;cursor:pointer;margin-top:2rem;padding:.5rem}.nav-toggle .bar{width:32px;height:3px;background:currentColor;border-radius:4px;transition:transform .22s ease,opacity .18s ease;transform-origin:center;display:flex;flex-direction:column}.nav-toggle .bar+.bar{margin-top:6px}.nav-toggle[aria-expanded=true] .bar:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.nav-overlay{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;z-index:50;pointer-events:none;will-change:opacity,transform}.nav-overlay[data-open=true]{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .25s ease,transform .25s ease,visibility 0s}.overlay-menu{position:relative;display:flex;flex-direction:column;align-items:center}.overlay-menu a{margin-bottom:1.2rem;font-size:1.4rem;color:var(--ink);text-decoration:none;transition:.2s ease}.overlay-menu a:hover{color:var(--latte)}.hero-split{--hero-left-width: clamp(280px, 28vw, 640px);--hero-bg-image: url(/img/s3.webp);position:relative;background:var(--bg);padding:7rem 0;overflow:hidden}.hero-split:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--hero-left-width);background:var(--hero-bg-image) center/cover no-repeat;opacity:.5;z-index:0}.hero-inner{position:relative;z-index:1;display:grid;align-items:center;gap:clamp(2rem,8rem,5rem);grid-template-columns:.8fr 1.2fr}.hero-media{height:100%;max-height:720px;border-radius:990px 990px 28px 28px;overflow:hidden;margin:0;background:var(--paper)}.hero-media img{width:100%;height:100%;object-fit:cover}.eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 60%,transparent);margin-bottom:.25rem}.display{margin:0 0 2rem;font-size:clamp(32px,4.6vw,56px);color:var(--latte);line-height:5rem}.display span{font-family:Poppins;font-style:normal;font-weight:600;font-size:3rem;color:var(--blush)}.beige{color:var(--sand)}.lead{color:color-mix(in srgb,var(--ink) 85%,transparent);font-size:.9rem}.hero-curve{position:absolute;right:clamp(8px,6vw,60px);bottom:-8px;width:clamp(180px,36vw,380px);height:90px;z-index:1}.hero-curve path{stroke:color-mix(in srgb,var(--ink) 55%,transparent);stroke-width:2.5;stroke-linecap:round}.grid-3{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.6rem 2rem;border-radius:var(--radius);border:1px solid transparent;font-size:.9rem;font-weight:400;text-decoration:none;transition:.2s ease;cursor:pointer}.btn.small{padding:8px 12px;font-weight:600}.btn.primary{background:var(--latte);color:#fff}.btn.primary:hover{opacity:.7;color:#fff}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}.actions{gap:1rem;width:50%}.center{display:flex;justify-content:center;margin-top:2rem}.about-split{--about-left-width: clamp(300px, 100vw, 900px);--about-left-bg: var(--paper);position:relative;background:var(--latte);padding:96px 0;overflow:visible}.about-split:before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--about-left-width);background:var(--about-left-bg);z-index:0}.about-grid{position:relative;z-index:1;display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:min(620px,48%) 1fr;align-items:stretch}.about-copy{position:relative;align-self:stretch}.about-copy-sticky{position:sticky;top:calc(var(--nav-h, 64px) + 24px)}.cloud{position:absolute;bottom:28rem;left:-12rem;width:680px;opacity:.4}.about-copy .display{font-size:clamp(28px,3.6vw,40px);color:var(--terracotta);margin:0 0 .5rem}.about-copy .lead{color:color-mix(in srgb,var(--ink) 85%,transparent);margin-bottom:12px}.about-sticky{display:flex;flex-direction:column;justify-content:end;align-items:end;position:sticky;top:calc(var(--nav-h, 64px) + 24px)}.about-gallery{display:grid;gap:2rem}.about-gallery img{width:320px;object-fit:cover;border-radius:999px 999px 18px 18px;box-shadow:var(--shadow);background:var(--paper)}.boho-frame img{border-radius:999px 999px 18px 18px;display:inline-block;box-shadow:30px 10px 0 6px var(--paper);margin-bottom:3rem}.about-ps-hero{margin-bottom:2rem}.about-ps{margin-bottom:2rem;background:var(--bg);padding:2rem;border-radius:var(--radius)}.services{background:var(--bg);padding:6rem 0}.services-head h2{margin:0 0 1rem;font-size:clamp(28px,3.4vw,40px);color:var(--terracotta)}.services-head .muted{color:color-mix(in srgb,var(--ink) 70%,transparent);margin:0 0 3rem}.service-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{cursor:pointer;padding:2rem;position:relative;isolation:isolate;text-align:center;background:var(--paper);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.service-card:after{content:"";position:absolute;inset:0;border-radius:var(--radius);box-shadow:inset 0 0 #0000;transition:box-shadow .25s ease;pointer-events:none}.service-card:hover{box-shadow:0 10px 26px #00000014;border-color:color-mix(in srgb,var(--terracotta) 35%,transparent)}.service-card:hover:after{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--blush) 60%,transparent),inset 0 0 0 12px color-mix(in srgb,var(--sand) 26%,transparent)}.service-figure{display:grid;place-items:center;height:140px;margin:6px 0 10px}.service-figure img{max-height:140px;width:auto;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.08));transition:transform .25s ease}.service-card:hover .service-figure img{transform:translateY(-8px) rotate(-6deg)}.service-title{margin:0;font-size:1.2rem;font-weight:600;color:var(--ink)}h4{color:var(--ink);font-size:1rem;margin-bottom:0}.contact-split{--contact-left-width: clamp(300px, 40vw, 840px);--contact-left-bg: var(--latte);position:relative;background:var(--paper);padding:96px 0;overflow:hidden}.contact-split:before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--contact-left-width);background:var(--ink);opacity:.85;z-index:0}.contact-grid{position:relative;z-index:1;display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:.7fr 1.3fr;align-items:start}.contact-copy .display{font-size:clamp(28px,3.6vw,40px);margin:0 0 .5rem}.contact-copy .lead{color:color-mix(in srgb,var(--ink) 85%,transparent);margin-bottom:.5rem}.bullets{margin:.5rem 0 0;padding-left:1.1rem}.contact-form{border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.9rem;color:color-mix(in srgb,var(--ink) 80%,transparent)}.field input,.field textarea{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--bg);color:var(--ink);padding:.5rem .9rem;border-radius:12px;margin-bottom:1rem;resize:none;box-shadow:0 0 #0000;transition:box-shadow .25s ease,border-color .25s ease,background-color .25s ease}.field input:focus,.field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--terracotta) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--terracotta) 28%,transparent),0 6px 18px #00000014}.field input:focus-visible,.field textarea:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--terracotta) 36%,transparent),0 6px 18px #0000001a}.field input:hover,.field textarea:hover{border-color:color-mix(in srgb,var(--ink) 28%,transparent)}.radio-group{border:0;padding:0;margin:10px 0 14px}.radio-group legend{font-size:.95rem;margin-bottom:.5rem;color:color-mix(in srgb,var(--ink) 90%,transparent)}.radio{display:flex;align-items:center;gap:12px;margin:.45rem 0;cursor:pointer;position:relative}.radio input{appearance:none;-webkit-appearance:none;position:absolute;opacity:0;width:0;height:0}.radio .control{width:22px;height:22px;border-radius:50%;border:2px solid color-mix(in srgb,var(--ink) 50%,transparent);display:inline-grid;place-items:center;transition:border-color .2s ease,background .2s ease}.radio .control:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--terracotta);transform:scale(0);transition:transform .18s ease}.radio input:checked+.control:after{transform:scale(1)}.radio:hover .control{border-color:color-mix(in srgb,var(--terracotta) 45%,transparent)}.radio input:focus-visible+.control{outline:2px solid color-mix(in srgb,var(--terracotta) 40%,transparent);outline-offset:3px}.check{display:flex;align-items:center;gap:12px;margin:8px 0 12px;font-size:.9rem;position:relative}.check input{appearance:none;-webkit-appearance:none;position:absolute;opacity:0;width:0;height:0;transition:.3s ease}.check .control{width:22px;height:22px;border-radius:6px;border:2px solid color-mix(in srgb,var(--ink) 50%,transparent);background:var(--bg);display:inline-grid;place-items:center;transition:border-color .2s ease,background .2s ease}.check .control:after{content:"";width:10px;height:6px;border-left:3px solid var(--terracotta);border-bottom:3px solid var(--terracotta);transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .18s ease}.check input:checked+.control{border-color:color-mix(in srgb,var(--terracotta) 55%,transparent);background:color-mix(in srgb,var(--terracotta) 12%,#fff)}.check input:checked+.control:after{transform:rotate(-45deg) scale(1)}.check:hover .control{border-color:color-mix(in srgb,var(--terracotta) 45%,transparent)}.check input:focus-visible+.control{outline:2px solid color-mix(in srgb,var(--terracotta) 40%,transparent);outline-offset:3px}.check a{color:inherit;text-decoration:underline}.footer{background:var(--bg);border-top:1px solid rgba(0,0,0,.06)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:6rem 0;z-index:1}.brand-mini{margin:0 0 6px;color:var(--terracotta)}.footer-list{display:flex;flex-direction:column;gap:1.2rem}.footer-list .item{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--ink);text-decoration:none}.footer-list .icon{color:var(--latte);display:grid;place-items:center}.footer-list a{transition:.2s ease}.footer-list a:hover{color:var(--latte)}.footer-map iframe{width:100%;height:360px;border:0;display:block}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0 28px;border-top:1px solid rgba(0,0,0,.06);font-size:.8rem}.footer-bottom a{color:inherit;text-decoration:none;transition:.2s ease}.footer-bottom a:hover{color:var(--latte)}.footer-sun{opacity:.8;transform:rotate(14deg);width:280px;margin:0 auto;margin-top:5rem}.socials{display:flex;gap:12px;perspective:600px;margin-top:1.25rem}.social{--accent: var(--terracotta);width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#fff;border:3px solid #fff;color:#262626;position:relative;overflow:hidden;transition:transform .2s ease}.social:before{content:"";position:absolute;inset:100% 0 0;background:var(--accent);transition:top .35s ease;z-index:0}.social .icon,.social svg{position:relative;z-index:1;transition:transform .6s ease,color .3s ease}.social:hover:before{top:0}.social:hover .icon,.social:hover svg{color:#fff;transform:rotateY(360deg)}.social:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 60%,white);outline-offset:3px}.social.linkedin,.social.instagram{--accent: var(--latte)}.light{color:var(--bg)!important}::selection{background:var(--terracotta);color:#fff}::-moz-selection{background:var(--terracotta);color:#fff}input::selection,textarea::selection{background:var(--sand);color:var(--ink)}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px #fff inset;border-color:color-mix(in srgb,var(--terracotta) 35%,transparent)}@supports (animation-timeline: view()){.service-card{animation:card-pop linear both;animation-timeline:view();animation-range:entry 10% cover 50%}@keyframes card-pop{0%{transform:translateY(48px) scale(.8)}to{transform:translateY(0) scale(1)}}.service-card:nth-child(1){animation-range-start:entry 5%}.service-card:nth-child(2){animation-range-start:entry 12%}.service-card:nth-child(3){animation-range-start:entry 19%}.service-card:nth-child(4){animation-range-start:entry 26%}.service-card:nth-child(5){animation-range-start:entry 33%}.service-card:nth-child(6){animation-range-start:entry 40%}}.service-card{transition:box-shadow .2s ease,border-color .2s ease}@media (prefers-reduced-motion: reduce){.social,.social:before,.social .icon{transition:none}}@media (max-width: 1200px){.contact-split{--contact-left-width: clamp(300px, 37vw, 540px)}.about-split{--about-left-width: clamp(300px, 100vw, 600px)}.boho-frame img{box-shadow:20px 10px 0 6px var(--paper)}}@media (max-width: 960px){.service-grid{grid-template-columns:1fr 1fr}.about-split{--about-left-width: clamp(300px, 100vw, 540px)}.footer-grid{grid-template-columns:1fr 1fr}.footer-map iframe{height:300px}.contact-split{--contact-left-width: clamp(300px, 34vw, 540px)}.actions{width:100%}}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;gap:4rem}.about-split{--about-left-width: 100vw;padding:64px 0}.about-sticky{position:relative;top:0}.about-copy-sticky{position:static;top:auto}.cloud{display:none}.contact-grid{grid-template-columns:1fr}.contact-split{--contact-left-width: 100vw;padding:64px 0}.about-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}.about-gallery img{max-height:340px;object-position:top}.contact-form label,.field legend{color:var(--bg)}.contact-form{padding:0}}@media (max-width: 768px){.overlay-menu a{font-size:1.6rem}.hero-inner{grid-template-columns:1fr}.hero-media{order:-1;max-height:480px}.hero-split{--hero-left-width: 100vw}h1{font-size:2.6rem!important;line-height:3rem!important}h2{font-size:2.4rem!important;line-height:2.8rem}.actions{display:flex;width:100%}.grid-3{grid-template-columns:1fr}}@media (max-width: 768px){.hero-split{padding:4rem 0!important}.container{width:calc(100% - 3rem)}.hero-inner{gap:2.5rem}.hero-media{height:auto;max-height:420px;max-width:320px;width:280px}.hero-copy{margin-top:1rem}.display span{font-family:Poppins;font-style:normal;font-weight:600;font-size:1.8rem;color:var(--blush)}.about-sticky{align-items:center}.about-gallery img{max-height:340px;object-position:top}.contact-split{--contact-left-width: 100%}.contact-grid{grid-template-columns:1fr;min-width:0}.contact-form{width:100%;max-width:640px;margin:0 auto;min-width:0;background-color:var(--paper);padding:2rem}.form-row{grid-template-columns:1fr}.field input,.field textarea{width:100%}.footer-sun{margin-top:3rem}.boho-frame img{border-radius:999px 999px 18px 18px;display:inline-block;margin-bottom:3rem;max-height:280px;object-position:top}.hero-split:before{display:none}.contact-form label,.field legend{color:var(--ink)}.hero-split{background:linear-gradient(to bottom,var(--blush) 0 34%,var(--bg) 34% 100%)}}@media (max-width: 600px){.service-grid{grid-template-columns:1fr}.about-gallery{display:grid;grid-template-columns:1fr;gap:2rem}.about-gallery img{max-height:420px}.footer-grid{grid-template-columns:1fr}}.copy-s{margin:0;font-size:.9rem;opacity:.5;margin-bottom:2rem}.list-s{padding:0 0 0 1rem;text-align:start;margin:0}.list-s li{display:grid;gap:.5rem;grid-template-columns:.1fr 1.9fr;align-items:center;font-size:.9rem;opacity:.5}@media (max-width: 900px){.service-grid{grid-template-columns:1fr}.no-mobile{display:none}}.services-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transform:scale(1.01);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}.services-modal[aria-hidden=false]{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease,visibility 0s}.services-backdrop{position:fixed;inset:0;background:color-mix(in srgb,black 40%,transparent)}.services-dialog{position:relative;z-index:1;width:min(840px,92vw);max-height:min(84vh,820px);overflow:auto;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 16px 42px #0000002e;padding:clamp(18px,3vw,28px)}.modal-close{padding:0;position:sticky;top:0;right:0;width:48px;height:36px;opacity:.5;align-items:center;justify-content:center;border-radius:10px;border:none;background:none;cursor:pointer;display:inline-flex}.modal-close:hover{background:color-mix(in srgb,var(--ink) 6%,#fff)}.modal-close:focus-visible{outline:2px solid var(--latte);outline-offset:2px}.modal-head{display:flex;align-items:center;gap:14px;margin:6px 0 10px}.modal-head .service-figure{height:80px;margin:0}.modal-head .service-figure img{max-height:72px;object-fit:contain}.modal-title{margin:0;font-size:1.4rem;color:var(--ink)}.modal-body{padding:2rem;text-align:center}.modal-body .copy-s{margin:0 0 1rem;opacity:.85}.service-card.card{background:var(--paper);border:0;box-shadow:none}.footer-bottom{margin-top:5rem;padding:0}.footer-bottom-row{display:flex;justify-content:end;align-items:center;gap:12px;flex-wrap:wrap}.footer-bottom-row p{color:var(--ink)}.footer-bottom a:hover{text-decoration:underline}.pb-0{padding-bottom:1rem}@media (max-width: 768px){.modal-body{padding:0rem;text-align:center}}@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:400;src:url(../fonts/quicksand-v37-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:500;src:url(../fonts/quicksand-v37-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:600;src:url(../fonts/quicksand-v37-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:700;src:url(../fonts/quicksand-v37-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:200;src:url(../fonts/poppins-v24-latin-200.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(../fonts/poppins-v24-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:600;src:url(../fonts/poppins-v24-latin-600.woff2) format("woff2")}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:300;src:url(../fonts/poppins-v24-latin-300.woff2) format("woff2")}@font-face{font-display:swap;font-family:Fredoka;font-style:normal;font-weight:400;src:url(../fonts/fredoka-v17-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Fredoka;font-style:normal;font-weight:700;src:url(../fonts/fredoka-v17-latin-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:Fraunces;font-style:normal;font-weight:400;src:url(../fonts/fraunces-v38-latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:Fraunces;font-style:normal;font-weight:500;src:url(../fonts/fraunces-v38-latin-500.woff2) format("woff2")}@font-face{font-display:swap;font-family:Fraunces;font-style:normal;font-weight:800;src:url(../fonts/fraunces-v38-latin-800.woff2) format("woff2")}
