:root{--ink:#26312d;--paper:#f5f4ef;--mist:#e9e9e3;--line:#aeb9b0;--accent:#566e5d;--dark:#26312d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,Arial,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1180px,calc(100% - 64px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{height:82px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-inner{height:100%;display:flex;align-items:center;gap:35px}.logo{display:flex;gap:6px;align-items:center;width:max-content;flex:none}.logo-mark,.logo-word{display:block;overflow:hidden;position:relative;flex:none}.logo-mark{width:60px;height:34px}.logo-mark img{position:absolute;max-width:none;width:160px;left:-50px;top:-32px}.logo-word{width:165px;height:30px}.logo-word img{position:absolute;max-width:none;width:375px;left:-107px;top:-109px}.desktop-nav{display:flex;gap:27px;margin-left:auto}.desktop-nav a,.header-contact{font:700 12px Arial,sans-serif;letter-spacing:.06em;white-space:nowrap}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-contact{border:1px solid var(--ink);padding:12px 18px}.header-contact:hover{background:var(--ink);color:var(--paper)}.menu-button,.mobile-nav{display:none}
.hero{background:var(--mist);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:auto -4% 0;height:300px;background:url('assets/wave-lines.svg') center bottom/cover no-repeat;opacity:.47;pointer-events:none}.hero-wave{position:absolute;right:-11%;top:2%;width:58vw;height:58vw;max-height:760px;overflow:hidden;opacity:.12;mix-blend-mode:multiply;pointer-events:none}.hero-wave img{width:140%;max-width:none;position:absolute;left:-20%;top:-32%}.hero-shell{position:relative;z-index:1;min-height:740px;padding:65px 0 66px;display:flex;flex-direction:column;justify-content:space-between}.hero-meta{display:flex;justify-content:space-between;font:700 12px Arial,sans-serif;letter-spacing:.15em}.hero h1{font-size:clamp(57px,6.25vw,90px);font-weight:800;letter-spacing:-.04em;line-height:1.3;margin:70px 0 50px}.hero h1 em{font-style:normal}.hero-bottom{display:flex;justify-content:space-between;gap:35px;align-items:end}.hero-bottom p{font-size:20px;font-weight:700;line-height:1.8;margin:0;max-width:680px}.hero-bottom a{font:700 11px Arial,sans-serif;letter-spacing:.11em;border-bottom:1px solid;padding-bottom:10px;white-space:nowrap}.hero-bottom a span{font-size:17px;margin-left:30px}
.section{padding:118px 0 130px;scroll-margin-top:82px}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);padding-top:16px;margin-bottom:75px;font:700 12px Arial,sans-serif;letter-spacing:.12em}.intro-grid,.section-head{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:start}.section h2{font-size:clamp(37px,4vw,55px);font-weight:800;line-height:1.48;letter-spacing:-.018em;margin:0}.intro-text .lead{font-size:21px;font-weight:800;margin:5px 0 25px}.intro-text p:not(.lead),.section-head p{font-size:17px;color:#43524a;margin:0;max-width:490px}.human-flow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:80px}.human-flow>div{padding:25px 19px 32px;border-right:1px solid var(--line);min-height:205px}.human-flow>div:last-child{border:0}.human-flow span{font:700 13px Arial,sans-serif;color:var(--accent)}.human-flow b{display:block;font:600 24px Arial,sans-serif;letter-spacing:.04em;margin:27px 0 13px}.human-flow p{font-size:14px;line-height:1.7;margin:0}.statement{background:#dfe6df;overflow:hidden}.statement .shell{min-height:170px;display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 clamp(15px,2.1vw,28px) Arial,sans-serif;letter-spacing:.07em}.statement span:nth-child(even){font-size:22px;color:#768b78}.section-service{background:#e9e9e3}.section-head{margin-bottom:64px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-grid article{border:1px solid #aeb9b0;padding:34px 38px 26px;display:flex;flex-direction:column;background:#f5f4ef;min-height:620px}.service-number{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:24px}.service-number strong{font:300 58px/1 Arial,sans-serif}.service-number span{font:700 12px Arial,sans-serif;letter-spacing:.1em;padding-top:5px}.service-grid h3{font-size:29px;line-height:1.45;margin:28px 0 15px}.service-lead{font-size:18px;font-weight:700;margin:0 0 29px;min-height:73px}.service-grid dl{margin:0}.service-grid dl div{border-top:1px solid var(--line);padding:14px 0}.service-grid dt{font-size:13px;font-weight:800;color:var(--accent);margin-bottom:4px}.service-grid dd{font-size:15px;margin:0}.service-bottom{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:13px}.service-bottom strong{display:block;font:700 29px/1.5 Arial,sans-serif}.service-bottom small{display:block;font-size:13px}.note{font-size:13px;color:#56645b;margin:19px 0 0}.section-process{background:var(--paper)}.process-grid{border-top:1px solid var(--line)}.process-phase{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:30px 0;border-bottom:1px solid var(--line)}.phase-heading span{font:700 12px Arial,sans-serif;letter-spacing:.11em;color:var(--accent)}.phase-heading h3{font-size:22px;margin:8px 0}.process-phase ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;counter-reset:step calc(var(--start) - 1)}.process-phase:nth-child(1) ol{--start:1}.process-phase:nth-child(2) ol{--start:5}.process-phase:nth-child(3) ol{--start:9}.process-phase li{display:flex;gap:16px;font-size:16px;font-weight:700}.process-phase li:before{counter-increment:step;content:counter(step,decimal-leading-zero);font:700 13px Arial,sans-serif;color:var(--accent);padding-top:6px}.section-case{background:#e5e8e1}.case-panel{display:grid;grid-template-columns:43% 57%;background:var(--dark);color:var(--paper);min-height:410px}.case-image{display:grid;place-items:center;background:#34413a;overflow:hidden}.case-image img{width:165px;height:225px;object-fit:cover;box-shadow:20px 20px 0 #ffffff1a;border-radius:3px}.case-copy{padding:55px 60px;display:flex;flex-direction:column;align-items:flex-start}.case-copy span{font:700 12px Arial,sans-serif;letter-spacing:.12em;color:#c0d0be}.case-copy h3{font:700 49px Arial,sans-serif;margin:24px 0 19px}.case-copy p{font-size:17px;margin:0}.case-copy small{font-size:12px;color:#bdc9c0;margin-top:auto;padding-top:25px}.section-reason{background:var(--paper)}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.reason-grid article{border-top:2px solid var(--ink);padding:25px 9px 0;min-height:240px}.reason-grid span{font:700 12px Arial,sans-serif;letter-spacing:.1em;color:var(--accent)}.reason-grid h3{font-size:23px;line-height:1.5;margin:22px 0 13px}.reason-grid p{font-size:16px;margin:0}.transparent{background:#e9e9e3;padding:24px 30px;margin-top:54px;display:grid;grid-template-columns:235px 1fr;gap:20px;align-items:center}.transparent p{margin:0}.closing{background:var(--dark) url('assets/wave-lines.svg') center bottom/cover no-repeat;color:var(--paper);padding:105px 0 115px}.closing span{font:700 12px Arial,sans-serif;letter-spacing:.15em;color:#c1d3c0}.closing h2{font-size:clamp(45px,5.5vw,76px);line-height:1.4;letter-spacing:-.035em;margin:28px 0}.closing p{font-size:19px;margin:0 0 38px}.closing a{display:inline-flex;justify-content:space-between;align-items:center;min-width:250px;background:var(--paper);color:var(--ink);padding:14px 21px;font-weight:800}.closing a:hover{background:#dfe6df}footer{padding:28px 0;background:var(--paper)}.footer-inner{display:flex;align-items:center;gap:28px}.footer-inner span:not(.logo-mark):not(.logo-word):not(.sr-only),.footer-inner small{font:700 11px Arial,sans-serif;letter-spacing:.04em}.footer-inner small{margin-left:auto}
@media(max-width:1050px){.desktop-nav{gap:15px}.logo{gap:3px}.logo-mark{width:48px;height:30px}.logo-mark img{width:135px;left:-43px;top:-27px}.logo-word{width:137px;height:27px}.logo-word img{width:320px;left:-91px;top:-93px}.intro-grid,.section-head{gap:35px}.human-flow b{font-size:19px}}
@media(max-width:800px){.header{height:66px}.header-inner{width:calc(100% - 36px)}.desktop-nav,.header-contact{display:none}.menu-button{display:block;margin-left:auto;background:transparent;border:1px solid;padding:6px 10px;font:700 12px Arial,sans-serif}.mobile-nav.open{display:flex}.mobile-nav{position:absolute;top:66px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 24px #26312d1a;padding:15px 22px;flex-direction:column}.mobile-nav a{font-size:15px;font-weight:700;border-bottom:1px solid var(--line);padding:11px 0}.shell{width:calc(100% - 40px)}.hero-shell{min-height:600px;padding:44px 0 52px}.hero h1{font-size:clamp(45px,7vw,65px);margin:60px 0 50px}.hero-bottom p{font-size:17px}.section{padding:78px 0 90px;scroll-margin-top:66px}.section-top{margin-bottom:44px}.intro-grid,.section-head{grid-template-columns:1fr;gap:22px}.human-flow{grid-template-columns:repeat(2,1fr);margin-top:45px}.human-flow>div{min-height:0;border-bottom:1px solid var(--line)}.human-flow>div:nth-child(even){border-right:0}.human-flow>div:last-child{border-bottom:0}.statement .shell{min-height:125px;flex-wrap:wrap;justify-content:center}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0}.service-lead{min-height:0}.process-phase{grid-template-columns:1fr;gap:15px}.case-panel{grid-template-columns:1fr}.case-image{height:260px}.case-image img{width:130px;height:180px}.case-copy{padding:35px}.case-copy small{margin-top:20px}.reason-grid{grid-template-columns:1fr}.reason-grid article{min-height:0;padding-bottom:20px}.transparent{display:block}.transparent p{margin-top:7px}}
@media(max-width:530px){.shell{width:calc(100% - 36px)}.logo-mark{width:43px;height:26px}.logo-mark img{width:120px;left:-38px;top:-24px}.logo-word{width:125px;height:24px}.logo-word img{width:295px;left:-84px;top:-86px}.hero-shell{min-height:620px}.hero-meta{font-size:10px;gap:10px}.hero-meta span:last-child{display:none}.hero h1{font-size:clamp(38px,9.1vw,48px);line-height:1.38;margin:60px 0 45px;letter-spacing:-.055em}.hero-bottom{display:block}.hero-bottom p{font-size:16px}.hero-bottom a{display:inline-block;margin-top:35px}.hero-wave{width:110vw;height:110vw;right:-50%;top:8%;opacity:.12}.hero:after{height:190px;background-size:auto 100%}.section-top span:last-child{display:none}.section h2{font-size:34px}.intro-text .lead{font-size:19px}.intro-text p:not(.lead),.section-head p{font-size:16px}.human-flow{grid-template-columns:1fr}.human-flow>div{border-right:0;display:grid;grid-template-columns:43px 1fr;gap:3px 10px;padding:16px 0}.human-flow span{grid-row:1/3;padding-top:4px}.human-flow b{margin:0;font-size:20px}.human-flow p{grid-column:2}.statement .shell{font-size:13px;min-height:105px;gap:6px}.statement span:nth-child(even){font-size:14px}.service-grid article{padding:26px}.service-grid h3{font-size:25px}.process-phase ol{grid-template-columns:1fr}.case-copy h3{font-size:39px}.closing{padding:78px 0 90px}.closing h2{font-size:44px}.footer-inner{flex-wrap:wrap;gap:12px}.footer-inner small{margin-left:0;width:100%}}
/* A concise service definition anchors the first view. */
.hero-service span{display:block;font:700 12px Arial,sans-serif;letter-spacing:.13em;color:#5c7461;margin-bottom:10px}.hero-service strong{display:block;font-size:clamp(19px,2.15vw,28px);font-weight:800;line-height:1.55}.hero-service p{font-size:17px;font-weight:500;margin:6px 0 0}.hero-bottom{align-items:end}
/* Pricing is a shared visual unit in both service cards. */
.service-grid article{overflow:hidden}.price-panel{background:#34433a;color:#f7f7f1;margin:24px -38px -26px;padding:20px 38px 22px;margin-top:auto}.price-label{display:block;font-size:13px;font-weight:700;letter-spacing:.02em}.price-main{display:flex;align-items:baseline;gap:3px;white-space:nowrap;margin:3px 0 14px;font-family:Arial,sans-serif}.price-main small{font-size:23px;font-weight:700}.price-main strong{font-size:clamp(37px,4vw,51px);line-height:1.2;font-weight:700;letter-spacing:-.045em}.price-main>span{font-size:18px;font-weight:700;margin-left:5px}.price-fee{border-top:1px solid #ffffff65;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}.price-fee b{font:700 20px Arial,sans-serif;white-space:nowrap}
@media(max-width:800px){.hero-service strong{font-size:21px}.hero-service p{font-size:16px}.price-panel{margin-left:-38px;margin-right:-38px}}
@media(max-width:530px){.hero h1{margin-bottom:35px}.hero-service span{font-size:11px}.hero-service strong{font-size:19px}.hero-service p{font-size:15px}.hero-bottom a{margin-top:25px}.price-panel{margin-left:-26px;margin-right:-26px;margin-bottom:-26px;padding:20px 26px}.price-main strong{font-size:41px}.price-fee{font-size:13px}}
/* First-view copy shared by all three studies. */
.hero h1{font-size:clamp(58px,6vw,86px);line-height:1.32;letter-spacing:-.055em}.hero-service strong{font-size:clamp(18px,1.78vw,23px);line-height:1.72;font-weight:800}.hero-bottom{gap:24px}.hero-bottom a{flex:none}
.preview-bar{height:46px;background:#222c27;color:#f8f8f2;display:flex;align-items:center;justify-content:center;gap:36px;font:700 11px Arial,sans-serif;letter-spacing:.09em}.preview-bar nav{display:flex;gap:0}.preview-bar a{padding:8px 15px;border-left:1px solid #ffffff4a}.preview-bar a:hover{color:#d7e8d3}.variant-neutral .preview-bar a[data-variant=neutral],.variant-photo .preview-bar a[data-variant=photo],.variant-color .preview-bar a[data-variant=color]{color:#dbedca}.variant-photo .hero{background:#dddcd4 url('assets/urban-gadget.webp') 65% center / cover no-repeat}.variant-photo .hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f2f1eb 0%,#eeede6f5 36%,#eeede6c2 55%,#eeede600 82%)}.variant-photo .hero:after{height:200px;opacity:.27}.variant-photo .hero-wave{display:none}.variant-photo .hero-shell{min-height:720px}.variant-photo .hero h1{font-size:clamp(52px,5.2vw,75px);max-width:760px}.variant-photo .hero-bottom{max-width:765px}.variant-photo .hero-service strong{font-size:clamp(18px,1.6vw,21px)}.variant-photo .hero-bottom a{display:none}.variant-color .hero{background:#173e4b;color:#f8f8f2}.variant-color .hero:after{height:390px;opacity:.7;filter:brightness(1.6)}.variant-color .hero-wave{opacity:.08;mix-blend-mode:screen}.variant-color .hero-service span{color:#d2e3dc}.variant-color .hero h1 em{color:#dceacb}.variant-color .hero-bottom a{color:#f8f8f2}
@media(max-width:800px){.hero h1{font-size:clamp(44px,7vw,65px)}.hero-service strong{font-size:19px}.desktop-break{display:none}.variant-photo .hero-shell{min-height:660px}.variant-photo .hero:before{background:linear-gradient(90deg,#f2f1ebf2 0%,#eeede6e3 48%,#eeede666 100%)}}
@media(max-width:530px){.hero h1{font-size:clamp(38px,9.1vw,48px)}.hero-service strong{font-size:17px;line-height:1.75}.hero-shell{min-height:650px}.preview-bar{gap:0;font-size:10px}.preview-bar>span{display:none}.preview-bar a{padding:8px 10px}.variant-photo .hero{background-position:68% center}.variant-photo .hero:before{background:linear-gradient(0deg,#f2f1ebf9 0%,#f2f1ebf1 43%,#f2f1eb99 74%,#f2f1eb20 100%)}.variant-photo .hero-shell{min-height:720px;justify-content:end}.variant-photo .hero-meta{position:absolute;top:27px}.variant-photo .hero h1{font-size:clamp(36px,8.6vw,46px);margin:0 0 28px}.variant-photo .hero-bottom{margin-bottom:5px}.variant-color .hero:after{opacity:.5}}
.variant-photo .hero-service{background:#f2f1ebe8;padding:15px 22px;margin-left:-22px}
@media(max-width:530px){.variant-photo .hero-service{padding:0;background:none;margin-left:0}}
/* Service plans: editorial contrast and a clear price hierarchy. */
.section-service{background:#e7e9e3}.service-grid{gap:22px}.service-grid article{padding-bottom:0;border-color:#88988b;background:#f7f7f2}.service-grid h3{font-size:clamp(28px,3.1vw,42px);line-height:1.35;letter-spacing:-.035em;margin-top:31px}.service-lead{min-height:0;margin-bottom:22px}.service-grid dl{margin-bottom:28px}.service-grid dt{font-size:14px}.service-grid dd{font-size:16px}.price-panel{position:relative;margin:0 -38px 0;padding:25px 38px 30px;background:#263b33;color:#f9f8f0;overflow:hidden}.service-b .price-panel{background:#272f2d}.price-panel:before{content:'';position:absolute;width:300px;height:300px;right:-190px;top:-155px;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 24px #ffffff08,0 0 0 48px #ffffff08,0 0 0 72px #ffffff08;pointer-events:none}.price-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff55;padding-bottom:13px;font:700 12px Arial,sans-serif;letter-spacing:.12em}.price-top b{font:400 22px Arial,sans-serif}.price-heading{font-size:clamp(21px,2.1vw,29px);font-weight:800;letter-spacing:-.025em;line-height:1.4;margin:26px 0 28px}.price-value{border-top:1px solid #ffffff55;padding-top:15px}.price-label{font-size:14px}.price-label small{font-size:12px;font-weight:500;margin-left:8px}.price-main{margin:1px 0 20px;gap:4px}.price-main small{font-size:26px}.price-main strong{font-size:clamp(48px,5.1vw,74px);letter-spacing:-.07em;line-height:1.14}.price-main>span{font-size:22px}.price-included{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#e7e9d8;color:#20382e;margin:0 -38px;padding:12px 38px;font-size:16px;font-weight:800}.service-b .price-included{background:#d5ded8}.price-included span{font:700 10px Arial,sans-serif;letter-spacing:.1em;border:1px solid currentColor;border-radius:20px;padding:4px 8px}.price-fee{border-top:0;padding-top:16px;font-size:14px}.price-fee b{font-size:23px}.note{font-size:13px;line-height:1.7}
@media(max-width:800px){.service-grid article{padding-bottom:0}.price-panel{margin-left:-38px;margin-right:-38px}.price-main strong{font-size:clamp(50px,8vw,74px)}}
@media(max-width:530px){.service-grid article{padding-bottom:0}.price-panel{margin:0 -26px;padding:22px 26px 25px}.price-heading{font-size:23px}.price-main strong{font-size:clamp(45px,13vw,62px)}.price-included{margin:0 -26px;padding:12px 26px;font-size:14px}.price-included span{font-size:9px}.price-fee{font-size:13px}}
/* JBL case: a private, approval-stage editorial layout. */
.jbl-case{background:#252d29;color:#f5f4ef;border:1px solid #252d29}.jbl-case-head{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;padding:36px 42px 32px;border-bottom:1px solid #87928a}.jbl-case-brand{display:flex;align-items:center;gap:18px}.jbl-wordmark{display:inline-grid;place-items:center;width:88px;height:58px;background:#ef6c24;color:#fff;font:900 40px/1 Arial,sans-serif;letter-spacing:-.08em;padding-right:6px}.jbl-case-brand span:last-child{font:700 12px Arial,sans-serif;letter-spacing:.11em;color:#c5d0c7}.jbl-case-total{text-align:right;line-height:1}.jbl-case-total b{font:700 73px/1 Arial,sans-serif;letter-spacing:-.06em}.jbl-case-total span{font-size:19px;font-weight:700;margin-left:7px}.jbl-case-total small{display:block;color:#c5d0c7;font-size:13px;margin-top:10px}.jbl-case-lead{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;padding:35px 42px 38px}.jbl-case-lead h3{font-size:clamp(29px,3vw,42px);line-height:1.4;margin:0}.jbl-case-lead p{font-size:15px;line-height:1.8;margin:0;color:#d9e1da}.jbl-campaigns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#56645b;border-top:1px solid #56645b}.jbl-campaign{background:#f5f4ef;color:#26312d;padding:36px 42px 38px;display:flex;flex-direction:column;min-height:278px}.jbl-campaign-top{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid #bbc6bc;padding-bottom:14px;font:700 12px Arial,sans-serif;letter-spacing:.08em}.jbl-campaign-top span:last-child{color:#566e5d}.jbl-campaign h4{font:700 clamp(23px,2.3vw,31px)/1.32 Arial,sans-serif;letter-spacing:-.025em;margin:25px 0 8px}.jbl-campaign>p{font-size:14px;margin:0 0 26px;color:#4f6054}.jbl-campaign-bottom{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-top:auto}.jbl-campaign-count b{font:700 55px/1 Arial,sans-serif;letter-spacing:-.055em}.jbl-campaign-count span{font-size:15px;font-weight:700;margin-left:5px}.jbl-campaign a{font-size:13px;font-weight:700;border-bottom:1px solid;padding-bottom:3px;white-space:nowrap}.jbl-case-review{padding:21px 42px;background:#e9ece5;color:#344339}.jbl-case-review strong{display:block;font-size:14px;margin-bottom:5px}.jbl-case-review p{font-size:13px;line-height:1.7;margin:0}
@media(max-width:800px){.jbl-case-head,.jbl-case-lead{padding-left:28px;padding-right:28px}.jbl-campaign{padding:30px 28px}.jbl-case-review{padding:19px 28px}}
@media(max-width:630px){.jbl-case-head{align-items:start}.jbl-case-brand{flex-direction:column;align-items:flex-start;gap:10px}.jbl-case-total b{font-size:56px}.jbl-case-total span{font-size:14px}.jbl-case-total small{font-size:11px}.jbl-case-lead,.jbl-campaigns{grid-template-columns:1fr}.jbl-case-lead{gap:15px}.jbl-campaign{min-height:230px}.jbl-case-review p{font-size:13px}}
.jbl-case-brand .jbl-logo{width:84px;height:63px;display:block;object-fit:contain;flex:none}.jbl-campaign-bottom{justify-content:flex-start}.jbl-posts{padding:34px 0 38px;background:#dee4da;color:#26312d}.jbl-posts-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 42px 22px}.jbl-posts-heading>div>span{font:700 12px Arial,sans-serif;letter-spacing:.11em;color:#596d5c}.jbl-posts h4{font-size:25px;line-height:1.5;margin:9px 0 3px}.jbl-posts p{font-size:14px;margin:0;color:#506455}.jbl-posts-hint{font-size:13px;font-weight:700;color:#506455;white-space:nowrap}.jbl-posts-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:42px;padding:0 42px 12px;overscroll-behavior-inline:contain}.jbl-posts-track figure{margin:0;flex:0 0 clamp(150px,17.5vw,205px);scroll-snap-align:start;aspect-ratio:500/889;background:#bbc5b9;overflow:hidden;border-radius:3px}.jbl-posts-track img{display:block;width:100%;height:100%;object-fit:cover}.jbl-posts-track::-webkit-scrollbar{height:7px}.jbl-posts-track::-webkit-scrollbar-thumb{background:#829483}.jbl-posts-track::-webkit-scrollbar-track{background:#c5cfc3}
@media(max-width:800px){.jbl-posts-heading{padding-left:28px;padding-right:28px}.jbl-posts-track{padding-left:28px;padding-right:28px;scroll-padding-inline:28px}}
@media(max-width:630px){.jbl-posts{padding:25px 0}.jbl-posts-heading{display:block}.jbl-posts h4{font-size:21px}.jbl-posts-hint{display:block;margin-top:13px;font-size:12px}.jbl-posts-track figure{flex-basis:46vw}}
/* Make the operational promise inspectable at each stage. */
.transparent{display:block;background:#e9ece5;padding:0;margin-top:54px}.transparent-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;align-items:end;padding:34px 36px 30px}.transparent-intro>span{grid-column:1/-1;font:700 12px Arial,sans-serif;letter-spacing:.11em;color:#506b57;margin-bottom:14px}.transparent-intro h3{font-size:clamp(24px,2.7vw,34px);line-height:1.48;margin:0}.transparent-intro p{font-size:15px;line-height:1.75;margin:0;color:#425548}.transparent-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #b9c7bb}.transparent-steps>div{padding:28px 32px 32px;border-right:1px solid #b9c7bb}.transparent-steps>div:last-child{border-right:0}.transparent-steps span{font:700 12px Arial,sans-serif;letter-spacing:.1em;color:#506b57}.transparent-steps h4{font-size:19px;line-height:1.5;margin:14px 0 10px}.transparent-steps p{font-size:14px;line-height:1.85;margin:0;color:#425548}
@media(max-width:800px){.transparent-intro{grid-template-columns:1fr;gap:10px;padding:29px 26px}.transparent-intro>span{margin-bottom:2px}.transparent-steps{grid-template-columns:1fr}.transparent-steps>div{padding:21px 26px;border-right:0;border-bottom:1px solid #b9c7bb}.transparent-steps>div:last-child{border-bottom:0}.transparent-steps h4{margin:8px 0}}
.transparent-disclosure{display:grid;grid-template-columns:1fr 2.1fr auto;column-gap:24px;row-gap:8px;align-items:center;background:#dbe5da;border-top:1px solid #b9c7bb;padding:25px 32px}.transparent-disclosure>span{font:700 12px/1.6 Arial,sans-serif;letter-spacing:.07em;color:#43634c}.transparent-disclosure p{font-size:14px;line-height:1.75;margin:0}.transparent-disclosure p strong{display:block;font-size:15px;color:#263b30}.transparent-disclosure a{grid-column:3;grid-row:2;justify-self:end;margin-top:8px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(max-width:1000px){.transparent-disclosure{grid-template-columns:1fr;gap:7px;padding:24px 26px}.transparent-disclosure a{grid-column:auto;grid-row:auto;justify-self:start;margin-top:12px}}
/* Keep both price panels on the same baseline despite different copy heights. */
@media(min-width:801px){.service-grid article .price-panel{margin-top:auto}}
/* Read the deliverables first, then the price. */
.service-grid article{min-height:0}.service-grid h3{margin-bottom:6px}.service-lead{font-size:15px;color:#536e5b;margin-bottom:25px}.service-capabilities{border-top:1px solid #aab8ac}.capability-title{font-size:14px;font-weight:800;letter-spacing:.03em;margin:17px 0 10px}.service-capabilities ul{list-style:none;margin:0;padding:0}.service-capabilities li{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:baseline;border-top:1px solid #ccd4ca;padding:12px 0}.service-capabilities li strong{font-size:15px;white-space:nowrap}.service-capabilities li span{font-size:15px;line-height:1.65}.service-direction{font-size:14px;color:#4d5e53;border-top:1px solid #ccd4ca;margin:0 0 26px;padding-top:14px}.price-panel{padding-top:18px;padding-bottom:20px}.price-panel:before{opacity:.45}.price-value{border:0;padding-top:15px}.price-main{margin-bottom:12px}.price-main strong{font-size:clamp(46px,4.9vw,68px)}.price-fee{border-top:1px solid #ffffff55;padding-top:13px}.section-service .section-head p{max-width:520px}
@media(max-width:530px){.service-capabilities li{grid-template-columns:1fr;gap:0;padding:10px 0}.service-capabilities li strong{font-size:15px}.service-capabilities li span{font-size:14px}.service-direction{margin-bottom:22px}.price-main strong{font-size:clamp(43px,12vw,58px)}}
/* The first section explains the actual service in the order it happens. */
.section-idea .intro-grid{grid-template-columns:1.12fr .88fr}.section-idea .intro-text .lead{font-size:20px;margin:4px 0 17px}.section-idea .intro-text>p:not(.lead){font-size:17px;line-height:1.8}.platform-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.platform-tags span{font:700 13px Arial,sans-serif;letter-spacing:.02em;border:1px solid #899b8c;padding:6px 11px;border-radius:100px}.work-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:72px}.work-stage{background:#e9ece5;border-top:3px solid #2f493b;padding:24px 25px 20px}.work-stage:nth-child(2){background:#e2e8df}.work-stage:nth-child(3){background:#dce5db}.work-stage-header{min-height:78px}.work-stage-header>span{font:700 12px Arial,sans-serif;letter-spacing:.12em;color:#536e5c}.work-stage h3{font-size:22px;line-height:1.45;margin:8px 0 0}.work-stage ol{list-style:none;margin:0;padding:0}.work-stage li{display:grid;grid-template-columns:32px 1fr;gap:9px;padding:15px 0;border-top:1px solid #a8b7a9}.work-stage li b{font:700 13px Arial,sans-serif;color:#536e5c;padding-top:3px}.work-stage li strong{display:block;font-size:17px;line-height:1.45}.work-stage li p{font-size:14px;line-height:1.65;margin:5px 0 0;color:#43564b}
@media(max-width:950px){.work-stages{grid-template-columns:1fr;gap:10px;margin-top:48px}.work-stage{padding:23px 26px}.work-stage-header{min-height:0;padding-bottom:15px}.work-stage ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.work-stage li{border-top:1px solid #a8b7a9}.work-stage:nth-child(3) ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.section-idea .intro-grid{grid-template-columns:1fr}.work-stage ol,.work-stage:nth-child(3) ol{grid-template-columns:1fr;gap:0}.work-stage li{padding:12px 0}.work-stages{margin-top:36px}}
@media(max-width:530px){.section-idea .intro-text .lead{font-size:18px}.section-idea .intro-text>p:not(.lead){font-size:16px}.platform-tags span{font-size:12px}.work-stage{padding:19px 20px}.work-stage h3{font-size:21px}.work-stage li strong{font-size:16px}}
/* Platform badges retain the names alongside recognizable glyphs. */
.platform-tags .platform-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 9px}.platform-tag svg{display:block;width:18px;height:18px;flex:none}.platform-instagram svg{width:17px;height:17px}
/* Translate the brand sequence into concrete actions. */
.statement .statement-flow{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:15px;min-height:188px;padding-top:28px;padding-bottom:28px}.statement-step{min-width:0}.statement-step strong{display:block;font:700 clamp(19px,2.3vw,30px)/1.2 Arial,sans-serif;letter-spacing:.035em}.statement-step span{display:block;font-size:14px;font-weight:700;letter-spacing:0;line-height:1.6;margin-top:11px;color:#405347}.statement .statement-arrow{font:400 22px Arial,sans-serif;color:#768b78;text-align:center}
@media(max-width:800px){.statement .statement-flow{gap:8px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);min-height:150px}.statement-step strong{font-size:clamp(13px,2.5vw,21px)}.statement-step span{font-size:12px}.statement .statement-arrow{font-size:17px}}
@media(max-width:530px){.statement .statement-flow{grid-template-columns:1fr;gap:0;padding:27px 0;min-height:0}.statement-step{display:grid;grid-template-columns:128px 1fr;align-items:baseline;gap:12px}.statement-step strong{font-size:14px}.statement-step span{font-size:13px;margin:0}.statement .statement-arrow{font-size:15px;line-height:1;text-align:left;margin:5px 0 5px 50px}.statement .shell{justify-content:stretch}}
/* Contact page */
.statement-step span{font-size:12px}.contact-page{background:#f0f2ec}.contact-back{margin-left:auto;font-size:14px;font-weight:700;border-bottom:1px solid #26312d}.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,6vw,100px);padding:80px 0 120px}.contact-intro>span,.form-heading>span{font:700 12px Arial,sans-serif;letter-spacing:.12em;color:#536e5c}.contact-intro h1{font-size:clamp(35px,4.3vw,60px);line-height:1.45;letter-spacing:-.03em;margin:30px 0 20px}.contact-intro>p{font-size:17px;max-width:420px}.contact-aside{border-top:1px solid #aab8ac;margin-top:65px;padding-top:20px}.contact-aside strong{font-size:17px}.contact-aside p{font-size:14px;max-width:380px}.contact-aside a{font:700 15px Arial,sans-serif;border-bottom:1px solid}.contact-form{background:#f9faf6;border:1px solid #b9c6b9;padding:clamp(24px,3vw,44px)}.form-heading{border-bottom:1px solid #aab8ac;margin-bottom:25px}.form-heading p{font-size:14px}.form-heading b,.form-field label b{font-size:11px;background:#263b33;color:white;padding:3px 6px;margin-left:8px;font-weight:700}.form-field{margin:0 0 24px;border:0;padding:0;min-width:0}.form-field label,.form-field legend{display:block;font-size:15px;font-weight:800;margin-bottom:9px}.form-field label small,.form-field legend small{font-size:12px;color:#5e6e62;margin-left:8px;font-weight:500}.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #aab8ac;border-radius:0;background:white;color:#26312d;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5}.form-field textarea{resize:vertical}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid #536e5c;outline-offset:2px}.form-field ::placeholder{color:#7c8b80}.form-options{display:flex;flex-wrap:wrap;gap:10px}.form-options label{display:flex;align-items:center;gap:7px;border:1px solid #aab8ac;padding:8px 12px;margin:0;font-weight:600;cursor:pointer}.form-options input{accent-color:#263b33;width:17px;height:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{border-top:1px solid #aab8ac;padding-top:22px}.form-actions p{font-size:13px;line-height:1.7;margin:0 0 17px;color:#4c5d50}.form-actions button{cursor:pointer;width:100%;display:flex;justify-content:space-between;align-items:center;background:#263b33;color:white;border:0;padding:16px 20px;font-size:17px;font-weight:800}.form-actions button:hover{background:#3f614d}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;padding:52px 0 85px;gap:30px}.contact-intro h1{margin:20px 0}.contact-aside{margin-top:27px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:530px){.statement-step span{font-size:12px}.contact-back{font-size:12px}.contact-intro>p{font-size:16px}.contact-form{padding:23px 20px}.form-field{margin-bottom:21px}}
/* Keep Japanese captions visually subordinate to the English terms. */
.statement .statement-step span{font-size:12px;font-weight:600;line-height:1.5;color:#576d5d;letter-spacing:0}.statement .statement-step{max-width:100%}
.contact-confirm{background:#f9faf6;border:1px solid #b9c6b9;padding:clamp(24px,3vw,44px);align-self:start;scroll-margin-top:110px}.contact-confirm[hidden],.contact-form[hidden]{display:none}.contact-confirm .form-heading h2{font-size:28px;margin:18px 0 0}.contact-confirm dl{margin:0}.contact-confirm dl>div{display:grid;grid-template-columns:155px 1fr;gap:16px;border-bottom:1px solid #ccd4ca;padding:17px 0}.contact-confirm dt{font-size:14px;font-weight:800}.contact-confirm dd{font-size:15px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.confirm-actions{display:flex;gap:12px;align-items:center;margin-top:28px}.confirm-actions button{font:700 14px inherit;background:transparent;border:1px solid #536e5c;padding:13px 16px;cursor:pointer}.confirm-actions a{background:#263b33;color:white;font-weight:800;font-size:15px;padding:14px 20px;text-align:center}.confirm-note{font-size:13px;color:#53665a;margin-top:16px}
@media(max-width:800px){.statement .statement-step span{font-size:12px}}
@media(max-width:530px){.statement .statement-step span{font-size:12px}.contact-confirm dl>div{grid-template-columns:1fr;gap:3px}.confirm-actions{flex-direction:column-reverse;align-items:stretch}.confirm-actions button,.confirm-actions a{width:100%}}
.contact-confirm{grid-column:2}.confirm-actions button{font-family:inherit;font-size:14px;font-weight:700}
@media(max-width:800px){.contact-confirm{grid-column:1}}
.contact-honeypot{position:absolute;left:-9999px;opacity:0}.send-error{color:#a23f35;font-weight:700}.send-error[hidden]{display:none}.contact-done{display:inline-block;margin-top:20px;background:#263b33;color:white;padding:12px 20px;font-weight:700}.confirm-actions a[aria-disabled="true"]{opacity:.55;pointer-events:none}
.footer-privacy{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-left:auto}.footer-inner:has(.footer-privacy) small{margin-left:0}.privacy-consent{border:1px solid #b4c2b6;background:#eff3ed;padding:18px 20px;margin:25px 0}.privacy-consent p{font-size:14px;line-height:1.7;margin:0 0 13px}.privacy-consent a,.contact-aside a{font-weight:800;text-decoration:underline;text-underline-offset:3px}.privacy-consent label{display:flex;align-items:flex-start;gap:9px;font-size:14px;font-weight:700;line-height:1.6;cursor:pointer}.privacy-consent input{accent-color:#263b33;width:18px;height:18px;flex:none;margin-top:2px}.privacy-consent b{font-size:11px;background:#263b33;color:white;white-space:nowrap;padding:1px 6px;margin-left:auto}.privacy-layout{max-width:940px;margin:0 auto;padding-top:80px;padding-bottom:110px}.privacy-kicker{font:700 12px Arial,sans-serif;letter-spacing:.13em;color:#536e5c}.privacy-layout h1{font-size:clamp(36px,4.4vw,56px);line-height:1.3;margin:20px 0 25px}.privacy-lead{font-size:17px;line-height:1.85;border-bottom:1px solid #aab8ac;padding-bottom:36px;margin-bottom:20px}.privacy-section{display:grid;grid-template-columns:64px 1fr;gap:24px;border-bottom:1px solid #c5d1c5;padding:32px 0}.privacy-section>span{font:700 15px Arial,sans-serif;color:#536e5c;padding-top:7px}.privacy-section h2{font-size:23px;line-height:1.5;margin:0 0 12px}.privacy-section p,.privacy-section li{font-size:16px;line-height:1.85}.privacy-section p{margin:0 0 10px}.privacy-section ul{margin:0;padding-left:1.3em}.privacy-section a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.privacy-updated{font-size:13px;color:#617266;margin-top:28px}
@media(max-width:800px){.footer-privacy{margin-left:0}.privacy-layout{padding-top:55px;padding-bottom:80px}.privacy-section{grid-template-columns:42px 1fr;gap:12px}}
@media(max-width:530px){.privacy-consent{padding:16px}.privacy-consent label{flex-wrap:wrap}.privacy-consent b{margin-left:27px}.privacy-section{grid-template-columns:1fr;gap:4px;padding:24px 0}.privacy-section h2{font-size:21px}.privacy-lead{font-size:16px}}
/* Pricing examples use the same published rate card and direction fee. */
.price-fee b{font:700 16px Arial,sans-serif}.price-example{background:#e7e9d8;color:#263b33;margin:18px -38px -20px;padding:18px 38px 21px}.service-b .price-example{background:#d5ded8}.price-example>span{display:block;font-size:14px;font-weight:800}.example-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin:2px 0}.example-total small{font-size:12px;font-weight:700;white-space:nowrap}.example-total strong{font:700 clamp(30px,3.2vw,42px)/1.25 Arial,sans-serif;letter-spacing:-.035em;white-space:nowrap}.price-example p{font-size:12px;line-height:1.55;margin:4px 0 0;color:#46594b}.section-service .note{max-width:900px;font-size:13px;line-height:1.85}
/* Section 03 now explains the difference between the two ways of working. */
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.rule-card{border:1px solid #aab8ac;background:#f5f6f1;padding:27px 30px}.rule-card:nth-child(2){background:#eaeee8}.rule-top{border-bottom:1px solid #aab8ac;padding-bottom:22px}.rule-top span{display:block;font:700 12px Arial,sans-serif;letter-spacing:.08em;color:#536e5c}.rule-top strong{display:block;font-size:25px;line-height:1.45;margin-top:10px}.rule-row{padding:18px 0;border-bottom:1px solid #c6d0c5}.rule-row:last-child{border-bottom:0;padding-bottom:0}.rule-row span{display:block;font-size:13px;color:#566e5d;font-weight:800}.rule-row p{font-size:16px;line-height:1.8;margin:6px 0 0}.shared-rule{background:#293b31;color:#f7f8f2;padding:28px 32px;display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center;margin-top:18px}.shared-rule span{font:700 12px Arial,sans-serif;letter-spacing:.1em;color:#c6ddca}.shared-rule h3{font-size:23px;margin:7px 0}.shared-rule p{font-size:16px;line-height:1.75;margin:0}.footer-company{font:700 11px Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}.footer-company:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.rules-grid,.shared-rule{grid-template-columns:1fr}.shared-rule{gap:6px}}
@media(max-width:530px){.price-example{margin-left:-26px;margin-right:-26px;margin-bottom:-25px;padding:17px 26px 20px}.example-total strong{font-size:32px}.example-total small{font-size:11px}.price-example p{font-size:11px}.rule-card{padding:23px}.rule-top strong{font-size:22px}.rule-row p{font-size:15px}.shared-rule{padding:24px}.footer-company{font-size:11px}}

.robot-check{margin-top:26px;padding:20px;border:1px solid #b9c6b9;background:#fff}.robot-check[hidden]{display:none}.robot-check p{margin:0 0 14px;font-size:14px;font-weight:700}

.jbl-case-focus{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:9px}.jbl-case-focus span{font:700 11px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#a9b9ab}.jbl-case-focus strong{font-size:17px;line-height:1.5}.jbl-campaign-category{width:100%;padding-top:17px;border-top:1px solid #bbc6bc}.jbl-campaign-category>span{display:block;color:#526557;font-size:13px;font-weight:700;margin-bottom:11px}.jbl-campaign-tags{display:flex;flex-wrap:wrap;gap:8px}.jbl-campaign-tags span{border:1px solid #708274;padding:8px 12px;border-radius:999px;font-size:14px;line-height:1.3;font-weight:700;color:#263b33;background:#fff}.jbl-campaign>p{margin-bottom:24px}@media(max-width:630px){.jbl-case-head{grid-template-columns:1fr;gap:18px}.jbl-case-focus{text-align:left;align-items:flex-start}.jbl-case-focus strong{font-size:15px}}
/* Let longer plan labels wrap inside their own column. */
.service-capabilities li{grid-template-columns:minmax(0,44%) minmax(0,1fr);align-items:start;column-gap:16px}
.service-capabilities li strong,.service-capabilities li span{min-width:0;white-space:normal;line-height:1.65}
@media(max-width:530px){.service-capabilities li{grid-template-columns:1fr;gap:2px}}
/* Motion and navigation: restrained wave movement, with a static reduced-motion state. */
.hero:after{animation:hero-tide 18s ease-in-out infinite alternate;transform-origin:center bottom}
.hero-wave{animation:hero-drift 24s ease-in-out infinite alternate}
.hero-current{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.55}
.hero-current i{position:absolute;display:block;width:130vw;height:34vw;min-height:260px;left:-15vw;bottom:-15vw;border:1px solid rgba(86,110,93,.17);border-radius:50%;transform:rotate(-8deg);animation:current-flow 22s ease-in-out infinite alternate}
.hero-current i:nth-child(2){bottom:-17vw;animation-delay:-7s;border-color:rgba(86,110,93,.13)}
.hero-current i:nth-child(3){bottom:-19vw;animation-delay:-14s;border-color:rgba(86,110,93,.11)}
@keyframes hero-tide{to{transform:translate3d(4%,10px,0) scale(1.035)}}
@keyframes hero-drift{to{transform:translate3d(-4%,3%,0) rotate(4deg)}}
@keyframes current-flow{to{transform:translate3d(5vw,-22px,0) rotate(-5deg)}}
.hero-bottom .scroll-cue{display:flex;align-items:center;gap:18px;border:0;padding:0;min-height:70px;position:relative;flex:none}
.scroll-label{position:relative;display:block;font:700 10px Arial,sans-serif;letter-spacing:.16em;white-space:nowrap}
.scroll-label:after{content:'';display:block;height:1px;background:currentColor;opacity:.45;transform-origin:left;transition:transform .4s ease;margin-top:9px}
.scroll-cue:hover .scroll-label:after,.scroll-cue:focus-visible .scroll-label:after{transform:scaleX(.65)}
.scroll-orbit{width:66px;height:66px;display:grid;place-items:center;border:1px solid rgba(38,49,45,.55);border-radius:50%;position:relative;transition:background .35s,color .35s,transform .35s}
.scroll-orbit:before{content:'';position:absolute;inset:5px;border:1px solid rgba(86,110,93,.38);border-radius:46% 54% 56% 44% / 54% 42% 58% 46%;animation:orbit-turn 10s linear infinite}
.scroll-orbit:after{content:'';position:absolute;top:-2px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.scroll-arrow{font:400 22px/1 Arial,sans-serif!important;margin:0!important;display:block;animation:scroll-down 2s ease-in-out infinite}
.scroll-cue:hover .scroll-orbit,.scroll-cue:focus-visible .scroll-orbit{background:var(--ink);color:var(--paper);transform:translateY(4px)}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@keyframes scroll-down{50%{transform:translateY(5px)}}
.desktop-nav{counter-reset:nav}
.desktop-nav a{counter-increment:nav;position:relative;display:inline-flex;align-items:center;gap:5px;padding:10px 0;transition:color .25s ease}
.desktop-nav a:before{content:'0' counter(nav);font:700 9px Arial,sans-serif;color:var(--accent);transform:translateY(-5px);opacity:.7}
.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.desktop-nav a:hover,.desktop-nav a:focus-visible,.desktop-nav a.is-current{color:#3e6650;text-decoration:none}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.desktop-nav a.is-current:after{transform:scaleX(1)}
.header-contact{transition:background .3s ease,color .3s ease,transform .3s ease}
.header-contact:hover{transform:translateY(-2px)}
@media(max-width:800px){
 .menu-button{display:flex;align-items:center;gap:13px;padding:10px 12px;min-width:94px;justify-content:space-between;cursor:pointer;transition:background .25s,color .25s}
 .menu-button:hover,.menu-button[aria-expanded=true]{background:var(--ink);color:var(--paper)}
 .menu-lines{display:grid;gap:5px;width:17px}.menu-lines i{height:1px;width:17px;background:currentColor;transition:transform .3s,width .3s}
 .menu-lines i:last-child{width:12px;margin-left:auto}.menu-button[aria-expanded=true] .menu-lines i:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-lines i:last-child{width:17px;transform:translateY(-3px) rotate(-45deg)}
 .mobile-nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .3s,transform .3s,visibility .3s;padding:22px max(20px,calc((100vw - 720px)/2));background:#e8ece5}
 .mobile-nav.open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
 .mobile-nav a{display:flex;justify-content:space-between;align-items:center;font:700 clamp(19px,4vw,27px)/1.4 Arial,sans-serif;letter-spacing:.02em;padding:17px 0;transition:padding-left .3s,color .3s}
 .mobile-nav a:after{content:'↗';font-size:16px;color:var(--accent);transition:transform .3s}
 .mobile-nav a:hover,.mobile-nav a:focus-visible{padding-left:8px;color:#3e6650}.mobile-nav a:hover:after{transform:translate(3px,-3px)}
 .hero-current i{width:180vw;height:90vw;left:-40vw;bottom:-31vw}
}
@media(max-width:530px){.hero-bottom .scroll-cue{display:inline-flex;margin-top:24px;gap:14px}.scroll-orbit{width:56px;height:56px}.scroll-label{font-size:10px}.hero-current i{bottom:-38vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:after,.hero-wave,.hero-current i,.scroll-orbit:before,.scroll-arrow{animation:none!important}.mobile-nav,.mobile-nav a,.menu-lines i,.desktop-nav a:after,.scroll-orbit{transition:none!important}}
/* An ambient tide in the closing panel, echoed by small responses throughout the page. */
.closing{position:relative;overflow:hidden;background:var(--dark)}
.closing:before,.closing:after{content:'';position:absolute;pointer-events:none;background:url('assets/wave-lines.svg') center bottom/100% 100% no-repeat;inset:auto -10% -7%;height:75%;opacity:.45;transform-origin:center bottom}
.closing:before{animation:closing-wave 19s ease-in-out infinite alternate}
.closing:after{height:57%;opacity:.22;filter:brightness(1.5);animation:closing-wave-back 26s ease-in-out infinite alternate-reverse}
.closing .shell{position:relative;z-index:1}
@keyframes closing-wave{to{transform:translate3d(-5%, -20px,0) scale(1.15,1.09)}}
@keyframes closing-wave-back{to{transform:translate3d(6%, 12px,0) scale(1.11,1.15)}}
.closing a{transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.closing a b{font-weight:400;transition:transform .3s ease}
.closing a:hover,.closing a:focus-visible{transform:translateY(-4px);box-shadow:8px 8px 0 #c1d3c044}
.closing a:hover b,.closing a:focus-visible b{transform:translate(3px,-3px)}
.header:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#577865;transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
@media(hover:hover) and (pointer:fine){
 .work-stage,.reason-grid article,.jbl-campaign{transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease}
 .work-stage:hover{transform:translateY(-6px);box-shadow:0 15px 28px #26312d16}
 .reason-grid article:hover{transform:translateY(-5px);border-color:#76927a}
 .jbl-campaign:hover{transform:translateY(-4px);box-shadow:0 12px 25px #0000001c;position:relative;z-index:1}
 .jbl-posts-track figure img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
 .jbl-posts-track figure:hover img{transform:scale(1.04)}
}
.motion-visible{animation:section-arrive .72s both cubic-bezier(.2,.8,.2,1)}
@keyframes section-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.closing:before{height:54%;background-size:auto 100%}.closing:after{height:43%;background-size:auto 100%}}
@media(prefers-reduced-motion:reduce){.closing:before,.closing:after,.motion-visible{animation:none!important}.work-stage,.reason-grid article,.jbl-campaign,.jbl-posts-track figure img,.closing a,.closing a b{transition:none!important}}
/* A/B comparison keeps both complete plans visible below the interactive summary. */
.plan-compare{border:1px solid #96a89a;background:#e0e7dd;margin:-15px 0 26px;overflow:hidden}
.plan-compare-head{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:24px 28px 19px}
.plan-compare-head span{font:700 10px Arial,sans-serif;letter-spacing:.14em;color:#54705b}
.plan-compare h3{font-size:clamp(19px,2vw,25px);line-height:1.45;margin:5px 0 0}
.plan-compare-controls{display:flex;gap:4px;flex-wrap:wrap}
.plan-compare-controls button{appearance:none;border:1px solid #8ea291;background:transparent;color:#2b4233;padding:8px 13px;cursor:pointer;font-size:12px;font-weight:700;transition:background .25s,color .25s,transform .25s}
.plan-compare-controls button:hover,.plan-compare-controls button:focus-visible{transform:translateY(-2px)}
.plan-compare-controls button.is-active{background:#283d31;color:#fff;border-color:#283d31}
.plan-compare-result{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#aabcae;border-top:1px solid #aabcae}
.plan-compare-result>div{background:#f1f4ed;display:flex;flex-direction:column;gap:7px;min-height:100px;padding:19px 28px}
.plan-compare-result>div:nth-child(2){background:#e9efea}
.plan-compare-result span{font:700 11px Arial,sans-serif;letter-spacing:.07em;color:#5b7461}
.plan-compare-result strong{font-size:16px;line-height:1.55}
/* A single line traces the five actual stages of the service. */
.process-wave{position:relative;margin:-12px 0 46px;padding:14px 15px 8px;background:#e7ece5;overflow:hidden}
.process-wave-line{display:block;width:100%;height:64px;overflow:visible}
.process-wave-line path{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.process-wave-base{stroke:#afc1b0}.process-wave-progress{stroke:#527b5f;stroke-width:2.5!important;stroke-dasharray:170 1000;stroke-dashoffset:170}
.process-wave.is-visible .process-wave-progress{animation:wave-travel 5.5s linear infinite}
@keyframes wave-travel{from{stroke-dashoffset:170}to{stroke-dashoffset:-1000}}
.process-wave ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0 0 13px;gap:9px}
.process-wave li{min-width:0;display:flex;align-items:baseline;gap:8px;font-weight:800;font-size:15px;line-height:1.5}
.process-wave li span{font:700 11px Arial,sans-serif;color:#628069}
/* The original posting gallery moves slowly; interaction and reduced motion pause it. */
.jbl-posts-track{scroll-snap-type:none;scrollbar-width:thin}
.jbl-posts-track figure{flex-shrink:0}
@media(max-width:850px){.plan-compare-head{display:block}.plan-compare-controls{margin-top:15px}}
@media(max-width:650px){.plan-compare{margin-top:0}.plan-compare-head{padding:19px 18px 16px}.plan-compare-controls button{font-size:11px;padding:8px}.plan-compare-result>div{padding:16px 15px;min-height:125px}.plan-compare-result strong{font-size:13px}.plan-compare-result span{font-size:9px}.process-wave{margin:0 0 30px;padding:14px 15px}.process-wave-line{height:45px}.process-wave ol{gap:5px}.process-wave li{display:block;font-size:10px;line-height:1.4}.process-wave li span{display:block;font-size:9px;margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){.process-wave.is-visible .process-wave-progress{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.post-screen,.ad-frame,.post-thumb,.plan-compare-controls button{transition:none!important}}
/* The first view now carries the same clear tide movement as the closing panel. */
.hero:before{content:'';position:absolute;inset:auto -13% -6%;height:47%;background:url('assets/wave-lines.svg') center bottom/100% 100% no-repeat;opacity:.4;pointer-events:none;animation:hero-wave-back 17s ease-in-out infinite alternate-reverse}
.hero:after{opacity:.8;animation:hero-tide-strong 14s ease-in-out infinite alternate}
.hero-current{opacity:.8}
.hero-current i{border-color:rgba(86,110,93,.23);animation-duration:15s}
.hero-current i:nth-child(2){border-color:rgba(86,110,93,.18)}
.hero-current i:nth-child(3){border-color:rgba(86,110,93,.15)}
.hero-wave{opacity:.16;animation-duration:17s}
@keyframes hero-wave-back{to{transform:translate3d(-7%,-18px,0) scale(1.13,1.09)}}
@keyframes hero-tide-strong{to{transform:translate3d(8%,-23px,0) scale(1.12,1.1)}}
@media(max-width:530px){.hero:before{height:35%;background-size:auto 100%;opacity:.3}.hero:after{opacity:.58}.hero-current{opacity:.65}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none!important}}
.section-faq{background:#f1f2ec;color:#24372f;padding:108px 0 116px;border-top:1px solid #cbd6cb}
.faq-layout{display:grid;grid-template-columns:minmax(240px,.76fr) minmax(0,1.35fr);gap:clamp(36px,7vw,110px);align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro h2{font-size:clamp(28px,3.2vw,46px);line-height:1.45;letter-spacing:-.055em;margin:23px 0}.faq-intro p{font-size:14px;line-height:1.95;max-width:340px;color:#53655a}
.faq-list{border-top:1px solid #9aab9d}.faq-list details{border-bottom:1px solid #bdc9bd}.faq-list summary{list-style:none;display:grid;grid-template-columns:37px minmax(0,1fr) 23px;gap:14px;align-items:start;padding:28px 0;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:700 12px Arial,sans-serif;color:#69836e;padding-top:5px}.faq-list summary strong{font-size:clamp(16px,1.45vw,20px);line-height:1.6;letter-spacing:-.025em}.faq-list summary b{position:relative;width:20px;height:20px;margin-top:5px;border:1px solid #91a793;border-radius:50%}.faq-list summary b:before,.faq-list summary b:after{content:'';position:absolute;top:9px;left:5px;width:8px;height:1px;background:#344e3b}.faq-list summary b:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] summary b:after{transform:rotate(0)}.faq-list summary:hover strong,.faq-list summary:focus-visible strong{color:#648269}
.faq-list details p{margin:-4px 37px 29px 51px;color:#435449;font-size:15px;line-height:1.95;max-width:690px}
@media(max-width:800px){.section-faq{padding:72px 0 80px}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-intro{position:static}.faq-intro h2{margin:16px 0 12px}.faq-intro p{max-width:none}}
@media(max-width:530px){.faq-list summary{grid-template-columns:26px minmax(0,1fr) 22px;gap:10px;padding:22px 0}.faq-list summary strong{font-size:15px}.faq-list details p{margin:-3px 28px 23px 36px;font-size:14px}}
.back-to-top{position:fixed;z-index:28;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,38px);width:58px;height:62px;border:1px solid #b9c9bc;background:#263b30;color:#f5f4ef;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;box-shadow:0 9px 25px #14261a40;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease,background .25s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus-visible{background:#4a6952;transform:translateY(-3px)}
.back-to-top:focus-visible{outline:2px solid #f5f4ef;outline-offset:3px}
.back-to-top span{font-size:17px;line-height:1}.back-to-top small{font:700 10px Arial,sans-serif;letter-spacing:.12em;margin-top:7px}
@media(max-width:530px){.back-to-top{width:48px;height:52px;right:16px;bottom:16px}.back-to-top span{font-size:15px}.back-to-top small{font-size:9px;margin-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.back-to-top{transition:none}}

.transparent-disclosure p{grid-column:2 / -1;grid-row:1;max-width:none}
@media(max-width:1000px){.transparent-disclosure p{grid-column:auto;grid-row:auto}}
/* Align the pricing footnote with the full two-column price table. */
.section-service .note{width:100%;max-width:none;box-sizing:border-box}
/* Give the FAQ heading the same type scale and room as sections 01–05. */
.section-faq .faq-layout{grid-template-columns:minmax(0,1fr);gap:54px}
.section-faq .faq-intro{position:static}
.section-faq .faq-intro h2{font-size:clamp(37px,4vw,55px);line-height:1.48;letter-spacing:-.018em;margin:23px 0 15px}
.section-faq .faq-intro p{max-width:680px;margin:0}
@media(max-width:800px){.section-faq .faq-layout{gap:29px}}
@media(max-width:530px){.section-faq .faq-intro h2{font-size:34px;line-height:1.48}}
.section-faq .faq-list details p{max-width:none;margin-right:0}
@media(max-width:530px){.section-faq .faq-list details p{margin-right:6px}}

.section-faq .section-top{margin-bottom:0}
/* CASE DESIGN 02 — a separate, image-led archive preview. */
.case-archive{background:#e5e8e1}.case-archive .section-top{margin-bottom:28px}
.case-archive .section-head{margin-bottom:72px}
.archive-feature{display:grid;grid-template-columns:33% minmax(0,1fr);background:#25392e;color:#f6f6ed;min-height:420px;overflow:hidden}
.archive-feature-title{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(25px,3.3vw,55px)}
.archive-feature-title>span,.archive-stories-heading>span,.archive-story-copy>span,.archive-gallery-heading>div>span{font:700 11px Arial,sans-serif;letter-spacing:.12em}
.archive-feature-title>span{color:#a4bfa9}.archive-feature-title h3{font-size:clamp(32px,3.1vw,46px);line-height:1.4;margin:24px 0}.archive-feature-title p{font-size:15px;line-height:1.9;max-width:290px;margin:0;color:#d7e2d7}
.archive-feature-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:4px;padding:24px 24px 24px 0}
.archive-feature-images figure{margin:0;min-width:0;overflow:hidden}.archive-feature-images img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}.archive-feature-images figure:hover img{transform:scale(1.04)}
.archive-stories{padding:98px 0 66px}.archive-stories-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid #9eafa0;padding-bottom:17px}.archive-stories-heading p{margin:0;font-size:14px;color:#586c5e}
.archive-story{display:grid;grid-template-columns:34% minmax(0,1fr);gap:4%;padding:40px 0;border-bottom:1px solid #bac8bb;align-items:center}
.archive-story-copy>span{color:#718974}.archive-story-copy h3{font-size:clamp(24px,2.35vw,33px);line-height:1.45;margin:17px 0}.archive-story-copy p{max-width:350px;font-size:15px;line-height:1.9;color:#495d50;margin:0}
.archive-story-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.archive-story-visuals figure{margin:0;background:#d5dcd1;aspect-ratio:9/14;overflow:hidden}.archive-story-visuals img{width:100%;height:100%;display:block;object-fit:cover}
.archive-gallery{background:#dae3da;padding:36px 0 30px}.archive-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 38px 24px}.archive-gallery-heading>div>span{color:#5b715f}.archive-gallery-heading h3{font-size:29px;line-height:1.4;margin:9px 0 5px}.archive-gallery-heading p{font-size:14px;color:#526959;margin:0}.archive-gallery-heading>span{font-size:12px;font-weight:700;color:#526959;white-space:nowrap}
.case-archive .archive-gallery-track{padding:0 38px 13px;scroll-padding-inline:38px}.case-archive .archive-gallery-track figure{flex-basis:clamp(150px,17vw,205px)}
.archive-footnote{font-size:12px;color:#64786a;line-height:1.8;margin:25px 0 0}
@media(max-width:850px){.archive-feature{grid-template-columns:1fr}.archive-feature-title{padding:32px}.archive-feature-title h3 br{display:none}.archive-feature-images{padding:0 25px 25px;height:300px}.archive-story{grid-template-columns:1fr;gap:23px}.archive-story-copy p{max-width:680px}}
@media(max-width:530px){.case-archive .section-head{margin-bottom:44px}.archive-feature-images{height:220px;gap:3px;padding:0 12px 12px}.archive-feature-title{padding:25px}.archive-feature-title h3{font-size:29px;margin:12px 0}.archive-feature-title p{font-size:13px}.archive-stories{padding:62px 0 34px}.archive-stories-heading{display:block}.archive-stories-heading p{margin-top:8px;font-size:12px}.archive-story{padding:29px 0}.archive-story-visuals{gap:6px}.archive-story-copy h3{font-size:24px;margin:10px 0}.archive-story-copy p{font-size:14px}.archive-gallery{padding:25px 0}.archive-gallery-heading{display:block;padding:0 17px 18px}.archive-gallery-heading h3{font-size:24px}.archive-gallery-heading>span{display:block;margin-top:11px;white-space:normal}.case-archive .archive-gallery-track{padding-left:17px;padding-right:17px}.case-archive .archive-gallery-track figure{flex-basis:43vw}}
@media(prefers-reduced-motion:reduce){.archive-feature-images img{transition:none}}
/* Hide the thin light edges included in some supplied posting screenshots. */
.case-archive .archive-feature-images img{transform:scale(1.045)}
.case-archive .archive-feature-images figure:hover img{transform:scale(1.085)}
@media(prefers-reduced-motion:reduce){.case-archive .archive-feature-images img{transition:none}}
