/* Hakusana service system: editorial bands, original illustrations, technology tiles. */
.service-nav{display:flex;align-items:center;position:relative;gap:3px;z-index:30}.service-nav-toggle{font:inherit;font-size:18px;color:inherit;background:transparent;border:0;padding:9px 8px;cursor:pointer;line-height:1;border-radius:4px}.service-nav-toggle:focus-visible{outline:3px solid #7100E8;outline-offset:3px}.service-nav-toggle[aria-expanded=true]{background:#e9ddf6}.service-nav-panel{position:absolute;top:100%;left:-24px;width:580px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fafaf7;border:1px solid #d8d5dd;box-shadow:0 24px 60px #20202524;border-radius:10px;visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s}.service-nav.is-open .service-nav-panel{visibility:visible;opacity:1;transform:translateY(0)}.service-nav-link{display:flex;gap:12px;align-items:center;padding:16px!important;line-height:1.4;border-radius:5px;font-size:14px}.service-nav-link:before{content:'';width:12px;height:12px;flex-shrink:0;background:var(--tile-accent);border-radius:3px}.service-nav-link:hover,.service-nav-link:focus-visible{background:#eee9f3}
.service-page{--service-accent:#96D372}.service-maintenance{--service-accent:#76D7F9}.service-design,.service-wordpress_help{--service-accent:#F975B7}.service-content,.service-ai{--service-accent:#B376F3}
.service-page .service-hero{position:relative;isolation:isolate;overflow:hidden;min-height:590px;padding:78px 8% 72px;background:linear-gradient(115deg,#f5f5f0 42%,color-mix(in srgb,var(--service-accent) 18%,#f5f5f0));border-bottom:1px solid #dcdcd5;display:flex;flex-direction:column;justify-content:center}.service-hero h1{font-size:clamp(42px,4.4vw,67px);line-height:1.06;letter-spacing:-3.3px;max-width:62%;font-weight:550;margin-bottom:30px}.service-hero .hero-bottom{display:block;max-width:59%}.service-hero .lead,.service-hero>p:not(.eyebrow){font-size:18px;max-width:57ch;line-height:1.65}.service-hero .cta{margin-top:30px}.service-hero>p:not(.eyebrow){max-width:55%}.service-hero>.cta{align-self:flex-start}.service-hero .eyebrow:before{content:'';display:inline-block;width:10px;height:10px;background:var(--service-accent);margin-right:12px;border-radius:2px}.service-visual{position:absolute;z-index:-1;right:0;top:8%;width:39%;height:84%;display:flex;align-items:center;justify-content:center}.service-art{width:94%;height:90%;object-fit:contain;filter:drop-shadow(0 28px 30px #2020250a)}.service-orbit{position:absolute;width:16px;height:16px;border-radius:4px;transform:rotate(-12deg);background:#96D372}.orbit-0{top:10%;left:22%}.orbit-1{top:25%;right:11%;background:#B376F3;width:23px;height:23px}.orbit-2{bottom:18%;left:12%;background:#76D7F9}.orbit-3{bottom:11%;right:23%;background:#F975B7;width:11px;height:11px}
.service-page .service-sections{max-width:none;margin:0;padding:0 4% 64px}.service-chapter{position:relative;padding:64px 4.35%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:50px;border-bottom:1px solid #d9d9d4}.chapter-heading{min-width:0}.chapter-number{font-size:12px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px;margin-bottom:24px;color:#606067}.chapter-number:before{content:'';width:9px;height:9px;background:var(--chapter-accent);border-radius:2px}.service-page .service-chapter h2,.service-page .service-chapter h3{margin:0;font-size:clamp(25px,2.3vw,34px);letter-spacing:-1.1px;line-height:1.2;font-weight:520}.chapter-copy{min-width:0;padding-top:42px}.service-page .chapter-copy p{font-size:16px;line-height:1.8;color:#55555e;max-width:66ch}.chapter-copy p:last-child{margin-bottom:0}.service-chapter.chapter-benefit{background:#202025;border:0;border-radius:8px;color:#f5f5f0;margin:8px 0 24px;padding:56px 4.35%}.chapter-benefit .chapter-number,.service-page .chapter-benefit .chapter-copy p{color:#d2d2d9}.service-chapter.chapter-process{background:color-mix(in srgb,#76D7F9 15%,#f5f5f0);border:1px solid #ccd9dc;border-radius:8px;margin:24px 0}.chapter-process .chapter-copy{padding-top:0}.chapter-process .chapter-heading{align-self:center}.service-chapter.chapter-detail{grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr);padding-top:40px;padding-bottom:40px}.chapter-detail .chapter-copy{padding-top:0}.chapter-detail .chapter-number{margin-bottom:15px}
.technology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:30px 4.35% 10px;background:linear-gradient(#e9f0ed,#f5f5f0);border-radius:8px}.technology-tile{background:#fcfcf9;border:1px solid #d8dcd6;border-radius:8px;padding:28px;display:grid;grid-template-columns:48px 1fr;align-content:start;align-items:center;gap:22px 17px;box-shadow:0 5px 15px #20202503}.technology-icon{width:48px;height:48px;object-fit:contain}.service-page .technology-tile h2{font-size:24px;letter-spacing:-.6px;margin:0;line-height:1.2}.technology-tile .chapter-copy{grid-column:1/-1;padding:0}.service-page .technology-tile p{font-size:14px;line-height:1.75;color:#55555e;margin:0}.service-page .closing{margin-top:12px;margin-bottom:15px;overflow:hidden;background:#dfd1f1}.service-page .closing:after{content:'';position:absolute;right:27%;top:-45px;width:80px;height:80px;background:#B376F3;border-radius:16px;transform:rotate(18deg);pointer-events:none}.service-page>.section,.service-page>.cms-section>.section{padding-top:35px;padding-bottom:35px}.service-page .feature{margin-top:28px;margin-bottom:28px}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){.service-orbit{animation:service-drift 4.8s ease-in-out 1 alternate}.orbit-1{animation-delay:-3s}.orbit-2{animation-delay:-6s}@keyframes service-drift{to{translate:0 12px;rotate:12deg}}}
@media(max-width:1000px){.service-nav-panel{left:-12px;width:500px}.service-hero h1{max-width:64%;font-size:54px}.service-page .service-hero{min-height:540px}.service-chapter{gap:30px}.technology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-visual{width:34%}.service-hero .hero-bottom{max-width:67%}}
@media(max-width:600px){.service-nav{position:static}.service-nav-panel{left:0;right:0;top:100%;width:auto;padding:12px;grid-template-columns:1fr;max-height:65vh;overflow:auto}.service-nav-link{padding:12px!important}header nav{position:relative}.service-page .service-hero{padding:40px 6% 24px;min-height:0}.service-hero h1{font-size:40px!important;line-height:1.08;letter-spacing:-1.8px!important;max-width:100%}.service-hero .hero-bottom,.service-hero>p:not(.eyebrow){max-width:100%}.service-hero .lead,.service-hero>p:not(.eyebrow){font-size:17px}.service-visual{position:relative;z-index:0;inset:auto;width:100%;height:220px;margin:20px 0 0}.service-art{width:85%;height:100%}.service-orbit{width:12px;height:12px}.service-hero .cta{margin-top:24px}.service-page .service-sections{padding:0 4% 25px}.service-chapter,.service-chapter.chapter-detail{grid-template-columns:1fr;gap:22px;padding:38px 4.35%}.chapter-copy{padding-top:0}.service-page .service-chapter h2,.service-page .service-chapter h3{font-size:27px;line-height:1.22;letter-spacing:-.8px}.chapter-number{margin-bottom:18px}.service-chapter.chapter-benefit{padding:35px 6%;margin:0 0 15px}.service-chapter.chapter-process{padding:35px 6%;margin:15px 0}.technology-grid{grid-template-columns:1fr;padding:20px 2%;gap:12px}.technology-tile{padding:24px;gap:18px}.service-page .closing:after{right:12%;width:40px;height:40px}.service-page .chapter-copy p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.service-nav-panel{transition:none}.service-orbit{animation:none}}
.service-network{position:absolute;inset:0;width:100%;height:100%;opacity:.42;z-index:-1;object-fit:contain}.service-art{position:relative}.service-visual{pointer-events:none}
@media(prefers-reduced-motion:no-preference){.service-network{animation:network-arrive 4.5s ease-out both}.service-art{animation:art-arrive 1.2s ease-out both}@keyframes network-arrive{from{opacity:0;transform:scale(.85) rotate(-5deg)}to{opacity:.42;transform:scale(1) rotate(0)}}@keyframes art-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:0 4.35% 42px}.service-detail-grid .service-chapter,.service-detail-grid .service-chapter.chapter-detail{display:block;border:0;border-top:2px solid var(--chapter-accent);border-radius:0;margin:0;padding:24px 0;background:transparent;color:#202025}.service-page .service-detail-grid .service-chapter h2{font-size:25px;letter-spacing:-.7px}.service-detail-grid .chapter-number{margin-bottom:18px}.service-detail-grid .chapter-copy{padding-top:22px}.service-page .service-detail-grid .chapter-copy p{color:#55555e;font-size:15px}.service-detail-grid .chapter-number{color:#606067}.service-chapter.chapter-group-heading{display:block;padding-bottom:35px;border:0;background:transparent;color:#202025;margin:0}.chapter-group-heading .chapter-copy{padding-top:15px}.service-page .chapter-group-heading .chapter-copy p{color:#55555e}.chapter-group-heading .chapter-number{color:#606067}@media(max-width:900px){.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr;gap:0;padding-bottom:20px}.service-detail-grid .service-chapter{padding:25px 0}.service-chapter.chapter-group-heading{padding-bottom:25px}}

/* Morning mobile refinement: smaller navigation and dense but complete technology rows. */
.mobile-nav-toggle{display:none}
.service-maintenance .service-chapter.chapter-security{background:color-mix(in srgb,#76D7F9 18%,#f5f5f0);border-left:4px solid #00B5F4;border-radius:7px;margin:20px 0}
.service-content .chapter-group-heading{border-top:1px solid #d8d1e2}
@media(max-width:600px){
 header.has-mobile-nav{gap:10px;padding-top:16px;padding-bottom:16px}
 header.has-mobile-nav .brand img{width:124px;height:auto}
 header.has-mobile-nav>.cta{order:1;font-size:11px;padding:7px 10px;gap:8px}
 .mobile-nav-toggle{display:block;order:2;font:inherit;font-size:12px;font-weight:600;padding:10px 11px;background:transparent;border:1px solid #b7b7b4;border-radius:4px;color:#202025;cursor:pointer}
 .mobile-nav-toggle:focus-visible{outline:3px solid #7100E8;outline-offset:3px}
 header.has-mobile-nav nav{display:none;order:3;width:100%;grid-template-columns:1fr 1fr;gap:10px;padding-top:16px;border-top:1px solid #d9d9d4}
 header.mobile-nav-open nav{display:grid}
 header.has-mobile-nav nav>a,header.has-mobile-nav .service-nav{padding:8px 0;min-width:0}
 header.has-mobile-nav nav .language{border:0;padding-left:0}
 header.has-mobile-nav .service-nav-panel{z-index:35}
 .service-page .service-hero{padding-top:30px}
 .service-hero h1{font-size:36px!important;letter-spacing:-1.5px!important;margin-bottom:24px}
 .technology-grid{padding:10px 3%;gap:0;background:#edf1ec}
 .technology-tile{grid-template-columns:36px 1fr;gap:12px 14px;padding:20px 10px;border:0;border-bottom:1px solid #d2d9d0;border-radius:0;background:transparent;box-shadow:none}
 .technology-icon{width:36px;height:36px}
 .service-page .technology-tile h2{font-size:22px}
 .service-page .technology-tile p{font-size:14px;line-height:1.65}
 .service-maintenance .service-chapter.chapter-security{padding:30px 6%}
}
@media(max-width:360px){header.has-mobile-nav{gap:6px}header.has-mobile-nav .brand img{width:108px}header.has-mobile-nav>.cta{font-size:10px;padding:6px 8px;gap:6px}.mobile-nav-toggle{padding:9px;font-size:11px}}

/* Stable capture/viewport gutters and scroll clearance for the fixed launcher. */
html:has(main.service-page){scrollbar-gutter:stable;scroll-padding-block-end:110px}
.service-page{padding-block-end:90px}
.service-page :is(a,button,summary,[tabindex]){scroll-margin-block-end:110px}
@media(max-width:600px){
 .service-page .service-sections{inline-size:100%;padding-inline:4%;min-inline-size:0}
 .service-page .closing{inline-size:92%;margin-inline:4%;min-inline-size:0}
}
