/* Shared pages for the Goodside concept site. */
:root{--forest:#252a22;--moss:#808f36;--clay:#e0dfd4;--melon:#f07d5d}
.topbar .desktop-nav{gap:clamp(12px,1.55vw,24px);margin-left:0}.topbar .desktop-nav a{font-size:11px;white-space:nowrap}.topbar .nav-cta{white-space:nowrap}.topbar{position:absolute}
.page-hero{padding:165px var(--gutter) 78px;background:var(--paper);position:relative;overflow:hidden}.page-hero .eyebrow{margin-bottom:23px}.page-hero h1{font:600 clamp(58px,8vw,112px)/.91 var(--display);letter-spacing:-.09em;max-width:1100px;margin:0}.page-hero h1 em{font:italic 400 1em Georgia,serif;color:var(--moss);letter-spacing:-.08em}.page-hero .lead{font-size:16px;line-height:1.6;color:#5f625a;max-width:500px;margin:28px 0 0}.page-hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.button-dark,.button-outline{display:inline-flex;align-items:center;gap:24px;border:1px solid var(--forest);border-radius:30px;padding:14px 18px;font-size:11px;font-weight:600;transition:.2s}.button-dark{background:var(--forest);color:var(--paper)}.button-outline{background:transparent}.button-dark:hover,.button-outline:hover{transform:translateY(-2px);background:var(--moss);border-color:var(--moss);color:white}.page-kicker{font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.page-section{padding:95px var(--gutter)}.page-section.dark{background:var(--forest);color:var(--paper)}.page-section.dark .page-kicker,.page-section.dark .eyebrow{color:#b9c0ae}.section-title{font:600 clamp(44px,6vw,75px)/.98 var(--display);letter-spacing:-.08em;margin:0}.section-title em{font:italic 400 1em Georgia,serif;color:var(--moss)}.dark .section-title em{color:var(--acid)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-intro>p:last-child{font-size:13px;line-height:1.55;color:var(--muted);max-width:310px;margin:0 4% 5px 0}.dark .section-intro>p:last-child{color:#bbc0b4}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-tile{min-height:340px;background:#e5e1d7;display:flex;flex-direction:column;justify-content:space-between;padding:24px;position:relative;overflow:hidden}.service-tile:nth-child(2){background:#d8e0c4}.service-tile:nth-child(3){background:#edb678}.service-tile:nth-child(4){background:#c5c9ed}.service-tile:nth-child(5){background:#d8d3c5}.service-tile .tile-no{font:10px var(--mono);color:#66695f}.service-tile h3{font:600 clamp(32px,4vw,54px)/.9 var(--display);letter-spacing:-.075em;margin:0;max-width:340px}.service-tile p{font-size:12px;line-height:1.5;max-width:240px;margin:10px 0 0;color:#52554e}.service-tile .tile-link{position:absolute;right:22px;bottom:23px;font:10px var(--mono);border-bottom:1px solid currentColor;padding-bottom:5px}.service-tile:after{content:'✳';position:absolute;right:22px;top:44px;font-size:50px;color:#24272030;transition:transform .5s}.service-tile:hover:after{transform:rotate(35deg) scale(1.15)}.category-cloud{display:flex;flex-wrap:wrap;gap:10px}.category-cloud a,.category-cloud span{border:1px solid var(--line);padding:13px 17px;border-radius:28px;font-size:12px;transition:.2s}.category-cloud a:hover{background:var(--forest);color:var(--paper)}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.industry-card{min-height:265px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:#d8dccb}.industry-card:nth-child(3n+2){background:#edc794}.industry-card:nth-child(3n){background:#ded8ce}.industry-card b{font:600 23px var(--display);letter-spacing:-.05em;z-index:1}.industry-card span{font:9px var(--mono);text-transform:uppercase;z-index:1}.industry-card:after{content:attr(data-mark);position:absolute;right:6px;bottom:-42px;font:200px/.8 Georgia,serif;color:#fff8}.industry-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.industry-layout>div:first-child{position:sticky;top:110px;align-self:start}.industry-detail{padding:27px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:65px 1fr;gap:18px}.industry-detail:last-child{border-bottom:1px solid var(--line)}.industry-detail>span{font:10px var(--mono);color:var(--moss)}.industry-detail h3{font:600 23px var(--display);letter-spacing:-.05em;margin:0 0 9px}.industry-detail p{font-size:12px;line-height:1.6;color:var(--muted);max-width:530px;margin:0}.concept-stamp{display:inline-flex;border:1px solid currentColor;border-radius:30px;padding:7px 10px;font:8px var(--mono);letter-spacing:.06em;text-transform:uppercase}.work-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:44px 20px}.work-card{display:block}.work-visual{height:420px;position:relative;overflow:hidden;background:#edbb75}.work-visual img{width:100%;height:100%;object-fit:cover;display:block;mix-blend-mode:multiply;transition:transform .5s}.work-card:hover img{transform:scale(1.04)}.work-visual.alt{height:360px;background:#c4c9ec;display:grid;place-items:center}.work-visual.care{height:370px;background:#d5d7c7}.work-visual.graphic{background:#d7ed77;display:grid;place-items:center;text-align:center}.work-visual.graphic strong{font:700 58px/.82 var(--display);letter-spacing:-.09em;color:#2c3028;transform:rotate(-8deg)}.work-visual .concept-stamp{position:absolute;top:15px;left:15px;background:var(--paper)}.work-caption{padding-top:13px;display:flex;justify-content:space-between;gap:15px}.work-caption h3{font:600 20px var(--display);letter-spacing:-.04em;margin:0 0 4px}.work-caption p{font-size:11px;color:var(--muted);margin:0}.work-caption>span{font:9px var(--mono);color:var(--muted);text-align:right}.case-ui{width:80%;height:75%;background:#faf8f2;box-shadow:0 22px 40px #25302c33;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.case-ui small{font:9px var(--mono)}.case-ui b{font:700 45px/.9 var(--display);letter-spacing:-.08em}.case-ui .swatches{display:flex;gap:7px}.case-ui i{display:block;width:38px;height:38px;border-radius:50%;background:#e2895b}.case-ui i:nth-child(2){background:#859955}.case-ui i:nth-child(3){background:#e9c87f}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff30;border:1px solid #ffffff30}.why-card{min-height:180px;padding:23px;background:var(--forest)}.why-card span{font:9px var(--mono);color:var(--acid)}.why-card h3{font:600 18px var(--display);margin:26px 0 8px}.why-card p{font-size:11px;line-height:1.55;color:#bdc2b7;max-width:230px;margin:0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}.process-step{border-top:1px solid var(--line);padding:22px 0 27px}.process-step span{font:10px var(--mono);color:var(--moss)}.process-step h3{font:600 21px var(--display);margin:19px 0 7px;letter-spacing:-.04em}.process-step p{font-size:11px;line-height:1.55;color:var(--muted);max-width:240px;margin:0}.audit-banner{background:var(--acid);padding:58px var(--gutter);display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.audit-banner h2{font:600 clamp(40px,5.5vw,68px)/.93 var(--display);letter-spacing:-.08em;margin:0}.audit-banner h2 em{font:italic 400 1em Georgia,serif}.audit-banner p{font-size:12px;line-height:1.6;max-width:520px}.audit-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.audit-list span{font:9px var(--mono);border:1px solid #29301d55;border-radius:20px;padding:8px 10px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.article-card{border-top:1px solid var(--line);padding-top:17px;display:flex;flex-direction:column;min-height:255px}.article-card .article-tag{font:9px var(--mono);text-transform:uppercase;color:var(--moss)}.article-card h3{font:600 23px/1.1 var(--display);letter-spacing:-.05em;margin:34px 0 12px}.article-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 20px}.article-card a{font:10px var(--mono);margin-top:auto;border-bottom:1px solid var(--line);padding-bottom:8px;align-self:flex-start}.article-hero{padding:160px var(--gutter) 50px;max-width:1050px}.article-body{max-width:760px;margin:0 auto;padding:20px var(--gutter) 100px}.article-body h2{font:600 32px var(--display);letter-spacing:-.05em;margin:46px 0 15px}.article-body p,.article-body li{font-size:15px;line-height:1.8;color:#53564f}.article-body .pullquote{border-left:3px solid var(--moss);padding:8px 20px;font:italic 24px/1.4 Georgia,serif;color:var(--forest);margin:38px 0}.about-layout{display:grid;grid-template-columns:1fr .85fr;gap:9vw;align-items:start}.about-copy p{font-size:14px;line-height:1.75;color:#5b5e56}.belief-list{border-top:1px solid var(--line)}.belief-list p{margin:0;padding:18px 0;border-bottom:1px solid var(--line);font:600 20px var(--display);letter-spacing:-.04em}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.contact-meta{padding-top:15px}.contact-meta h2{font:600 clamp(46px,6vw,74px)/.95 var(--display);letter-spacing:-.08em;margin:0 0 24px}.contact-meta h2 em{font:italic 400 1em Georgia,serif;color:var(--moss)}.contact-meta p{font-size:13px;line-height:1.6;max-width:330px;color:var(--muted)}.contact-meta a{display:block;margin:16px 0;font:11px var(--mono)}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-form label{font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em}.project-form input,.project-form select,.project-form textarea{width:100%;display:block;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:12px 0;color:var(--forest);font:13px var(--body);outline:none}.project-form textarea{resize:vertical}.project-form .full{grid-column:1/-1}.project-form button{justify-self:start;background:var(--forest);color:var(--paper);border:0;border-radius:25px;padding:14px 18px;font-size:11px;font-weight:600;cursor:pointer}.project-form button span{margin-left:22px}.project-form .form-feedback{font:9px var(--mono);color:var(--muted);align-self:center}.calculator{background:#e7e4da;padding:34px}.calculator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.calculator label{font:9px var(--mono);text-transform:uppercase}.calculator select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 0;font:13px var(--body);margin-top:9px}.estimate-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.estimate-row strong{font:600 clamp(25px,3vw,38px) var(--display);letter-spacing:-.06em}.estimate-row p{font-size:10px;color:var(--muted);max-width:310px}.sitemap-list{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.sitemap-list a{font:11px var(--mono);border-bottom:1px solid var(--line);padding:12px 0}.footer-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:17px;border-bottom:1px solid var(--line);padding:0 0 18px;font-size:10px}.project-form .radio-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.project-form .radio-group label{font:11px var(--body);text-transform:none;letter-spacing:0;display:flex;align-items:center;gap:6px}.project-form .radio-group input{width:auto}
@media(max-width:1000px){.topbar .desktop-nav{gap:11px}.topbar .desktop-nav a{font-size:9px}.topbar .wordmark{font-size:23px}.topbar .nav-cta{font-size:10px;padding:10px 13px}}
@media(max-width:760px){.topbar .desktop-nav{display:none}.topbar .menu-toggle{display:flex}.topbar .nav-cta{margin-left:auto;margin-right:14px}.mobile-panel{display:flex;position:absolute;top:70px;left:0;right:0;padding:10px var(--gutter) 25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;transform:translateY(-10px);opacity:0;visibility:hidden;transition:.2s}.mobile-panel.is-open{transform:none;opacity:1;visibility:visible}.mobile-panel a{padding:13px 0;border-bottom:1px solid var(--line);font:600 17px var(--display)}.mobile-panel a span{float:right;color:var(--moss)}.mobile-panel a[aria-current="page"]{color:var(--moss)}.service-grid{grid-template-columns:1fr 1fr}.service-tile{min-height:275px;padding:18px}.service-tile h3{font-size:36px}.industry-grid{grid-template-columns:1fr 1fr}.industry-layout{grid-template-columns:1fr;gap:35px}.industry-layout>div:first-child{position:static}.work-mosaic{gap:30px 14px}.work-visual{height:330px}.work-visual.alt,.work-visual.care{height:300px}.why-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr 1fr}.about-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.sitemap-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.page-hero{padding:130px var(--gutter) 55px}.page-hero h1{font-size:clamp(54px,14vw,78px)}.page-hero .lead{font-size:14px}.page-section{padding:72px var(--gutter)}.section-intro{display:block;margin-bottom:30px}.section-intro>p:last-child{margin:17px 0 0}.service-grid{grid-template-columns:1fr}.service-tile{min-height:255px}.service-tile h3{font-size:42px}.industry-grid{gap:8px}.industry-card{min-height:185px;padding:13px}.industry-card b{font-size:18px}.industry-card:after{font-size:140px;bottom:-29px}.industry-detail{grid-template-columns:38px 1fr;gap:12px;padding:21px 0}.industry-detail h3{font-size:20px}.work-mosaic{grid-template-columns:1fr;gap:28px}.work-visual,.work-visual.alt,.work-visual.care{height:min(92vw,380px)}.work-caption{display:block}.work-caption>span{display:block;text-align:left;margin-top:9px}.why-grid{grid-template-columns:1fr}.why-card{min-height:150px}.why-card h3{margin:17px 0 8px}.process-grid{grid-template-columns:1fr 1fr;gap:0 17px}.process-step h3{font-size:18px}.article-grid{grid-template-columns:1fr}.article-card{min-height:205px}.audit-banner{grid-template-columns:1fr;padding-top:43px;padding-bottom:45px}.audit-banner h2{font-size:47px}.audit-banner .button-dark{justify-self:start}.calculator{padding:22px}.calculator-grid{grid-template-columns:1fr;gap:18px}.estimate-row{display:block}.estimate-row p{margin-top:10px}.project-form{grid-template-columns:1fr}.project-form .full{grid-column:1}.contact-meta h2{font-size:53px}.sitemap-list{grid-template-columns:1fr 1fr}.footer-nav{gap:11px}.article-hero{padding-top:130px;padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.service-tile:after,.work-visual img,.button-dark,.button-outline{transition:none}}
.service-detail{padding:65px var(--gutter);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;border-top:1px solid var(--line)}.service-detail h2{font:600 clamp(42px,5.2vw,64px)/.95 var(--display);letter-spacing:-.08em;margin:0}.service-detail h2 em{font:italic 400 1em Georgia,serif;color:var(--moss)}.service-detail>div:first-child>p:last-child{font-size:12px;line-height:1.6;color:var(--muted);max-width:330px;margin-top:19px}.service-detail.tone-alt{background:#e9e5dc}.detail-services{display:flex;flex-wrap:wrap;gap:9px}.detail-services>span{padding:12px 15px;border:1px solid var(--line);border-radius:28px;font-size:11px}.detail-services .text-link{flex:0 0 100%;margin-top:15px;align-self:center;justify-self:start;width:max-content}
@media(max-width:560px){.service-detail{grid-template-columns:1fr;gap:25px;padding-top:48px;padding-bottom:50px}.service-detail h2{font-size:48px}.detail-services>span{font-size:10px;padding:10px 12px}}
.hero{grid-template-columns:1fr .94fr;gap:5vw}.hero h1{font-size:clamp(55px,6vw,88px)}.home-hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:28px}.home-hero-actions p{flex-basis:100%;font:9px var(--mono);color:var(--muted);margin:4px 0 0}.home-hero-actions p b{font:700 14px var(--display);color:var(--forest)}
@media(max-width:850px){.hero{gap:28px}.hero h1{font-size:clamp(56px,8vw,76px)}}
@media(max-width:620px){.hero h1{font-size:clamp(55px,14vw,73px)}.home-hero-actions{gap:9px}.home-hero-actions .button-dark,.home-hero-actions .button-outline{font-size:10px;padding:12px 14px}.page-hero-actions{gap:8px}}

/* Centered reference frame shared by the home page and all content pages. */
html{background:#f4f2ee}
body{position:relative;width:min(1112px,100%);margin:0 auto;border-inline:1px solid #deded6;background:var(--paper)}
@media(max-width:1112px){body{border-inline:0}}
html.motion-ready [data-scroll-reveal]{opacity:0;transform:translateY(26px);transition:opacity .72s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
html.motion-ready [data-scroll-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html.motion-ready [data-scroll-reveal]{opacity:1;transform:none;transition:none}}

/* Real photographic portfolio imagery */
.work-visual img{object-fit:cover}.work-visual{background:#dedfd2}.work-visual img[src*="blenderkit"]{object-fit:cover;object-position:center 42%}.industry-card{background-position:center;background-size:cover}
