@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,500;0,600;1,500;1,600&family=Nunito+Sans:wght@400;500;600;700&display=swap");
:root{--gls-paper:#f4f2e9;--gls-forest:#214c36;--gls-deep:#183b2b;--gls-sage:#e0e7d4;--gls-line:#c7d0be;--gls-muted:#526151;--gls-cream:#fbfaf3;--gls-accent:#cadb8e;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--gls-paper);color:var(--gls-forest);font-family:'Nunito Sans',Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gls-forest);outline-offset:6px}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:10px;left:16px;transform:translateY(-180%);z-index:10;background:var(--gls-forest);color:var(--gls-cream);padding:10px 16px}.skip:focus{transform:translateY(0)}
.site-header{display:flex;justify-content:space-between;align-items:center;min-height:116px;border-bottom:1px solid var(--gls-line);gap:24px}.brand{display:inline-flex;align-items:baseline;gap:7px;font-size:23px;font-weight:700;letter-spacing:-1px;line-height:1.15}.brand>span:not(.brand-dot){font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400}.brand .brand-dot{font-size:27px;margin-left:5px;align-self:center;line-height:1}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px}.nav-contact{border-bottom:1px solid var(--gls-forest);padding-block:7px}.nav-contact span{margin-left:12px}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:center;padding-block:70px 76px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.6px;font-weight:700;margin:0 0 26px;line-height:1.5}.hero-copy{padding-bottom:5px;position:relative;z-index:1}.hero .eyebrow{display:flex;gap:9px;align-items:center}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--gls-forest);display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,5.1vw,75px);line-height:1.06;letter-spacing:-3px;margin:0 -25px 26px 0}em{font-weight:400}.intro{font-size:18px;line-height:1.6;max-width:405px;color:var(--gls-muted);margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--gls-forest);color:var(--gls-cream);border:1px solid var(--gls-forest);min-height:52px;padding:14px 22px;font-size:14px;line-height:1.4;border-radius:3px;font-weight:500;transition:background .15s}.button:hover{background:var(--gls-deep)}.button span{font-size:19px;line-height:1}.development{font-size:12px;color:var(--gls-muted);margin:17px 0 0}.development span{padding-inline:7px}
.hero-art{position:relative;min-width:0;aspect-ratio:1.15;background:var(--gls-sage);border-radius:48% 48% 3px 3px;overflow:hidden}.art-orbit{position:absolute;width:60%;aspect-ratio:1;border-radius:50%;border:1px solid #c4cdb4;top:11%;left:20%}.art-note{position:absolute;top:9%;left:7%;font-family:'Fraunces',Georgia,serif;font-size:18px;line-height:1.15;font-style:italic;transform:rotate(-9deg);z-index:1}.pet-drawing{display:block;position:absolute;width:108%;height:auto;max-width:none;left:-4%;top:9%}.art-caption{position:absolute;right:6%;bottom:5%;font-size:12px;line-height:1.5;letter-spacing:.3px;margin:0;text-align:right}.art-plus{position:absolute;left:7%;bottom:7%;font-size:31px;line-height:1;font-weight:400}
.concept-band{border-block:1px solid var(--gls-line);background:var(--gls-sage)}.band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:77px}.band-inner p{font-size:14px;margin:0}.band-mark{font-size:28px;font-weight:400;line-height:1}
.features{display:grid;grid-template-columns:1fr 1.25fr;gap:100px;padding-block:94px 100px}.features-heading .eyebrow{margin-bottom:22px}h2{font-size:clamp(40px,4vw,56px);line-height:1.1;letter-spacing:-2px;margin-bottom:23px}.features-heading>p:last-child{max-width:300px;color:var(--gls-muted);font-size:16px;line-height:1.65}.feature{display:flex;gap:24px;padding:25px 0;border-top:1px solid var(--gls-line)}.feature:first-child{padding-top:4px;border:0}.feature:last-child{padding-bottom:0}.feature-index{font-size:12px;font-weight:700;padding-top:6px;min-width:18px}.feature h3{font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.5px;margin:0 0 9px}.feature p{font-size:15px;color:var(--gls-muted);margin:0;max-width:445px;line-height:1.6}
.contact-section{background:var(--gls-forest);color:var(--gls-paper)}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-block:63px 68px}.contact-inner .eyebrow{color:var(--gls-accent);margin-bottom:23px}.contact-inner h2{margin-bottom:0;font-size:clamp(42px,4.5vw,62px)}.contact-copy{justify-self:end;min-width:290px}.contact-copy p{font-size:18px;line-height:1.6;margin-bottom:25px}.button-cream{background:var(--gls-paper);border-color:var(--gls-paper);color:var(--gls-forest);gap:28px}.button-cream:hover{background:var(--gls-sage)}.button-cream:focus-visible,.email-link:focus-visible{outline-color:var(--gls-paper)}.email-link{display:block;font-size:14px;margin-top:18px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:115px}.brand-footer{font-size:19px}.site-footer p{font-size:12px;color:var(--gls-muted);margin:0}.site-footer p span{padding-inline:8px}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{padding-block:50px 55px;gap:24px}h1{font-size:clamp(42px,5.5vw,58px);letter-spacing:-2px}.art-note{font-size:16px}.art-caption{font-size:11px}.features{gap:55px;padding-block:70px}.intro{font-size:16px}.contact-copy{min-width:0}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{min-height:86px;gap:14px}.brand{font-size:21px;gap:6px}.brand .brand-dot{display:none}.site-header nav{font-size:14px;gap:15px}.concept-link{display:none}.hero{grid-template-columns:1fr;padding-block:39px 35px;gap:32px}.hero .eyebrow{font-size:11px;letter-spacing:1.25px;margin-bottom:20px}h1{font-size:clamp(44px,9.7vw,65px);letter-spacing:-2.4px;margin-right:0;margin-bottom:20px;line-height:1.08}.intro{max-width:450px;font-size:16px;margin-bottom:24px}.hero-copy .button{width:100%;text-align:center;gap:22px}.development{text-align:center;font-size:12px}.hero-art{max-width:500px;width:100%;margin-inline:auto;border-radius:47% 47% 3px 3px}.art-note{font-size:18px}.art-plus{font-size:28px}.band-inner{min-height:70px;gap:14px;padding-block:15px;flex-wrap:wrap;justify-content:center;text-align:center}.band-inner p{font-size:13px}.band-mark{font-size:20px}.features{grid-template-columns:1fr;gap:25px;padding-block:50px}.features-heading .eyebrow{font-size:11px;margin-bottom:17px}h2{font-size:42px;letter-spacing:-1.8px}.features-heading h2 br{display:none}.features-heading>p:last-child{max-width:440px;font-size:16px;margin-bottom:0}.feature{gap:19px;padding-block:23px}.feature:first-child{border-top:1px solid var(--gls-line);padding-top:23px}.feature h3{font-size:20px}.feature p{font-size:15px;max-width:none}.contact-inner{grid-template-columns:1fr;gap:28px;padding-block:46px 48px}.contact-inner h2{font-size:46px}.contact-copy{justify-self:stretch}.contact-copy p{font-size:16px;margin-bottom:21px}.button-cream{width:100%;text-align:center}.email-link{text-align:center}.site-footer{min-height:0;padding-block:29px;flex-wrap:wrap;gap:18px;justify-content:space-between}.brand-footer{font-size:18px;flex-basis:100%}.site-footer p{font-size:12px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.art-note{font-size:15px}.art-caption{font-size:10px}.art-plus{font-size:25px}h1{font-size:41px;letter-spacing:-2px}.band-inner{gap:8px}.band-mark{display:none}.band-inner p{width:100%}.site-footer{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

h1,h2,h3,em{color:inherit;-webkit-text-fill-color:currentColor}.hero h1,.hero h1 em,.features h2,.features h2 em,.feature h3{color:var(--gls-forest)}.contact-section h2,.contact-section h2 em{color:var(--gls-paper)}

h1,h2{font-weight:500;letter-spacing:-1.8px}.eyebrow{text-transform:none;letter-spacing:.1px;font-size:14px;font-weight:600}.hero .eyebrow,.features-heading .eyebrow{font-size:14px;letter-spacing:.1px}.brand{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-.8px}.feature h3{font-weight:600;letter-spacing:-.2px}.button{font-weight:600}

/* Explicit text colors keep light surfaces legible in every host theme. */
.hero,.features,.site-header,.site-footer,.hero-art,.concept-band{color:var(--gls-forest)}
.hero p,.hero span,.features p,.features span,.site-header a,.site-header span,.site-footer a,.site-footer span,.hero-art p,.hero-art span,.concept-band p,.concept-band span{color:var(--gls-forest);-webkit-text-fill-color:currentColor}
.hero .intro,.hero .development,.feature p,.features-heading>p:last-child,.site-footer p{color:var(--gls-muted);-webkit-text-fill-color:currentColor}
.hero .button,.hero .button span{background-color:var(--gls-forest);color:var(--gls-cream);-webkit-text-fill-color:var(--gls-cream)}
.contact-section p,.contact-section .email-link{color:var(--gls-paper);-webkit-text-fill-color:currentColor}.contact-section .eyebrow{color:var(--gls-accent)}
.contact-section .button-cream,.contact-section .button-cream span{color:var(--gls-forest);-webkit-text-fill-color:var(--gls-forest)}
