:root{--cream:#f5f0e7;--paper:#fbf8f1;--ink:#34271f;--cocoa:#543b2e;--brown:#785844;--muted:#8e8173;--clay:#bd7658;--sage:#92977c;--line:rgba(52,39,31,.18);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace;--page:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:absolute;left:1rem;top:-4rem;padding:.8rem 1rem;background:var(--ink);color:var(--cream);z-index:100}.skip-link:focus{top:1rem}.site-header{height:82px;padding:0 max(6vw,calc((100vw - var(--page))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:28px;height:28px;border:1px solid var(--cocoa);border-radius:50%;display:grid;place-items:center;position:relative}.brand-mark span{position:absolute;width:10px;height:17px;border:1px solid var(--cocoa);border-radius:100% 0 100% 0;transform:rotate(-22deg)}.brand-mark span+span{transform:rotate(158deg)}.brand-name{font:500 14px var(--mono);letter-spacing:-.07em;line-height:1}.brand-name span{display:block;font:9px var(--sans);letter-spacing:.25em;text-transform:uppercase;margin-top:4px;color:var(--muted)}.navigation{display:flex;align-items:center;gap:38px;font-size:12px}.navigation>a:not(.nav-contact){color:#6c6055;transition:color .2s}.navigation>a:hover,.text-link:hover{color:var(--clay)}.nav-contact{padding:12px 17px;border:1px solid var(--line);border-radius:30px;transition:background .25s,color .25s}.nav-contact:hover{background:var(--ink);color:var(--cream)}.nav-contact span{padding-left:10px}.menu-toggle{display:none}.section-shell{max-width:var(--page);margin:0 auto;padding-left:38px;padding-right:38px}.hero{min-height:610px;display:grid;grid-template-columns:1fr 1.04fr;align-items:center;position:relative;padding-top:58px;padding-bottom:95px}.eyebrow{font:10px var(--mono);letter-spacing:.035em;color:var(--muted);text-transform:uppercase}.status-dot{display:inline-block;width:7px;height:7px;background:#8d956e;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px rgba(141,149,110,.12)}.eyebrow-divider{padding:0 8px;color:#c0aa94}.hero h1{font:500 clamp(65px,8vw,105px)/.99 var(--serif);letter-spacing:-.067em;margin:42px 0 22px}.hero h1 em,.section-heading h2 em,.about-copy h2 em,.contact-left h2 em{font-weight:500;color:var(--clay)}.hero-intro{max-width:385px;color:#74695d;font-size:15px;line-height:1.75}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;gap:24px;padding:15px 19px;border-radius:3px;font-size:11px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:var(--cocoa)}.button span{font-size:15px}.text-link{font-size:11px;transition:color .2s}.text-link span{padding-left:8px}.hero-art{height:455px;position:relative;margin-left:10px;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:43px 10px 12px 28px;border-radius:48% 52% 42% 58%/48% 43% 57% 52%;background:#e9e0d1;z-index:-2;transform:rotate(-9deg)}.art-orbit{position:absolute;border:1px solid rgba(120,88,68,.24);border-radius:50%;inset:35px 20px 15px 20px;transform:rotate(24deg)}.orbit-two{inset:56px 2px 0 48px;transform:rotate(-34deg);border-style:dashed;opacity:.55}.art-sun{width:96px;height:96px;position:absolute;right:66px;top:31px;border-radius:50%;background:#d9a179;opacity:.75}.art-card{position:absolute;box-shadow:0 18px 50px rgba(61,42,29,.13)}.art-card-back{width:220px;height:272px;right:31px;top:60px;background:#8b957d;color:#f5f0e7;padding:23px;transform:rotate(8deg);display:flex;flex-direction:column}.art-label{font:9px var(--mono);text-transform:uppercase;letter-spacing:.1em}.art-back-line{height:1px;background:rgba(245,240,231,.5);width:100%;margin-top:147px}.art-back-line.short{width:60%;margin-top:11px}.art-back-stamp{align-self:flex-end;margin-top:13px;font:italic 24px var(--serif)}.art-card-front{width:318px;height:303px;left:31px;top:114px;background:var(--paper);transform:rotate(-5deg);overflow:hidden}.browser-bar{height:35px;border-bottom:1px solid #e6dfd5;display:flex;align-items:center;padding:0 12px;gap:5px}.browser-bar i{width:5px;height:5px;border-radius:50%;background:#c7b8a9}.browser-bar span{font:8px var(--mono);margin:auto;color:#96877a}.browser-bar b{font-size:11px;font-weight:400}.art-window-body{padding:25px 24px;position:relative;height:268px}.mini-kicker{font:8px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.art-window-body strong{display:block;font:500 27px/1.2 var(--serif);margin-top:15px;position:relative;z-index:1}.art-window-body strong em{color:var(--clay);font-weight:500}.mini-shape{position:absolute;width:121px;height:117px;border-radius:57% 43% 50% 50%;background:#c2a789;right:21px;top:54px;transform:rotate(-24deg);opacity:.7}.mini-shape span{position:absolute;width:56px;height:78px;border-radius:100% 0 100% 0;background:#829079;left:34px;top:20px;transform:rotate(34deg)}.mini-caption{position:absolute;left:24px;right:24px;bottom:18px;border-top:1px solid #e6dfd5;padding-top:11px;font:8px var(--mono);color:#84786b}.mini-caption b{float:right;font-size:13px;font-weight:400;color:var(--ink)}.art-note{position:absolute;right:28px;bottom:18px;display:flex;align-items:center;gap:8px;color:#766658;font:9px var(--mono);text-transform:uppercase;line-height:1.5;transform:rotate(5deg)}.note-spark{font-size:28px;color:var(--clay)}.art-side-note{position:absolute;left:-5px;top:103px;writing-mode:vertical-rl;transform:rotate(180deg);font:8px var(--mono);letter-spacing:.15em;color:#9a8d80}.scroll-cue{position:absolute;bottom:34px;left:38px;font:9px var(--mono);letter-spacing:.04em;color:var(--muted);display:flex;align-items:center;gap:11px}.scroll-line{width:34px;height:1px;background:var(--clay)}.hero-index{position:absolute;right:38px;bottom:34px;font:9px var(--mono);color:var(--muted)}.hero-index span{padding:0 7px;color:#c8b8a6}.intro-strip{min-height:97px;background:#e8dfd2;border-block:1px solid rgba(52,39,31,.08);display:flex;align-items:center;justify-content:center;gap:72px}.intro-strip p{font:500 15px var(--serif)}.intro-strip em{font-weight:500;color:var(--clay)}.strip-star{font-size:24px;color:#9c8d75}.section-pad{padding-top:120px;padding-bottom:125px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:49px}.section-heading .eyebrow,.about-copy .eyebrow{margin:0 0 22px}.section-heading h2,.about-copy h2{font:500 clamp(43px,5.2vw,65px)/1.06 var(--serif);letter-spacing:-.06em;margin:0}.section-aside{font-size:11px;line-height:1.85;color:var(--muted);margin:0 0 4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 24px}.project-card-large{grid-column:1/-1}.project-visual{height:330px;display:block;position:relative;overflow:hidden}.project-card-large .project-visual{height:390px}.concept-label{position:absolute;top:17px;left:17px;z-index:4;padding:8px 10px;background:rgba(251,248,241,.9);font:8px var(--mono);text-transform:uppercase;letter-spacing:.06em}.visual-garden{background:#c7c7ad}.garden-sky{position:absolute;inset:0;background:linear-gradient(158deg,#d9c9ad 0%,#e4d4b7 48%,#abb092 48.2%)}.garden-sun{position:absolute;width:90px;height:90px;border-radius:50%;background:#e8b27e;top:57px;right:19%;box-shadow:0 0 0 20px rgba(232,178,126,.11)}.garden-hill{position:absolute;bottom:-76px;width:70%;height:220px;background:#89937a;border-radius:50% 50% 0 0}.hill-back{left:-10%;transform:rotate(-8deg);background:#a6a78a;bottom:-92px}.hill-front{right:-10%;transform:rotate(8deg)}.garden-window{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-42%) rotate(-2deg);width:min(45%,390px);min-width:250px;height:175px;background:var(--paper);padding:31px;box-shadow:0 12px 30px #58463430;display:flex;align-items:flex-start;justify-content:space-between}.garden-window span{font:500 31px/1.12 var(--serif)}.garden-window em{color:var(--clay);font-weight:500}.garden-window b{font-weight:400}.visual-caption{position:absolute;bottom:20px;right:22px;color:#fff9ec;font:9px var(--mono);text-shadow:0 1px 5px #443a30}.visual-signal{background:#b98567}.signal-lines{position:absolute;left:18%;top:14%;width:64%;height:72%;display:flex;align-items:center;justify-content:space-around}.signal-lines span{height:45%;width:1px;background:rgba(250,240,225,.55);transform:rotate(32deg)}.signal-lines span:nth-child(2),.signal-lines span:nth-child(4){height:80%;transform:rotate(-32deg)}.signal-lines span:nth-child(3){height:100%;background:#f2debd}.signal-word{position:absolute;left:14%;top:28%;font:500 clamp(35px,5vw,64px)/.82 var(--serif);color:#fbf4e8;letter-spacing:-.05em}.signal-word em{color:#51372a}.signal-seal{position:absolute;bottom:20px;right:19px;width:82px;height:82px;border:1px solid #f5e4ca;border-radius:50%;display:grid;place-content:center;text-align:center;font:8px/1.5 var(--mono);color:#fff5e6;transform:rotate(9deg)}.signal-dash{position:absolute;bottom:32px;left:16%;width:51px;height:1px;background:#fff3df}.visual-frame{background:#d2d1bd}.frame-window{position:absolute;inset:57px 13% 55px;background:#f7f2e8;box-shadow:0 10px 25px #40362928;padding:12px}.frame-top{display:flex;justify-content:space-between;font:8px var(--mono);color:#8e8173}.frame-picture{height:67%;margin-top:10px;background:#acb29b;position:relative;overflow:hidden}.frame-picture:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#d3b38d 0 44%,#929a7e 44%)}.frame-circle{position:absolute;width:75px;height:75px;border-radius:50%;background:#d7a271;right:19%;top:10%}.frame-block{position:absolute;left:27%;bottom:-25px;width:80px;height:124px;background:#715344;transform:rotate(16deg)}.frame-timeline{height:22px;display:flex;align-items:center;gap:6px}.frame-timeline i{height:6px;flex:1;background:#c4b4a0}.frame-timeline i:nth-child(2n){background:#a0a68d}.frame-timeline b{font-size:13px;font-weight:400;color:var(--clay)}.frame-copy{position:absolute;right:9%;bottom:18px;font:italic 14px/1.15 var(--serif);color:#665244;transform:rotate(3deg)}.frame-scribble{position:absolute;top:25px;right:11%;font:35px var(--serif);color:#f9f1e5}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:17px}.project-meta h3{font:500 20px var(--serif);margin:0 0 5px}.project-meta p{font-size:10px;color:var(--muted);margin:0}.project-type{font:8px var(--mono);color:var(--muted);padding-top:7px}.project-type span{padding-left:8px;color:var(--cocoa)}.services-section{background:#e9e1d6}.services-heading{margin-bottom:67px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:54px 1fr 250px 25px;gap:17px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .25s}.service-row:hover{padding-left:10px;padding-right:10px}.service-number{align-self:start;padding-top:5px;font:9px var(--mono);color:var(--clay)}.service-title h3{font:500 23px var(--serif);margin:0 0 6px}.service-title p{font-size:10px;color:var(--muted);margin:0}.service-tags{font:8px var(--mono);color:#887b6d}.service-arrow{justify-self:end;font-size:17px;color:var(--clay);transition:transform .2s}.service-row:hover .service-arrow{transform:translate(3px,-3px)}.services-foot{display:flex;align-items:center;gap:15px;margin-top:31px}.services-flower{font-size:23px;color:var(--clay)}.services-foot p{font-size:10px;color:var(--muted)}.services-foot a{color:var(--ink);border-bottom:1px solid #aa8970;padding-bottom:3px;margin-left:5px}.services-foot a span{padding-left:5px;color:var(--clay)}.about-section{display:grid;grid-template-columns:.92fr 1fr;align-items:center;gap:100px}.about-mark{min-height:355px;display:grid;place-items:center;background:#e7ddce;position:relative;overflow:hidden}.about-mark:before,.about-mark:after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(84,59,46,.18);border-radius:50%}.about-mark:after{width:320px;height:180px;transform:rotate(-35deg)}.about-stamp{position:relative;z-index:1;width:175px;height:175px;background:var(--cocoa);border-radius:50%;color:var(--cream);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;transform:rotate(-12deg);box-shadow:0 16px 35px #4935272a}.about-stamp span{font:7px var(--mono);letter-spacing:.1em}.about-stamp b{font:40px var(--serif);font-weight:400;color:#d2a47c}.about-copy .eyebrow{font-size:9px}.about-copy h2{font-size:clamp(45px,5.4vw,67px);margin-bottom:26px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.85;color:#796d62;max-width:430px}.about-copy .text-link{display:inline-block;margin-top:15px;border-bottom:1px solid #b7a58f;padding-bottom:8px}.contact-section{background:var(--cocoa);color:var(--cream);overflow:hidden}.contact-shell{min-height:470px;display:grid;grid-template-columns:1fr .8fr;align-items:center;padding-top:85px;padding-bottom:85px}.contact-left{position:relative;z-index:2}.contact-left .eyebrow{color:#c2ad9a}.contact-left h2{font:500 clamp(55px,7vw,84px)/.98 var(--serif);letter-spacing:-.065em;margin:31px 0 20px}.contact-left h2 em{color:#d19b72}.contact-left>p:not(.eyebrow){max-width:340px;color:#dbcec0;font-size:12px;line-height:1.8}.button-cream{background:var(--cream);color:var(--ink);margin-top:17px}.button-cream:hover{background:#e6d8c8}.contact-right{height:300px;position:relative}.contact-orbit{position:absolute;width:310px;height:210px;border:1px solid rgba(242,232,217,.3);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg)}.contact-oval{position:absolute;width:182px;height:182px;background:#bd8967;border-radius:52% 48% 48% 52%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(21deg);box-shadow:0 0 0 19px rgba(190,137,103,.09),0 0 0 42px rgba(190,137,103,.05)}.contact-spark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;font-size:57px;color:#f5e8d4}.contact-note{position:absolute;z-index:2;font:italic 15px/1.3 var(--serif);color:#f6eadd}.note-top{top:20px;left:4px;transform:rotate(-8deg)}.note-bottom{bottom:23px;right:0;transform:rotate(5deg)}.note-bottom b{font:12px var(--sans)}.site-footer{max-width:var(--page);margin:auto;padding:25px 38px 28px;display:grid;grid-template-columns:1fr 1fr auto auto;align-items:center;gap:28px}.footer-brand .brand-mark{width:24px;height:24px}.footer-brand .brand-name{font-size:12px}.footer-brand .brand-name span{font-size:7px}.site-footer p,.back-top,.copyright{font:9px var(--mono);color:var(--muted)}.back-top:hover{color:var(--clay)}.copyright{justify-self:end}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(min-width:1400px){.hero{min-height:660px}}@media(max-width:850px){.section-shell{padding-left:30px;padding-right:30px}.site-header{padding:0 30px}.hero{grid-template-columns:1fr .95fr;min-height:560px}.hero-art{transform:scale(.86);transform-origin:center left;margin-left:-5px}.hero h1{font-size:clamp(59px,9vw,80px)}.section-pad{padding-top:95px;padding-bottom:100px}.about-section{gap:50px}.service-row{grid-template-columns:40px 1fr 205px 20px;gap:12px}.project-visual{height:285px}.project-card-large .project-visual{height:345px}.site-footer{padding-inline:30px;gap:15px}}@media(max-width:640px){html{scroll-padding-top:70px}.site-header{height:70px;padding-inline:21px}.menu-toggle{width:40px;height:40px;border:1px solid var(--line);background:transparent;border-radius:50%;display:grid;align-content:center;justify-content:center;gap:5px;z-index:22}.menu-toggle span{display:block;width:14px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span+span{transform:translateY(-3px) rotate(-45deg)}.navigation{position:absolute;display:flex;flex-direction:column;align-items:stretch;gap:0;top:69px;left:0;right:0;background:var(--cream);padding:7px 22px 20px;border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}.navigation.is-open{opacity:1;visibility:visible;transform:translateY(0)}.navigation>a{padding:15px 4px;border-bottom:1px solid var(--line)}.navigation .nav-contact{margin-top:13px;text-align:center;border:1px solid var(--ink);padding:13px}.section-shell{padding-left:22px;padding-right:22px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding-top:61px;padding-bottom:84px}.hero h1{font-size:clamp(63px,17vw,90px);margin:33px 0 18px}.hero-intro{font-size:13px;max-width:340px}.hero-actions{gap:18px;margin-top:25px}.button{padding:14px 15px;gap:16px}.hero-art{height:350px;margin:35px -10px 0;transform:scale(.85);transform-origin:top center;width:calc(100% + 20px);margin-bottom:-40px}.art-card-front{left:7%;width:72%;height:285px}.art-card-back{right:4%;width:48%;height:255px}.art-window-body{height:250px}.art-note{right:0;bottom:5px}.art-side-note{left:0}.scroll-cue{left:22px;bottom:28px}.hero-index{right:22px;bottom:28px}.intro-strip{min-height:78px;gap:13px;padding:0 15px}.intro-strip p{font-size:11px;text-align:center}.strip-star{font-size:18px}.section-pad{padding-top:77px;padding-bottom:82px}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow,.about-copy .eyebrow{font-size:8px;margin-bottom:17px}.section-heading h2{font-size:49px}.section-aside{margin-top:18px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:34px}.project-card-large{grid-column:auto}.project-visual,.project-card-large .project-visual{height:280px}.project-meta{padding-top:13px}.project-meta h3{font-size:18px}.project-meta p{max-width:210px;line-height:1.6}.project-type{font-size:7px;text-align:right}.garden-window{width:72%;min-width:0;height:156px;padding:26px}.garden-window span{font-size:27px}.garden-sun{width:67px;height:67px;right:14%;top:41px}.signal-word{font-size:58px}.frame-window{inset:53px 13% 55px}.services-heading{margin-bottom:39px}.services-heading h2{font-size:47px}.service-row{grid-template-columns:28px 1fr 20px;gap:9px;padding:21px 0;align-items:start}.service-title h3{font-size:19px}.service-title p{font-size:9px;line-height:1.6}.service-tags{grid-column:2;grid-row:2;font-size:7px;margin-top:-2px}.service-arrow{grid-column:3;grid-row:1}.services-foot{align-items:flex-start;gap:10px}.services-foot p{line-height:1.7}.services-foot a{display:inline-block;margin-left:0;margin-top:3px}.about-section{grid-template-columns:1fr;gap:39px}.about-mark{min-height:260px}.about-mark:before{width:215px;height:215px}.about-mark:after{width:250px;height:145px}.about-stamp{width:144px;height:144px;gap:13px}.about-stamp b{font-size:34px}.about-copy h2{font-size:57px}.about-copy>p:not(.eyebrow){font-size:11px}.contact-shell{grid-template-columns:1fr;padding-top:73px;padding-bottom:45px}.contact-left h2{font-size:68px}.contact-left>p:not(.eyebrow){font-size:11px}.contact-right{height:255px;margin-top:13px}.contact-oval{width:155px;height:155px}.contact-orbit{width:270px;height:185px}.contact-note{font-size:13px}.site-footer{padding:23px 22px 27px;grid-template-columns:1fr auto;gap:17px 12px}.site-footer p{grid-column:1;grid-row:2;margin:0}.back-top{grid-column:2;grid-row:1}.copyright{grid-column:2;grid-row:2;font-size:8px}}@media(max-width:370px){.hero h1{font-size:60px}.hero-actions{gap:12px}.text-link{font-size:10px}.project-meta{gap:8px}.project-meta p{max-width:180px}.contact-left h2{font-size:60px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Pricing rows */
.service-row{grid-template-columns:54px minmax(0,1fr) auto 25px}
.service-price{justify-self:end;padding:7px 10px;border:1px solid var(--line);color:var(--cocoa);font:9px var(--mono);white-space:nowrap}
.pricing-note{display:block;margin-top:8px;color:var(--muted);font:8px/1.6 var(--mono)}
@media(max-width:850px){.service-row{grid-template-columns:40px minmax(0,1fr) auto 20px}}
@media(max-width:640px){.service-row{grid-template-columns:28px minmax(0,1fr) 20px}.service-title{grid-column:2;grid-row:1}.service-price{grid-column:2;grid-row:2;justify-self:start;margin-top:8px;padding:6px 8px;font-size:8px}.service-arrow{grid-column:3;grid-row:1}.pricing-note{max-width:38ch;font-size:7px}}

/* Scalable decorative icons */
.star-icon,
.arrow-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.12em;
  flex: none;
}

