@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800;900&family=Caveat:wght@500;600&display=swap');
:root{--forest:#183d32;--ink:#202b25;--orange:#f47732;--paper:#f5f5ee;--soft:#e9eddf;--muted:#637369;--season:#b86536;--line:#d9dfd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Golos Text','Segoe UI',sans-serif}body[data-season=spring]{--soft:#e8efda;--season:#658331}body[data-season=summer]{--soft:#e3ecdf;--season:#3b7044}body[data-season=winter]{--soft:#e4edf0;--season:#467b8e}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #db6d33;outline-offset:5px}.wrap{width:calc(100% - 96px);max-width:1400px;margin:auto}.topline{font-size:12px;background:var(--forest);color:#dfe7da;padding:9px 0}.topline .wrap{display:flex;justify-content:space-between;gap:16px}.topline span:last-child{color:#e9b281}header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 0}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;line-height:.95;letter-spacing:-1px}.brand-mark{position:relative;width:43px;height:49px;border-radius:9px;background:var(--forest);color:var(--paper);font-size:40px;display:grid;place-items:center;font-weight:900}.brand-mark>span{position:absolute;color:var(--orange);right:-6px;top:-9px;font-size:32px}.brand-dot{color:var(--orange)}nav{display:flex;gap:28px;font-size:14px;font-weight:500}nav a:hover{color:#c25620}.header-button{border:1px solid var(--forest);border-radius:5px;padding:13px 18px;font-size:14px;font-weight:600}.header-button span{margin-left:20px}.hero{position:relative;display:grid;grid-template-columns:44% 56%;padding-top:35px;padding-bottom:35px;min-height:690px;align-items:center}.hero-copy{z-index:1}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.8px;margin:0 0 24px;display:flex;align-items:center;gap:12px}.short-rule{display:inline-block;width:30px;height:2px;background:var(--orange)}h1{font-size:clamp(55px,5.2vw,80px);line-height:1.03;font-weight:800;letter-spacing:-3.6px;margin:0 0 25px}h1>span{color:var(--season)}.mobile-break{display:none}.hero-copy>p:not(.eyebrow){max-width:410px;font-size:17px;line-height:1.7;color:#556158;margin-bottom:27px}.hero-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.button{background:var(--orange);color:#172f25;border:1px solid var(--orange);border-radius:5px;padding:17px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 3px 0 #c65624;transition:transform .18s,background .18s}.button:hover{background:#ff8e48;transform:translateY(-2px)}.button span{font-size:23px;font-weight:400}.text-link{font-size:13px;border-bottom:1px solid #a6b09b;padding-bottom:3px}.handwritten{font-family:Caveat,cursive;font-size:27px;line-height:1.1;color:var(--season);margin-top:26px;transform:rotate(-3deg);display:inline-block}.hero-art{position:relative;align-self:stretch;min-width:0;display:flex;align-items:center;margin-left:-45px;margin-right:-20px}.hero-art>img{width:112%;max-width:none;margin-left:-5%;mix-blend-mode:multiply;aspect-ratio:3/2;object-fit:contain}.art-stamp{z-index:1;position:absolute;top:10px;right:15px;display:flex;flex-direction:column;text-align:center;border:1px solid var(--season);border-radius:50%;width:116px;height:116px;justify-content:center;transform:rotate(12deg);color:var(--season)}.art-stamp span{font-size:9px;letter-spacing:2px}.art-stamp strong{font:27px Caveat,cursive}.name-tag{position:absolute;bottom:36px;right:20px;padding:10px 20px;border-left:3px solid var(--orange);background:var(--paper)}.name-tag>span{font:28px Caveat,cursive;display:block;line-height:1}.name-tag small{font-size:11px}.art-footnote{position:absolute;bottom:5px;right:20px;font-size:10px;color:#7b857a}.ticker{background:var(--forest);color:#eef3e8;padding:23px 0}.ticker .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;font-weight:600;letter-spacing:1px}.ticker b{font-size:24px;line-height:1;color:var(--orange)}.section{padding-top:90px;padding-bottom:90px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}h2{font-size:clamp(35px,3.7vw,54px);line-height:1.1;letter-spacing:-2px;margin:0;font-weight:700}h2 span{color:var(--season)}.section-top>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:350px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;overflow:hidden;transition:transform .2s;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-5px)}.service-art{height:220px;overflow:hidden;background:var(--soft);position:relative}.service-art img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.service-art>span{position:absolute;top:15px;left:18px;background:var(--paper);border-radius:3px;padding:3px 8px;font-size:11px}.service-content{padding:25px;display:flex;flex-direction:column;flex:1}.service-content h3{font-size:25px;margin:0 0 12px;line-height:1.15;letter-spacing:-.7px}.service-content p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 24px}.service-content button{background:transparent;border:0;border-top:1px solid var(--line);text-align:left;padding:16px 0 0;margin-top:auto;display:flex;justify-content:space-between;cursor:pointer;color:var(--forest);font-size:14px;font-weight:600}.service-content button span{font-size:22px;line-height:1}.services-note{font-size:13px;color:var(--muted);margin:24px 0 0}.sergey-section{background:var(--forest);color:var(--paper);overflow:hidden}.sergey-grid{display:grid;grid-template-columns:45% 55%;align-items:center;min-height:680px;gap:30px}.sergey-drawing{height:600px;position:relative;align-self:end;background:#f5f5ee;border-radius:180px 180px 0 0;margin-top:70px;overflow:hidden;max-width:460px}.sergey-drawing img{width:100%;height:108%;object-fit:contain;object-position:bottom;mix-blend-mode:multiply}.speech{position:absolute;top:20px;left:22px;background:var(--orange);color:var(--forest);font:25px Caveat,cursive;border-radius:8px;padding:12px 18px;transform:rotate(-8deg)}.sergey-copy{max-width:570px;padding:65px 20px}.sergey-copy .eyebrow{color:#b8cbbb}.sergey-copy h2{font-size:62px}.sergey-copy h2 span{color:#f5a16b}.sergey-copy p{color:#c9d4c9;font-size:16px;line-height:1.8}.sergey-copy .lead{font-size:21px;color:var(--paper)}.personal-note{border-left:2px solid var(--orange);padding-left:20px;margin:25px 0 30px}.personal-note>span{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#f4b388}.personal-note p{font-size:14px;margin:8px 0}.season-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.season-picture{aspect-ratio:4/3;background:var(--soft);overflow:hidden;border-radius:5px}.season-picture img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.season-gallery article>span{font-size:11px;letter-spacing:1.5px;color:var(--season);display:block;margin-top:20px}.season-gallery h3{font-size:20px;letter-spacing:-.6px;line-height:1.2;margin:10px 0}.season-gallery p{color:var(--muted);font-size:14px;margin:0}.caption{font-size:12px;color:var(--muted);margin:26px 0 0;max-width:750px}.process-section{background:var(--soft);padding:80px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.step-number{font-size:58px;font-weight:800;line-height:1;color:var(--paper);-webkit-text-stroke:1px var(--forest)}.steps h3{font-size:22px;margin:20px 0 14px;letter-spacing:-.5px}.steps p{font-size:15px;line-height:1.8;color:#57665b}.questions{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}.questions h2{font-size:65px}.questions .handwritten{font-size:25px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font-size:17px;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:24px;line-height:1.1;color:var(--season)}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 22px;max-width:650px}.contact-section{background:var(--forest);color:var(--paper);padding:75px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-grid h2{font-size:66px}.contact-grid h2 span{color:#f4a16c}.contact-grid .eyebrow{color:#bdcfbf}.contact-intro{font-size:18px;color:#ccdacb}.contact-tip{margin-top:40px;padding-top:25px;border-top:1px solid #446456;max-width:420px}.contact-tip strong{font-size:14px}.contact-tip p{font-size:14px;color:#c9d6c7;line-height:1.9}.contact-grid .handwritten{color:#f3ad7d}form{background:var(--paper);color:var(--ink);padding:32px;border-radius:9px}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}input,textarea,select{width:100%;border:1px solid #ced7c8;border-radius:5px;background:#fffefa;padding:12px 14px;color:var(--ink);font-size:15px;margin-bottom:18px}textarea{resize:vertical}form .button{width:100%;margin-top:2px}.demo-note{font-size:12px;color:var(--muted);line-height:1.6;margin:18px 0 0}#prepared{margin-top:25px}.copy-button{padding:10px 16px;border:1px solid var(--forest);border-radius:4px;cursor:pointer;background:transparent;color:var(--forest)}#copy-status{font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 0;gap:20px}footer>p{font-size:13px}footer p span{color:var(--muted)}footer>a:last-child{font-size:13px}@media(min-width:1550px){.hero-art>img{width:108%}.hero{min-height:740px}}@media(max-width:1100px){.wrap{width:calc(100% - 50px)}nav{gap:14px;font-size:12px}.hero{min-height:620px}h1{font-size:59px}.hero-actions{gap:14px}.hero-art{margin-left:-25px}.art-stamp{width:90px;height:90px}.art-stamp strong{font-size:23px}.art-stamp span{font-size:8px}.name-tag{bottom:70px}.art-footnote{bottom:40px}.contact-grid{gap:45px}.service-art{height:190px}.sergey-copy h2{font-size:52px}.season-gallery{gap:14px}.season-gallery h3{font-size:18px}.steps{gap:25px}}@media(max-width:800px){nav{display:none}.hero{grid-template-columns:1fr;gap:0;min-height:0;padding-top:25px}.hero-copy{max-width:650px}h1{font-size:68px}h1 br:nth-child(2){display:none}.hero-copy>p:not(.eyebrow){max-width:500px}.hero-art{min-height:420px;margin:0}.hero-art>img{width:100%;margin:0}.art-stamp{top:10px;right:0}.name-tag{bottom:15px;right:0}.art-footnote{bottom:-8px}.ticker .wrap{flex-wrap:wrap;justify-content:center;font-size:11px;gap:14px}.ticker b:last-of-type{display:none}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:42% 58%}.service-art{height:100%;min-height:240px}.section{padding-top:65px;padding-bottom:65px}.section-top{display:block}.section-top>p{margin-top:25px}.sergey-grid{grid-template-columns:40% 60%;gap:0;min-height:0}.sergey-drawing{height:420px;border-radius:80px 80px 0 0}.sergey-copy{padding:50px 0 45px 25px}.sergey-copy h2{font-size:42px}.sergey-copy .lead{font-size:18px}.speech{font-size:19px;padding:8px;left:8px;top:25px}.season-gallery{grid-template-columns:repeat(2,1fr);gap:30px 18px}.steps{grid-template-columns:1fr;gap:20px}.steps article{position:relative;padding-left:85px}.step-number{position:absolute;left:0;top:20px;font-size:47px}.steps h3{margin-bottom:10px}.questions{grid-template-columns:1fr;gap:20px}.questions h2{font-size:52px}.questions .handwritten{margin-top:18px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid h2{font-size:58px}.contact-tip{margin-top:25px}.contact-section{padding:55px 0}}@media(max-width:500px){.wrap{width:calc(100% - 36px)}.topline{font-size:10px}.topline .wrap{gap:10px}.topline span:first-child{display:none}.brand{font-size:19px}.brand-mark{height:41px;width:37px;font-size:33px}.brand-mark>span{font-size:26px}.header-button{font-size:12px;padding:10px 12px}.header-button span{margin-left:6px}header{padding:21px 0}.hero{padding-top:18px}.eyebrow{font-size:10px;margin-bottom:20px}h1{font-size:49px;letter-spacing:-2.3px}h1 br:nth-child(2){display:block}.mobile-break{display:none}.hero-copy>p:not(.eyebrow){font-size:16px;margin-top:18px}.hero-actions{gap:19px}.button{font-size:14px;padding:14px 17px}.handwritten{font-size:24px}.hero-art{min-height:300px;margin:15px -8px 10px}.art-stamp{top:0;width:75px;height:75px}.art-stamp span{font-size:6px}.art-stamp strong{font-size:21px}.name-tag{padding:7px 12px;bottom:8px}.name-tag>span{font-size:24px}.name-tag small{font-size:10px}.art-footnote{font-size:8px;bottom:-15px}.ticker .wrap{font-size:9px;gap:10px}.ticker b{font-size:17px}.ticker span:last-child{display:none}h2{font-size:35px;letter-spacing:-1.4px}.section-top>p{font-size:14px}.service-card{display:flex}.service-art{height:220px;min-height:0}.service-content{padding:24px}.sergey-grid{display:flex;flex-direction:column-reverse}.sergey-copy{padding:45px 0 15px}.sergey-copy h2{font-size:47px}.sergey-drawing{height:410px;width:85%;margin-top:30px;border-radius:140px 140px 0 0}.speech{font-size:24px;top:25px;left:10px}.season-gallery{gap:25px 13px}.season-gallery article>span{font-size:10px}.season-gallery h3{font-size:18px}.season-gallery p{font-size:12px}.caption{font-size:11px}.process-section{padding:55px 0}.steps article{padding-left:65px}.step-number{font-size:40px}.steps h3{font-size:19px}.steps p{font-size:14px}.faq summary{font-size:15px}.contact-grid h2{font-size:49px}form{padding:23px}footer{flex-wrap:wrap}footer>p{font-size:11px}footer>a:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Keep seasonal artwork inside the page and blend the illustration edges. */
.hero-art{margin-right:0}.hero-art>img{width:100%;max-width:100%;margin-left:0;mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 96%,transparent 100%);border-radius:6px}.art-stamp{top:4px;right:10px;background:var(--paper)}
@media(max-width:800px){.hero-art{margin-right:0;margin-left:0}.hero-art>img{width:100%;max-width:100%}.art-stamp{top:0}}


