/* Shared art direction: graphite, lime, real work, plain language. */
.taste-page h1,.taste-page h2,.taste-page h3 { text-wrap:balance; }
.taste-page h2 { font-size:clamp(38px,4vw,58px); line-height:1.05; letter-spacing:-.045em; }
.taste-page h3 { font-weight:400; }
.taste-page em { color:inherit; font-style:normal; }
.taste-page .section-head { gap:65px; margin-bottom:55px; }
.taste-page .section-head>p { font-size:18px; max-width:380px; line-height:1.6; color:#465040; }
.taste-page .section-head h2 { max-width:650px; }
.taste-page .text-link { border:0; font-size:16px; padding:14px 0; }
.taste-page .text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.taste-page .button { font-size:16px; font-weight:400; }
.taste-page .light p { color:#3d493c; }
.taste-page .hero { background:var(--bg); padding:65px 0 80px; overflow:clip; }
.taste-page .hero-grid { grid-template-columns:1fr 1.15fr; gap:60px; }
.taste-page .hero h1 { font-size:clamp(56px,5.1vw,78px); line-height:1.03; white-space:normal; letter-spacing:-.05em; }
.taste-page .hero-copy>p { max-width:46ch; color:#c5cec6; font-size:18px; line-height:1.65; margin:30px 0; }
.taste-page .hero-copy .actions { gap:12px 24px; }
.taste-page .home-exhibit { min-height:520px; }
.taste-page .intro-grid { display:block; max-width:850px; margin-bottom:65px; }
.taste-page .outcomes { gap:60px; }
.taste-page .outcomes article { border:0; padding:0; }
.taste-page .outcomes h3 { font-size:29px; line-height:1.15; letter-spacing:-.035em; margin:25px 0 18px; }
.taste-page .outcomes p { font-size:18px; line-height:1.6; margin:0; }
.meaning-icon { width:56px; height:56px; display:block; flex-shrink:0; color:#52683a; }
.taste-page .work .case-grid { margin-bottom:40px; }
.taste-page .product-cards { display:grid; grid-template-columns:1fr; gap:85px; }
.taste-page .product-cards article { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:80px; background:none; border:0; border-radius:0; overflow:visible; }
.taste-page .product-cards article:nth-child(even) { grid-template-columns:1fr 1.15fr; }
.taste-page .product-cards article:nth-child(even) .service-art { order:2; }
.taste-page .card-copy { padding:0; max-width:460px; }
.taste-page .card-copy h3 { font-size:44px; line-height:1.08; letter-spacing:-.04em; margin:0 0 25px; }
.taste-page .card-copy p { font-size:18px; line-height:1.65; min-height:0; margin-bottom:25px; }
.taste-page .service-strip { border:0; margin-top:75px; padding:28px 35px; background:#e1e8d9; font-size:17px; gap:20px 30px; }
.taste-page .service-strip>span { font-size:18px; }
.taste-page .system-section { background:#232b28; }
.taste-page .system-section .section-head>p { color:#c6d2c5; }
.taste-page .scenario-tabs { justify-content:start; gap:10px; margin-bottom:40px; }
.taste-page .scenario-tabs button { border:0; background:#354337; color:#e6eee3; font-size:16px; padding:14px 20px; border-radius:30px; min-height:48px; }
.taste-page .scenario-tabs button.active { background:var(--acid); color:#1c2916; }
.taste-page .flow { gap:24px; grid-template-columns:1fr 26px 1fr 26px 1fr; }
.taste-page .flow-card { background:#303b32; border:0; border-radius:0; padding:32px; min-height:260px; transform:none; box-shadow:none; display:flex; flex-direction:column-reverse; justify-content:end; align-items:start; gap:35px; }
.taste-page .flow-card.featured { background:#d5fa76; color:#202a1b; }
.taste-page .flow-card>b { font-size:28px; line-height:1.2; letter-spacing:-.035em; margin:0; }
.taste-page .flow-card .meaning-icon { color:#bddc99; }
.taste-page .flow-card.featured .meaning-icon { color:#40572b; }
.taste-page .flow-arrow { color:#94aa7e; font-size:28px; }
.taste-page .flow-explain { text-align:left; margin:38px 0 30px; max-width:800px; font-size:18px; color:#c6d2c5; }
.taste-page .tech-caption { justify-content:start; font-size:16px; color:#a9bda2; gap:28px; }
.taste-page .sector-grid { display:block; }
.taste-page .sector-grid>a { display:grid; grid-template-columns:70px 1fr 1fr 28px; align-items:center; gap:35px; padding:30px 0; background:none; border-radius:0; }
.taste-page .sector-grid>a:hover { background:#e6eadf; }
.taste-page .sector-grid h3 { margin:0; font-size:32px; line-height:1.1; letter-spacing:-.035em; }
.taste-page .sector-grid p { font-size:18px; margin:0; max-width:440px; }
.taste-page .sector-grid b { position:static; }
.taste-page .steps { gap:40px; }
.taste-page .steps li { border:0; padding:0; }
.taste-page .steps h3 { font-size:27px; line-height:1.15; margin:0 0 20px; }
.taste-page .steps p { font-size:17px; line-height:1.6; }
.taste-page .owner { background:#28322d; }
.taste-page .owner-grid { gap:100px; }
.taste-page .owner-photo { max-width:none; }
.taste-page .owner-photo img { border-radius:0; filter:none; }
.taste-page .owner-photo>span { position:static; display:block; padding:23px 0 0; background:none; border-radius:0; font-size:22px; }
.taste-page .owner-photo small { font-size:15px; }
.taste-page .owner-grid p { font-size:18px; color:#c8d2c7; line-height:1.65; }
.taste-page .owner-grid .fine { font-size:15px; }
.taste-page .faq-grid { grid-template-columns:.85fr 1.3fr; gap:80px; }
.taste-page .faq-grid>div>p { font-size:18px; max-width:350px; }
.taste-page .faq details { border:0; padding:25px; background:#e8ece3; margin-bottom:12px; }
.taste-page .faq details[open] { background:#dfe8d5; }
.taste-page .faq summary { font-size:20px; }
.taste-page .faq details p { font-size:17px; line-height:1.65; }
.taste-page .service-hero { padding:45px 0 95px; }
.taste-page .service-hero-grid { grid-template-columns:1.1fr 1fr; gap:80px; }
.taste-page .service-hero h1 { font-size:clamp(52px,5.2vw,78px); line-height:1.04; letter-spacing:-.05em; }
.taste-page .service-hero p { font-size:18px; line-height:1.65; color:#c5cec6; margin:28px 0; }
.taste-page .back { font-size:16px; color:#c0cdb6; margin:0 0 50px; }
.taste-page .feature-list { max-width:1100px; }
.taste-page .feature-list article { grid-template-columns:1fr 1.45fr; border:0; gap:65px; padding:28px 0; }
.taste-page .feature-list h3 { font-size:30px; line-height:1.15; letter-spacing:-.035em; max-width:370px; }
.taste-page .feature-list p { font-size:18px; line-height:1.65; margin:0; }
.taste-page .decision { background:#e1e8d9; }
.taste-page .decision-grid { grid-template-columns:.5fr 1.5fr; align-items:center; }
.taste-page .decision-grid>.meaning-icon { width:140px; height:140px; }
.taste-page .decision p { font-size:20px; line-height:1.65; }
.taste-page .split { gap:75px; }
.taste-page .split>div>p { font-size:18px; line-height:1.65; }
.taste-page .checklist li { border:0; padding:0 0 25px 34px; font-size:18px; line-height:1.6; }
.taste-page .checklist li::before { content:''; width:7px; height:13px; border-right:2px solid #52683a; border-bottom:2px solid #52683a; transform:rotate(45deg); top:5px; left:4px; }
.taste-page .checklist li:last-child { padding-bottom:0; }
.portfolio-intro h1 { font-size:clamp(70px,6.7vw,100px); letter-spacing:-.05em; }
.case-mobile .case-screen::before { content:""; position:absolute; height:6%; bottom:0; left:0; right:0; background:#fff; z-index:1; }
.case-mobile .case-screen::after { z-index:2; }

/* Specific, labelled diagrams are lightweight HTML and SVG, with no extra libraries. */
.service-art { min-height:440px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#dbe5d0; color:#24301f; }
.service-art .art-caption { position:absolute; top:22px; left:25px; right:25px; margin:0!important; font-size:14px!important; color:#44533c!important; text-align:center; }
.website-art { background:#e0e7ec; padding:55px 30px 70px; }
.website-art>.case-desktop { width:100%; transform:rotate(-4deg); }
.pwa-art { background:#e2ead5; min-height:500px; padding:70px 0 35px; }
.concept-phone { width:190px; transform:rotate(6deg); }
.concept-app { padding:22px 13px; font-size:11px; color:#23301b; }
.concept-app>span { font-size:10px; }
.concept-app>strong { font-size:25px; font-weight:400; letter-spacing:-.05em; display:block; margin:13px 0 22px; }
.app-order { background:#edf1e7; padding:16px 12px; }
.app-order .meaning-icon { width:28px; height:28px; margin-bottom:12px; }
.app-order b,.app-order>span { display:block; margin-top:7px; font-size:11px; }
.app-order b { font-size:14px; font-weight:400; }
.app-progress { height:4px; background:#b2d97d; margin-top:17px; width:70%; }
.app-action { padding:13px 7px; text-align:center; margin-top:15px; background:#d5fa76; border-radius:20px; font-size:12px; }
.app-item { display:flex; align-items:center; justify-content:space-between; padding:13px 0 0; gap:7px; font-size:10px; }
.saas-art { background:#dce4e0; padding:45px 25px 70px; }
.concept-dashboard[data-ui] { width:100%; padding:25px; background:#fafbf8; border-radius:9px; box-shadow:9px 15px 0 #b6c2bb; transform:rotate(-3deg); }
.app-top { display:flex; gap:12px; align-items:center; font-size:13px; }
.app-top .meaning-icon { width:27px; height:27px; }
.concept-dashboard>strong { font-size:29px; letter-spacing:-.04em; font-weight:400; line-height:1.1; display:block; margin:25px 0; }
.app-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.app-columns>div { background:#edf1e9; padding:12px 8px; min-height:145px; font-size:11px; }
.app-columns p { background:#fff; padding:12px 8px; font-size:10px!important; margin:12px 0 0!important; color:#3d493c!important; }
.art-symbol .meaning-icon { width:90px; height:90px; margin-bottom:25px; }
.support-art,.seo-art { padding:40px; align-items:start; justify-content:center; flex-direction:column; }
.service-art>strong { font-size:46px; line-height:1.04; letter-spacing:-.04em; font-weight:400; }
.art-process { display:flex; flex-direction:column; gap:13px; margin-top:30px; font-size:17px; }
.art-process span { padding-left:24px; position:relative; }
.art-process span::before { content:''; position:absolute; left:3px; top:3px; width:6px; height:12px; border-right:2px solid #50673b; border-bottom:2px solid #50673b; transform:rotate(45deg); }
.seo-art { background:#dce5df; }
.integration-art { flex-wrap:wrap; gap:20px; padding:45px 35px; }
.integration-node { display:grid; justify-items:center; gap:20px; padding:25px; background:#f6faef; font-size:24px; }
.integration-path { font-size:40px; color:#6c8457; }
.integration-peers { display:grid; gap:18px; }
.integration-peers>div { background:#f6faef; display:flex; align-items:center; gap:15px; padding:18px; font-size:20px; }
.integration-peers .meaning-icon { width:34px; height:34px; }
.integration-art>p { width:100%; text-align:center; font-size:16px!important; margin:0!important; color:#44533c!important; }
.approach-art { display:grid; gap:25px; padding:45px; }
.approach-art>div { display:flex; align-items:center; gap:28px; font-size:22px; }
.contact-portrait { max-width:440px; justify-self:end; }
.contact-portrait img { width:100%; height:460px; object-fit:cover; object-position:top; }
.contact-portrait>span { display:block; padding-top:20px; color:#c5cec6; font-size:18px; }

@media(max-width:1100px) {
 .taste-page .hero-grid,.taste-page .service-hero-grid { gap:40px; }
 .taste-page .hero h1,.taste-page .service-hero h1 { font-size:58px; }
 .taste-page .home-exhibit { min-height:460px; }
 .taste-page .outcomes { gap:35px; }
 .taste-page .product-cards article,.taste-page .product-cards article:nth-child(even) { gap:45px; }
 .taste-page .card-copy h3 { font-size:37px; }
 .taste-page .flow-card { padding:25px; }
 .taste-page .flow-card>b { font-size:24px; }
 .taste-page .sector-grid>a { gap:25px; grid-template-columns:60px 1fr 1fr 24px; }
 .taste-page .sector-grid h3 { font-size:29px; }
 .taste-page .owner-grid { gap:60px; }
 .taste-page .feature-list article { gap:45px; }
 .service-art { min-height:400px; }
 .service-art>strong { font-size:40px; }
 .pwa-art { min-height:500px; }
 .concept-dashboard[data-ui] { padding:18px; }
 .concept-dashboard>strong { font-size:25px; }
 .app-columns { gap:5px; }
 .app-columns>div { padding:10px 5px; }
 .integration-art { padding:30px 15px; gap:12px; }
 .integration-node { padding:20px 12px; }
 .integration-peers>div { padding:14px 12px; }
}
@media(max-width:800px) {
 .taste-page .hero { padding:45px 0 65px; }
 .taste-page .hero-grid { grid-template-columns:1fr; gap:25px; }
 .taste-page .hero h1 { font-size:66px; max-width:650px; }
 .taste-page .hero-copy>p { max-width:52ch; }
 .taste-page .home-exhibit { width:90%; max-width:620px; justify-self:end; min-height:0; aspect-ratio:1.25; }
 .taste-page .home-exhibit>.case-mobile { width:29%; }
 .taste-page .home-exhibit .exhibit-caption { bottom:0; left:38%; }
 .taste-page .section-head { gap:35px; }
 .taste-page .section-head>p { font-size:17px; }
 .taste-page .outcomes { gap:30px; }
 .taste-page .outcomes h3 { font-size:25px; }
 .taste-page .outcomes p { font-size:17px; }
 .taste-page .product-cards article,.taste-page .product-cards article:nth-child(even) { grid-template-columns:1fr 1fr; gap:32px; }
 .taste-page .card-copy h3 { font-size:33px; }
 .taste-page .card-copy p { font-size:17px; }
 .taste-page .flow { grid-template-columns:1fr; max-width:none; gap:20px; }
 .taste-page .flow-card { min-height:150px; padding:30px; display:grid; grid-template-columns:1fr 65px; align-items:center; }
 .taste-page .flow-card>b { font-size:30px; padding:0; max-width:500px; }
 .taste-page .flow-card .meaning-icon { position:static; }
 .taste-page .flow-arrow { transform:rotate(90deg); text-align:center; }
 .taste-page .sector-grid>a { grid-template-columns:60px 1fr 30px; gap:25px; }
 .taste-page .sector-grid p { grid-column:2; font-size:17px; }
 .taste-page .sector-grid b { grid-column:3; grid-row:1; }
 .taste-page .steps { grid-template-columns:1fr 1fr; }
 .taste-page .owner-grid { gap:40px; }
 .taste-page .owner-grid h2 { font-size:42px; }
 .taste-page .faq-grid { grid-template-columns:1fr; gap:35px; }
 .taste-page .faq-grid>div>p { max-width:550px; }
 .taste-page .service-hero-grid { grid-template-columns:1fr; gap:45px; }
 .taste-page .service-hero h1 { font-size:65px; }
 .taste-page .service-hero p { max-width:55ch; }
 .taste-page .service-hero .service-art { min-height:400px; width:85%; justify-self:end; }
 .taste-page .service-hero .pwa-art { min-height:500px; }
 .taste-page .service-hero .back { margin-bottom:35px; }
 .taste-page .feature-list article { gap:30px; }
 .taste-page .feature-list h3 { font-size:27px; }
 .taste-page .decision-grid { grid-template-columns:100px 1fr; gap:45px; }
 .taste-page .decision-grid>.meaning-icon { width:100px; height:100px; }
 .taste-page .split { gap:45px; }
 .contact-portrait { justify-self:end; width:75%; max-width:460px; }
 .portfolio-intro h1 { font-size:60px; }
}
@media(max-width:540px) {
 .taste-page .hero h1 { font-size:43px; line-height:1.06; }
 .taste-page .hero-copy>p { font-size:17px; margin:25px 0; }
 .taste-page .hero-copy .actions { gap:8px 24px; }
 .taste-page .home-exhibit { width:100%; aspect-ratio:1.1; margin-top:20px; }
 .taste-page h2,.taste-page .section-head h2 { font-size:37px; }
 .taste-page .intro-grid { margin-bottom:45px; }
 .taste-page .outcomes { grid-template-columns:1fr; gap:38px; }
 .taste-page .outcomes article { display:grid; grid-template-columns:50px 1fr; column-gap:22px; }
 .taste-page .outcomes .meaning-icon { width:48px; height:48px; grid-row:1/3; }
 .taste-page .outcomes h3 { margin:0 0 15px; font-size:26px; }
 .taste-page .outcomes p { grid-column:2; font-size:17px; margin:0; }
 .taste-page .section-head { margin-bottom:35px; }
 .taste-page .product-cards { gap:55px; }
 .taste-page .product-cards article,.taste-page .product-cards article:nth-child(even) { grid-template-columns:1fr; gap:30px; }
 .taste-page .product-cards article:nth-child(even) .service-art { order:0; }
 .taste-page .card-copy h3 { font-size:37px; margin-bottom:20px; }
 .taste-page .service-strip { padding:25px; margin-top:45px; gap:8px 25px; }
 .taste-page .scenario-tabs button { padding:12px 15px; font-size:15px; }
 .taste-page .flow-card { padding:25px; grid-template-columns:1fr 44px; gap:20px; }
 .taste-page .flow-card>b { font-size:25px; }
 .taste-page .flow-card .meaning-icon { width:44px; height:44px; }
 .taste-page .flow-explain { font-size:17px; }
 .taste-page .tech-caption { font-size:15px; gap:18px; }
 .taste-page .sector-grid>a { grid-template-columns:45px 1fr 20px; gap:20px; padding:25px 0; }
 .taste-page .sector-grid .meaning-icon { width:43px; height:43px; }
 .taste-page .sector-grid h3 { font-size:26px; }
 .taste-page .sector-grid p { font-size:16px; }
 .taste-page .steps { grid-template-columns:1fr; gap:25px; }
 .taste-page .steps h3 { font-size:29px; margin:0 0 14px; }
 .taste-page .steps p { margin:0; font-size:17px; }
 .taste-page .owner-grid { grid-template-columns:1fr; gap:35px; }
 .taste-page .owner-grid h2 { font-size:39px; }
 .taste-page .owner-grid p { font-size:17px; }
 .taste-page .faq details { padding:22px; }
 .taste-page .faq summary { font-size:18px; }
 .taste-page .faq details p { font-size:17px; margin-right:0; }
 .taste-page .service-hero { padding:35px 0 60px; }
 .taste-page .service-hero h1 { font-size:41px; line-height:1.05; }
 .taste-page .service-hero p { font-size:17px; }
 .taste-page .service-hero .service-art { width:100%; min-height:360px; }
 .taste-page .service-hero .pwa-art { min-height:485px; }
 .taste-page .feature-list article { grid-template-columns:1fr; gap:16px; padding:22px 0; }
 .taste-page .feature-list p { grid-column:1; font-size:17px; }
 .taste-page .feature-list h3 { font-size:29px; }
 .taste-page .decision-grid { grid-template-columns:1fr; gap:32px; }
 .taste-page .decision-grid>.meaning-icon { width:75px; height:75px; }
 .taste-page .decision p { font-size:19px; }
 .taste-page .split { grid-template-columns:1fr; gap:30px; }
 .taste-page .checklist li { font-size:17px; }
 .taste-page .contact h2 { font-size:47px; }
 .taste-page .contact .fine { font-size:15px; }
 .service-art { min-height:360px; }
 .pwa-art { min-height:485px; }
 .website-art { padding:50px 20px 65px; }
 .saas-art { padding:40px 18px 70px; }
 .service-art>strong { font-size:38px; }
 .concept-dashboard>strong { font-size:24px; }
 .app-columns { gap:5px; }
 .app-columns>div { padding:10px 4px; }
 .app-columns p { padding:10px 5px; }
 .service-art .art-caption { font-size:13px!important; }
 .support-art,.seo-art { padding:35px; }
 .art-symbol .meaning-icon { width:70px; height:70px; }
 .integration-art { padding:30px 15px; gap:12px; }
 .integration-node { font-size:20px; }
 .integration-peers>div { font-size:18px; gap:8px; }
 .integration-path { font-size:32px; }
 .integration-peers .meaning-icon { width:28px; height:28px; }
 .approach-art { padding:30px 25px; }
 .approach-art>div { gap:20px; font-size:20px; }
 .approach-art .meaning-icon { width:45px; height:45px; }
 .contact-portrait { width:90%; }
 .contact-portrait img { height:400px; }
 .portfolio-intro h1 { font-size:64px; }
}
@media(prefers-reduced-motion:reduce) { .taste-page *, .taste-page *::before, .taste-page *::after { scroll-behavior:auto!important; } }