.star-icon {
  fill: currentColor;
}

.arrow-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Visual evolution 2.0 */
:root {
  --studio-green: #57c785;
  --studio-blue: #1d698a;
  --studio-yellow: #eddd53;
  --studio-gradient: linear-gradient(112deg, var(--studio-green), var(--studio-blue));
}

body {
  background:
    radial-gradient(ellipse at 4% 21%, rgba(87, 199, 133, .09), transparent 28rem),
    radial-gradient(ellipse at 95% 33%, rgba(29, 105, 138, .075), transparent 32rem),
    var(--cream);
}

:focus-visible {
  outline: 2px solid var(--studio-blue);
  outline-offset: 4px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(245, 240, 231, .94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: box-shadow .25s ease, background-color .25s ease;
}

.navigation > a:not(.nav-contact):hover,
.text-link:hover,
.back-top:hover {
  color: var(--studio-blue);
}

.nav-contact:hover {
  background: var(--studio-yellow);
  color: var(--ink);
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.status-dot {
  background: var(--studio-green);
  box-shadow: 0 0 0 4px rgba(87, 199, 133, .15), 0 0 16px rgba(87, 199, 133, .5);
}

.hero h1 em,
.section-heading h2 em {
  background: var(--studio-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-art {
  --light-x: 50%;
  --light-y: 40%;
  position: relative;
  transform-style: preserve-3d;
}

.hero-art::before {
  background:
    radial-gradient(ellipse at 25% 27%, rgba(87, 199, 133, .2), transparent 49%),
    radial-gradient(ellipse at 78% 72%, rgba(29, 105, 138, .19), transparent 52%),
    linear-gradient(135deg, #e9e0d1, #eef0e4 58%, #e4e9e4);
  border: 1px solid rgba(29, 105, 138, .12);
  box-shadow: inset 12px 14px 50px rgba(255, 255, 255, .55), 0 25px 65px rgba(29, 105, 138, .1);
}

.hero-art::after {
  content: "";
  position: absolute;
  z-index: -2;
  left: var(--light-x);
  top: var(--light-y);
  width: 25rem;
  height: 25rem;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(87, 199, 133, .24), rgba(29, 105, 138, .12) 38%, transparent 70%);
  filter: blur(22px);
  animation: studio-glow 11s ease-in-out infinite alternate;
}

.art-orbit {
  border-color: rgba(29, 105, 138, .24);
  box-shadow: 0 0 25px rgba(87, 199, 133, .08);
}

.orbit-two {
  border-color: rgba(87, 199, 133, .42);
}

.art-sun {
  background: radial-gradient(circle at 35% 32%, #fff8b2 0 7%, var(--studio-yellow) 8% 22%, rgba(87, 199, 133, .88) 72%);
  box-shadow: 0 0 36px rgba(237, 221, 83, .22), 0 0 80px rgba(87, 199, 133, .2);
  animation: studio-sun-breathe 8s ease-in-out infinite;
}

.art-card-back {
  background: linear-gradient(145deg, #397c72, var(--studio-blue));
  box-shadow: 0 25px 55px rgba(29, 73, 83, .23), inset 1px 1px rgba(255, 255, 255, .28);
  transform: perspective(1100px) translate3d(var(--back-shift-x, 0px), var(--back-shift-y, 0px), -18px) rotateX(var(--back-tilt-x, 0deg)) rotateY(var(--back-tilt-y, 0deg)) rotate(8deg);
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s ease;
  animation: studio-float 9s ease-in-out infinite;
}

.art-card-front {
  border: 1px solid rgba(29, 105, 138, .12);
  box-shadow: 0 30px 70px rgba(52, 39, 31, .17), 0 8px 18px rgba(29, 105, 138, .09);
  transform: perspective(1100px) translate3d(var(--front-shift-x, 0px), var(--front-shift-y, 0px), 28px) rotateX(var(--front-tilt-x, 0deg)) rotateY(var(--front-tilt-y, 0deg)) rotate(-5deg);
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s ease;
  animation: studio-float 8s ease-in-out infinite reverse;
}

.art-card-front::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(132deg, rgba(255, 255, 255, .26), transparent 34%, transparent 77%, rgba(87, 199, 133, .1));
}

.mini-shape {
  background: linear-gradient(135deg, rgba(237, 221, 83, .76), rgba(87, 199, 133, .82) 45%, rgba(29, 105, 138, .52));
  box-shadow: 0 12px 30px rgba(29, 105, 138, .16);
}

.mini-shape span {
  background: linear-gradient(155deg, #83c985, #397b79);
}

.note-spark,
.strip-star,
.services-flower {
  color: var(--studio-blue);
}

.art-note .note-spark {
  color: var(--studio-yellow);
  filter: drop-shadow(0 2px 8px rgba(237, 221, 83, .38));
}

.button {
  position: relative;
  transition: transform .2s ease, box-shadow .25s ease, background-position .45s ease, color .25s ease;
}

.button-dark {
  background: linear-gradient(112deg, #34271f 0%, #35483f 52%, #1d5264 100%);
  background-size: 180% 100%;
  box-shadow: 0 7px 18px rgba(29, 73, 83, .13);
}

.button-dark:hover {
  background-position: 100% 0;
  box-shadow: 0 11px 24px rgba(29, 105, 138, .22);
}

.button-cream:hover {
  background: var(--studio-yellow);
  box-shadow: 0 8px 23px rgba(237, 221, 83, .15);
}

.button .arrow-icon,
.text-link .arrow-icon,
.nav-contact .arrow-icon,
.project-type .arrow-icon,
.services-foot .arrow-icon,
.back-top .arrow-icon {
  transition: transform .22s ease;
}

.button:hover .arrow-icon,
.text-link:hover .arrow-icon,
.nav-contact:hover .arrow-icon,
.project-type:hover .arrow-icon,
.services-foot a:hover .arrow-icon {
  transform: translate(2px, -2px);
}

.button-dark:hover .arrow-icon {
  transform: translateY(2px);
}

.scroll-line {
  background: var(--studio-green);
  box-shadow: 0 0 12px rgba(87, 199, 133, .55);
  transform-origin: left center;
  animation: studio-line-breathe 3.2s ease-in-out infinite;
}

.intro-strip {
  background: linear-gradient(105deg, rgba(87, 199, 133, .13), #e8dfd2 48%, rgba(29, 105, 138, .11));
}

.work-section {
  position: relative;
  isolation: isolate;
}

.work-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 2% -12% 12%;
  pointer-events: none;
  background: radial-gradient(ellipse at 8% 18%, rgba(87, 199, 133, .075), transparent 32%), radial-gradient(ellipse at 95% 48%, rgba(29, 105, 138, .07), transparent 34%);
}

.project-card {
  min-width: 0;
}

.project-visual {
  border: 1px solid rgba(52, 39, 31, .07);
  box-shadow: 0 10px 32px rgba(52, 39, 31, .055);
  transform-style: preserve-3d;
  transition: transform .42s cubic-bezier(.2, .7, .2, 1), box-shadow .42s ease;
}

.project-visual::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -30%;
  bottom: -30%;
  left: -38%;
  width: 36%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .08) 22%, rgba(255, 255, 255, .38) 50%, rgba(87, 199, 133, .2) 72%, transparent);
  transform: translateX(-100%) skewX(-16deg);
}

.project-visual.has-pointer:hover {
  transform: perspective(1100px) rotateX(var(--card-tilt-x, 0deg)) rotateY(var(--card-tilt-y, 0deg)) translateY(-4px);
  box-shadow: 0 22px 48px rgba(29, 73, 83, .16);
}

.project-visual.has-pointer:hover::after {
  animation: project-sheen .9s cubic-bezier(.2, .7, .2, 1) both;
}

@keyframes project-sheen {
  0% { opacity: 0; transform: translateX(-100%) skewX(-16deg); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: translateX(520%) skewX(-16deg); }
}

.visual-garden {
  background: linear-gradient(142deg, #dfe7d9, #d9e5df 58%, #a9c0b3);
}

.garden-sky {
  background: linear-gradient(155deg, #e2e9d7 0%, #d9e8e3 48%, #a9c0ae 48.2%);
}

.garden-sun {
  background: radial-gradient(circle at 35% 32%, #fff7b5, var(--studio-yellow) 56%, #d6cf6e);
  box-shadow: 0 0 0 20px rgba(237, 221, 83, .12), 0 0 44px rgba(87, 199, 133, .22);
}

.garden-hill {
  background: linear-gradient(125deg, #79a88a, #397c7b);
}

.hill-back {
  background: linear-gradient(120deg, #a9b99b, #78a69b);
}

.garden-window {
  border: 1px solid rgba(29, 105, 138, .1);
  box-shadow: 0 18px 42px rgba(29, 73, 83, .19), 0 3px 10px rgba(52, 39, 31, .08);
}

.garden-window em {
  background: var(--studio-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.visual-signal {
  background: linear-gradient(135deg, #e9e6ef 0%, #dce6e5 58%, #cbdad6 100%);
  isolation: isolate;
}

.visual-signal::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 70% 35%, rgba(87, 199, 133, .2), transparent 38%), radial-gradient(circle at 25% 78%, rgba(29, 105, 138, .13), transparent 45%);
}

.signal-project-label {
  border: 1px solid rgba(29, 105, 138, .15);
  color: #295d69;
}

.signal-lines {
  z-index: 0;
  opacity: .58;
}

.signal-lines span {
  background: rgba(29, 105, 138, .36);
}

.signal-lines span:nth-child(3) {
  background: rgba(87, 199, 133, .7);
}

.signal-word {
  z-index: 1;
  color: #fcfbf8;
  text-shadow: 0 12px 35px rgba(29, 73, 83, .17);
}

.signal-word em {
  color: var(--studio-blue);
}

.signal-seal {
  z-index: 1;
  color: #315b63;
  border-color: rgba(29, 105, 138, .45);
  background: rgba(251, 248, 241, .3);
}

.signal-dash {
  z-index: 1;
  background: var(--studio-green);
  box-shadow: 0 0 12px rgba(87, 199, 133, .45);
}

.visual-frame {
  background: linear-gradient(145deg, #e6e4d6, #d9e4dd 60%, #c6d9d6);
}

.frame-window {
  border: 1px solid rgba(29, 105, 138, .11);
  box-shadow: 0 18px 38px rgba(29, 73, 83, .16), 0 3px 10px rgba(52, 39, 31, .08);
}

.frame-picture:before {
  background: linear-gradient(145deg, #e0d99f 0 44%, #89b591 44% 100%);
}

.frame-circle {
  background: var(--studio-yellow);
  box-shadow: 0 0 28px rgba(237, 221, 83, .28);
}

.frame-block {
  background: linear-gradient(160deg, #347c75, var(--studio-blue));
}

.services-section {
  background: linear-gradient(118deg, #e9e1d6 0%, rgba(87, 199, 133, .075) 52%, rgba(29, 105, 138, .09) 100%);
}

.service-row {
  position: relative;
  border-radius: 3px;
  transition: padding .25s ease, background .25s ease, border-color .25s ease;
}

.service-row:hover {
  background: linear-gradient(95deg, rgba(87, 199, 133, .1), rgba(29, 105, 138, .045) 72%, transparent);
}

.service-number,
.service-arrow {
  color: var(--studio-blue);
}

.service-row .service-arrow {
  transition: transform .25s ease, color .25s ease;
}

.service-row:hover .service-arrow {
  color: var(--studio-green);
}

.services-foot .services-flower {
  color: var(--studio-yellow);
  filter: drop-shadow(0 2px 8px rgba(237, 221, 83, .25));
}

.about-mark {
  background: linear-gradient(145deg, rgba(87, 199, 133, .24), #e7ddce 58%, rgba(29, 105, 138, .19));
}

.about-mark::before,
.about-mark::after {
  border-color: rgba(29, 105, 138, .22);
}

.about-stamp {
  background: linear-gradient(145deg, #31584d, #1d698a);
  box-shadow: 0 22px 50px rgba(29, 73, 83, .22), inset 1px 1px rgba(255, 255, 255, .2);
}

.about-stamp b {
  color: var(--studio-yellow);
}

.contact-section {
  position: relative;
  isolation: isolate;
  background: linear-gradient(115deg, #3e3026 0%, #25473f 54%, #164e65 112%);
}

.contact-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 83% 48%, rgba(87, 199, 133, .2), transparent 31%), radial-gradient(ellipse at 20% 20%, rgba(29, 105, 138, .22), transparent 38%);
}

.contact-left h2 em {
  color: var(--studio-yellow);
}

.contact-orbit {
  border-color: rgba(87, 199, 133, .55);
  box-shadow: 0 0 35px rgba(29, 105, 138, .16);
}

.contact-oval {
  background: linear-gradient(145deg, #6cbf8b, #1d698a 80%);
  box-shadow: 0 0 0 19px rgba(87, 199, 133, .1), 0 0 0 42px rgba(29, 105, 138, .12), 0 24px 65px rgba(8, 36, 44, .25);
}

.contact-spark {
  color: var(--studio-yellow);
  filter: drop-shadow(0 0 16px rgba(237, 221, 83, .4));
  animation: studio-spark-turn 24s linear infinite;
}

.contact-note {
  text-shadow: 0 2px 15px rgba(20, 42, 43, .2);
}

.contact-note b {
  color: var(--studio-yellow);
}

.site-footer {
  position: relative;
}

.reveal {
  transition-delay: var(--reveal-delay, 0ms);
}

@keyframes studio-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}

@keyframes studio-glow {
  from { opacity: .74; scale: .92; }
  to { opacity: 1; scale: 1.08; }
}

@keyframes studio-sun-breathe {
  0%, 100% { scale: 1; }
  50% { scale: 1.055; }
}

@keyframes studio-line-breathe {
  0%, 100% { scale: 1 1; opacity: .72; }
  50% { scale: 1.26 1; opacity: 1; }
}

@keyframes studio-spark-turn {
  to { rotate: 45deg; }
}

@media (max-width: 850px) {
  .hero-art::after { width: 21rem; height: 21rem; }
  .art-card-back { transform: perspective(950px) translate3d(var(--back-shift-x, 0px), var(--back-shift-y, 0px), -12px) rotateX(var(--back-tilt-x, 0deg)) rotateY(var(--back-tilt-y, 0deg)) rotate(8deg); }
  .art-card-front { transform: perspective(950px) translate3d(var(--front-shift-x, 0px), var(--front-shift-y, 0px), 20px) rotateX(var(--front-tilt-x, 0deg)) rotateY(var(--front-tilt-y, 0deg)) rotate(-5deg); }
}

@media (max-width: 640px) {
  body { background: radial-gradient(ellipse at 90% 18%, rgba(29, 105, 138, .07), transparent 22rem), var(--cream); }
  .site-header { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .hero-art::after { width: 17rem; height: 17rem; filter: blur(14px); }
  .art-card-front { animation-duration: 10s; }
  .art-card-back { animation-duration: 11s; }
  .project-visual.has-pointer:hover { transform: none; }
  .project-visual.has-pointer:hover::after { animation: none; opacity: 0; }
  .contact-section::before { background: radial-gradient(ellipse at 75% 63%, rgba(87, 199, 133, .15), transparent 43%); }
  .contact-spark { animation-duration: 36s; }
}

@media (hover: none) {
  .project-visual::after { display: none; }
  .service-row:hover { padding-left: 0; padding-right: 0; background: transparent; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art::after,
  .art-card-front,
  .art-card-back,
  .art-sun,
  .scroll-line,
  .contact-spark { animation: none !important; }
  .art-card-front,
  .art-card-back,
  .project-visual.has-pointer:hover { transform: none !important; }
  .project-visual::after { animation: none !important; }
  .reveal { transition-delay: 0ms; }
}

/* Contrast and pointer-motion tuning */
.hero-art { --light-x: 0px; --light-y: 0px; }
.hero-art::after {
  left: 50%;
  top: 40%;
  transform: translate(-50%, -50%) translate3d(var(--light-x, 0px), var(--light-y, 0px), 0);
  transition: transform .18s ease-out;
}
.hero h1 em,
.section-heading h2 em,
.about-copy h2 em,
.intro-strip em,
.art-window-body strong em,
.garden-window em {
  background-image: linear-gradient(112deg, #327950, var(--studio-blue));
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.signal-word {
  color: #344a4b;
  text-shadow: 0 12px 35px rgba(29, 73, 83, .1);
}
.service-title p { font-size: 11px; line-height: 1.65; }
.service-price { font-size: 10px; }
.services-foot p { font-size: 11px; }
.pricing-note { font-size: 9px; }
@media (max-width: 640px) {
  html,
  body { overflow-x: clip; }
  .service-title p { font-size: 10px; }
  .service-price { font-size: 9px; }
  .pricing-note { font-size: 8px; }
}

/* Theme controls: the dark palette applies to interface neutrals only. */
:root {
  color-scheme: light;
  --theme-bg: #f5f0e7;
  --theme-surface: #fbf8f1;
  --theme-text: #34271f;
  --theme-muted: #8e8173;
  --theme-border: rgba(52, 39, 31, .18);
  --theme-control-bg: #fbf8f1;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --theme-bg: #211d19;
  --theme-surface: #2b2520;
  --theme-text: #f5f0e7;
  --theme-muted: #c4b8aa;
  --theme-border: rgba(245, 240, 231, .2);
  --theme-control-bg: #302922;
}

body {
  color: var(--theme-text);
  transition: color 300ms ease, background-color 300ms ease;
}

html[data-theme="dark"] body {
  background:
    radial-gradient(ellipse at 4% 21%, rgba(87, 199, 133, .09), transparent 28rem),
    radial-gradient(ellipse at 95% 33%, rgba(29, 105, 138, .075), transparent 32rem),
    var(--theme-bg);
}

.site-header,
.nav-contact,
.menu-toggle,
.theme-toggle,
.service-list,
.service-price,
.site-footer,
.skip-link {
  transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
}

.site-header {
  transition: box-shadow .25s ease, background-color 300ms ease, color 300ms ease, border-color 300ms ease;
}

.navigation {
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background-color 300ms ease, color 300ms ease, border-color 300ms ease;
}

.service-row {
  transition: padding .25s ease, background .25s ease, border-color 300ms ease, color 300ms ease;
}

.button-cream {
  transition: transform .2s, background-color 300ms ease, color 300ms ease, border-color 300ms ease;
}

.site-header,
.service-list,
.service-row {
  border-color: var(--theme-border);
}

.navigation > a:not(.nav-contact),
.hero-intro,
.about-copy > p:not(.eyebrow) {
  transition: color 300ms ease;
}

html[data-theme="dark"] .navigation > a:not(.nav-contact),
html[data-theme="dark"] .hero-intro,
html[data-theme="dark"] .about-copy > p:not(.eyebrow) {
  color: var(--theme-muted);
}

.navigation > a:not(.nav-contact):hover,
.text-link:hover,
.back-top:hover {
  color: var(--studio-blue);
}

.nav-contact {
  border-color: var(--theme-border);
}

.menu-toggle,
.theme-toggle {
  color: var(--theme-text);
  border-color: var(--theme-border);
}

.menu-toggle span {
  background: var(--theme-text);
}

.theme-toggle {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  flex: none;
  border: 1px solid var(--theme-border);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease, transform 200ms ease;
}

.theme-toggle:hover {
  background-color: var(--theme-surface);
  transform: translateY(-1px);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--studio-blue);
  outline-offset: 3px;
}

.theme-icon {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-icon {
  grid-area: 1 / 1;
  transition: opacity 300ms ease, transform 300ms ease;
}

.theme-icon-moon {
  opacity: 1;
  transform: rotate(0) scale(1);
}

.theme-icon-sun {
  opacity: 0;
  transform: rotate(-45deg) scale(.75);
}

html[data-theme="dark"] .theme-icon-moon {
  opacity: 0;
  transform: rotate(45deg) scale(.75);
}

html[data-theme="dark"] .theme-icon-sun {
  opacity: 1;
  transform: rotate(0) scale(1);
}

html[data-theme="dark"] .intro-strip {
  background: linear-gradient(105deg, rgba(87, 199, 133, .13), var(--theme-surface) 48%, rgba(29, 105, 138, .11));
  border-color: var(--theme-border);
  transition: background 300ms ease, border-color 300ms ease;
}

.intro-strip {
  transition: background 300ms ease, border-color 300ms ease;
}

html[data-theme="dark"] .section-aside,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .scroll-cue,
html[data-theme="dark"] .hero-index,
html[data-theme="dark"] .project-meta p,
html[data-theme="dark"] .project-type,
html[data-theme="dark"] .service-title p,
html[data-theme="dark"] .services-foot p,
html[data-theme="dark"] .pricing-note,
html[data-theme="dark"] .site-footer p,
html[data-theme="dark"] .back-top,
html[data-theme="dark"] .copyright {
  color: var(--theme-muted);
  transition: color 300ms ease;
}

html[data-theme="dark"] .project-type span,
html[data-theme="dark"] .service-price {
  color: var(--theme-text);
}

html[data-theme="dark"] .service-price {
  border-color: var(--theme-border);
}

html[data-theme="dark"] .services-foot a {
  color: var(--theme-text);
  border-bottom-color: var(--theme-border);
  transition: color 300ms ease, border-color 300ms ease;
}

html[data-theme="dark"] .button-cream {
  background: var(--theme-control-bg);
  color: var(--theme-text);
  border: 1px solid var(--theme-border);
}

html[data-theme="dark"] .skip-link {
  background: var(--theme-text);
  color: var(--theme-bg);
}

html[data-theme="dark"] .navigation {
  background: var(--theme-bg);
  border-color: var(--theme-border);
}

html[data-theme="dark"] .nav-contact:hover {
  color: var(--ink);
}

html[data-theme="dark"] .concept-label,
html[data-theme="dark"] .garden-window,
html[data-theme="dark"] .art-window-body strong,
html[data-theme="dark"] .mini-caption b {
  color: #34271f;
}

@media (max-width: 640px) {
  html[data-theme="dark"] body {
    background: radial-gradient(ellipse at 90% 18%, rgba(29, 105, 138, .07), transparent 22rem), var(--theme-bg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .site-header,
  .navigation,
  .nav-contact,
  .menu-toggle,
  .theme-toggle,
  .button-cream,
  .service-list,
  .service-row,
  .service-price,
  .site-footer,
  .skip-link,
  .intro-strip,
  .navigation > a:not(.nav-contact),
  .about-copy > p:not(.eyebrow),
  html[data-theme="dark"] .section-aside,
  html[data-theme="dark"] .eyebrow,
  html[data-theme="dark"] .scroll-cue,
  html[data-theme="dark"] .hero-index,
  html[data-theme="dark"] .project-meta p,
  html[data-theme="dark"] .project-type,
  html[data-theme="dark"] .service-title p,
  html[data-theme="dark"] .services-foot p,
  html[data-theme="dark"] .pricing-note,
  html[data-theme="dark"] .site-footer p,
  html[data-theme="dark"] .back-top,
  html[data-theme="dark"] .copyright,
  html[data-theme="dark"] .services-foot a {
    transition-duration: .01ms;
  }
}
/* Dark surfaces and theme control follow the Soft Signal palette. */
html[data-theme="dark"] .site-header {
  background: rgba(25, 39, 48, .96);
  border-color: var(--theme-border);
}

html[data-theme="dark"] .brand-mark {
  border-color: rgba(222, 237, 233, .28);
}

html[data-theme="dark"] .brand-mark span {
  border-color: var(--theme-text);
}

html[data-theme="dark"] .brand-name span,
html[data-theme="dark"] .service-tags {
  color: var(--theme-muted);
}

.theme-toggle {
  background: var(--theme-control-bg);
  border-color: var(--theme-control-border);
}

.theme-toggle:hover {
  background: var(--theme-control-hover);
}

.theme-icon-moon {
  color: #1D698A;
}

.theme-icon-sun {
  color: #EDDD53;
}

html[data-theme="dark"] .services-section {
  background: linear-gradient(118deg, var(--theme-bg) 0%, rgba(87, 199, 133, .075) 52%, rgba(29, 105, 138, .09) 100%);
  transition: background 300ms ease;
}

.services-section {
  transition: background 300ms ease;
}

@media (max-width: 640px) {
  html[data-theme="dark"] .navigation {
    background: var(--theme-bg);
    border-color: var(--theme-border);
  }
}
/* Soft Signal palette values for dark mode and the visible header control. */
:root {
  --theme-control-bg: #fcfbf8;
  --theme-control-hover: #eef2eb;
  --theme-control-border: #e7e4de;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --theme-bg: #192832;
  --theme-surface: #253640;
  --theme-text: #e6eeeb;
  --theme-muted: #a0b0b2;
  --theme-border: rgba(222, 237, 233, .13);
  --theme-control-bg: #263943;
  --theme-control-hover: #304650;
  --theme-control-border: rgba(222, 237, 233, .15);
}