.sergey-drawing .speech{top:auto;bottom:24px;left:16px;transform:rotate(-5deg)}


.sergey-drawing{border-radius:0;border-top:5px solid var(--orange)}.art-stamp{border-radius:0;transform:rotate(4deg)}

/* Full portrait with breathing room on every side. */
.sergey-drawing{height:600px;padding:40px 36px 78px;margin:45px 0;align-self:center;border-top:0;max-width:460px;width:100%}
.sergey-drawing img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.sergey-drawing .speech{bottom:22px;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;font-size:23px;padding:8px 15px}
@media(max-width:800px){.sergey-drawing{height:450px;padding:28px 20px 72px;margin:35px 0}.sergey-drawing .speech{font-size:18px}}
@media(max-width:500px){.sergey-drawing{height:490px;width:100%;max-width:360px;padding:32px 28px 76px;margin:20px 0 40px}.sergey-drawing .speech{font-size:23px}}
/* Close portrait: retain room above the head and crop below the waist. */
.sergey-drawing{height:560px;padding:0;margin:45px 0;overflow:hidden}
.sergey-drawing img{position:absolute;top:36px;left:50%;transform:translateX(-50%);width:112%;max-width:none;height:auto;object-fit:initial;object-position:initial}
.sergey-drawing .speech{z-index:1;bottom:22px}
@media(max-width:800px){.sergey-drawing{height:420px;margin:35px 0}.sergey-drawing img{top:30px;width:145%}}
@media(max-width:500px){.sergey-drawing{height:430px;width:100%;max-width:360px;margin:20px 0 40px}.sergey-drawing img{top:30px;width:112%}}
/* Keep service illustrations complete at every card width. */
.service-art{height:auto;min-height:0;aspect-ratio:3/2;align-self:start}
.service-art img{display:block;width:100%;height:100%;object-fit:contain}
@media(min-width:501px) and (max-width:800px){.service-art{height:auto;min-height:0;align-self:center}}
.service-art>span{top:auto;bottom:12px;left:12px}
