/* Integrated Marketing detail page only. */
.page-integrated-marketing{background:var(--paper) url("../images/integrated-marketing/im-paper-texture.png") center top/cover fixed;color:var(--ink)}
.page-integrated-marketing .site-header nav .is-current:after{right:0;background:var(--blue)}
.im-page{overflow:hidden;background:transparent}
.im-page h1,.im-page h2,.im-page h3,.im-page p{overflow-wrap:anywhere}
.im-mobile-only{display:none}
.im-kicker{margin:0 0 12px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.24em}
.im-section{padding:72px 3vw}
.im-section-heading{max-width:1320px;margin:0 auto 34px;text-align:center}
.im-section-heading h2{margin:0;font:800 clamp(35px,3.25vw,58px)/1.3 var(--jp-serif);letter-spacing:-.05em}
.im-section-heading>p:last-child{max-width:850px;margin:18px auto 0;font-size:14px;font-weight:600;line-height:2}
.im-button{width:max-content;min-width:205px;min-height:54px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid currentColor;font-size:12px;font-weight:900;transition:transform .2s,box-shadow .2s}
.im-button:hover{transform:translateY(-3px);box-shadow:6px 7px 0 var(--ink)}
.im-button-light{color:#fff;background:rgba(0,65,155,.22);border-color:rgba(255,255,255,.86)}
.im-button-blue{color:#fff;background:var(--blue);border-color:var(--blue)}

/* Hero: the generated artwork is shown directly, without a CSS color overlay. */
.im-hero{min-height:clamp(820px,55vw,1050px);padding:70px 4.8vw 80px;position:relative;display:flex;align-items:center;color:#fff;background:transparent url("../images/integrated-marketing/im-hero-desktop.png") center/cover no-repeat;isolation:isolate}
.im-hero:before{content:"";position:absolute;z-index:-1;inset:auto -4vw -85px 43%;height:170px;background:var(--paper);clip-path:polygon(0 47%,11% 24%,25% 35%,36% 8%,52% 30%,69% 4%,82% 31%,100% 18%,100% 100%,0 100%)}
.im-hero-copy{width:min(790px,54%);position:relative;z-index:2}
.im-number{margin:0 0 12px;font:800 clamp(66px,5.1vw,94px)/.82 var(--serif)}
.im-service-title{margin:0;font:800 clamp(61px,6.1vw,112px)/.78 var(--serif);letter-spacing:-.065em}
.im-service-title span{display:block}
.im-eyebrow{margin:18px 0 28px;font:800 18px/1 var(--jp-serif);letter-spacing:.08em}
.im-hero-message{margin:0;font:800 clamp(34px,3vw,54px)/1.35 var(--jp-serif);letter-spacing:-.055em}
.im-english{margin:24px 0 17px;font:700 clamp(17px,1.45vw,26px)/1.1 var(--serif);letter-spacing:.1em}
.im-lead{margin:0 0 30px;font-size:14px;font-weight:600;line-height:2}
.im-handnote{position:absolute;z-index:2;left:48%;top:47%;margin:0;padding:18px 24px;color:var(--cobalt);background:rgba(255,250,240,.94);font:700 clamp(20px,1.8vw,30px)/1.05 "Segoe Print","Bradley Hand",cursive;font-style:italic;transform:rotate(-7deg);clip-path:polygon(4% 4%,97% 0,100% 91%,6% 100%,0 38%)}
.im-origin-note{position:absolute;z-index:2;right:4.2%;bottom:10%;margin:0;color:var(--cobalt);font:700 clamp(16px,1.55vw,27px)/1.08 "Segoe Print","Bradley Hand",cursive;font-style:italic;transform:rotate(-6deg)}

/* Challenge */
.im-challenge{padding-top:112px;padding-bottom:62px;background:transparent;position:relative}
.im-challenge:before,.im-challenge:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;opacity:.08;background:repeating-conic-gradient(var(--ink) 0 4deg,transparent 4deg 12deg)}
.im-challenge:before{left:-150px;top:65px}.im-challenge:after{right:-150px;bottom:10px}
.im-pain-grid{width:92vw;max-width:1680px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}
.im-pain-grid article{min-height:250px;padding:30px 38px;background:rgba(255,253,248,.72);border:1px solid rgba(7,26,43,.13);box-shadow:0 16px 35px rgba(7,26,43,.06);text-align:center;backdrop-filter:blur(1px)}
.im-icon,.im-service-icon{display:block;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain}
.im-icon{width:76px;height:76px;margin:0 auto 12px}
.im-icon-audience{background-image:url("../images/integrated-marketing/im-icon-audience.png")}
.im-icon-channel{background-image:url("../images/integrated-marketing/im-icon-channel.png")}
.im-icon-growth{background-image:url("../images/integrated-marketing/im-icon-growth.png")}
.im-pain-grid h3{margin:0 0 15px;font:800 19px/1.55 var(--jp-serif)}
.im-pain-grid p{margin:0;font-size:12px;font-weight:600;line-height:1.9}

/* Value */
.im-value{min-height:520px;padding:82px 9vw 92px;position:relative;color:#fff;background:transparent url("../images/integrated-marketing/im-blue-paper.png") center/cover no-repeat;clip-path:polygon(0 4%,13% 1%,26% 4%,42% 0,55% 3%,72% 1%,88% 4%,100% 1%,100% 97%,86% 100%,72% 97%,55% 100%,39% 97%,22% 100%,0 97%)}
.im-value:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,54,130,.08),transparent 25% 75%,rgba(0,54,130,.08))}
.im-value-head,.im-value-grid{position:relative;z-index:2}
.im-value-head{max-width:1100px;margin:0 auto 45px;text-align:center}
.im-value .im-kicker{color:#fff}
.im-value h2{margin:0;font:800 clamp(34px,3.8vw,59px)/1.35 var(--jp-serif);letter-spacing:-.05em}
.im-value-grid{max-width:1360px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr)}
.im-value-grid article{padding:6px 40px 10px;border-right:1px solid rgba(255,255,255,.42)}
.im-value-grid article:last-child{border-right:0}
.im-value-grid b{font:800 54px/1 var(--serif)}
.im-value-grid h3{margin:8px 0 17px;font:800 27px/1.2 var(--jp-serif)}
.im-value-grid p{margin:0;font-size:12px;font-weight:600;line-height:1.9}
.im-value-collage{position:absolute;z-index:1;display:block;background-repeat:no-repeat;background-size:contain;pointer-events:none}
.im-value-left{left:-35px;bottom:-20px;width:360px;height:470px;background-image:url("../images/integrated-marketing/im-value-flower-left.png");background-position:left bottom}
.im-value-right{right:-35px;bottom:-20px;width:330px;height:440px;background-image:url("../images/integrated-marketing/im-value-tropical-right.png");background-position:right bottom}
.im-value-note{position:absolute;z-index:3;right:7.5%;top:34%;margin:0;color:#fff;font:700 clamp(18px,1.7vw,29px)/1.05 "Segoe Print","Bradley Hand",cursive;font-style:italic;transform:rotate(-8deg)}

/* Philosophy */
.im-philosophy{padding-top:78px;padding-bottom:72px}
.im-life-grid{width:94vw;max-width:1740px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.im-life-grid article{min-height:430px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:#fff;background-size:cover;background-position:center;isolation:isolate}
.im-life-grid article:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(7,26,43,.83),rgba(7,26,43,.04) 68%)}
.im-life-fashion{background-image:url("../images/integrated-marketing/im-life-fashion.png")}
.im-life-food{background-image:url("../images/integrated-marketing/im-life-food.png")}
.im-life-living{background-image:url("../images/integrated-marketing/im-life-living.webp")}
.im-life-time{background-image:url("../images/integrated-marketing/im-life-time.webp")}
.im-life-grid article>span{font:800 63px/.9 var(--jp-serif)}
.im-life-grid h3{margin:8px 0 3px;font:700 19px var(--serif);letter-spacing:.08em}
.im-life-grid p{margin:0;font-size:12px;font-weight:700}

/* Services */
.im-services{padding-top:70px;padding-bottom:72px;background:rgba(246,238,220,.42)}
.im-service-grid{width:94vw;max-width:1740px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(7,26,43,.15);border:1px solid rgba(7,26,43,.15)}
.im-service-grid article{min-height:345px;padding:34px;background:rgba(255,250,240,.62);position:relative;backdrop-filter:blur(1px)}
.im-service-icon{width:70px;height:70px}
.im-icon-crossmedia{background-image:url("../images/integrated-marketing/im-icon-crossmedia.png")}
.im-icon-communication{background-image:url("../images/integrated-marketing/im-icon-communication.png")}
.im-icon-ecommerce{background-image:url("../images/integrated-marketing/im-icon-ecommerce.png")}
.im-icon-event{background-image:url("../images/integrated-marketing/im-icon-event.png")}
.im-service-grid h3{margin:25px 0 18px;font:800 19px/1.6 var(--jp-serif)}
.im-service-grid p{margin:0;font-size:12px;font-weight:600;line-height:1.95}
.im-service-grid article:after{content:"→";position:absolute;right:22px;bottom:17px;color:var(--blue);font-size:20px;font-weight:900}

/* Process */
.im-process{padding:72px 2vw 82px;background:transparent}
.im-process-grid{width:96vw;display:grid;grid-template-columns:repeat(4,1fr);max-width:1800px;margin:auto}
.im-step{min-width:0;color:var(--ink);background:#f2eadc}
.im-step>div:first-child{min-height:172px;padding:26px 28px 20px}
.im-step b{font:800 48px/.9 var(--serif)}
.im-step h3{margin:7px 0 4px;font:800 clamp(22px,2.05vw,34px)/.95 var(--serif)}
.im-step span{font-size:12px;font-weight:900}
.im-process-image{height:230px;background-size:cover;background-position:center}
.im-step-1 .im-process-image{background-image:url("../images/integrated-marketing/im-process-analysis.webp")}
.im-step-2 .im-process-image{background-image:url("../images/integrated-marketing/im-process-journey.webp")}
.im-step-3 .im-process-image{background-image:url("../images/integrated-marketing/im-process-execution.png")}
.im-step-4 .im-process-image{background-image:url("../images/integrated-marketing/im-process-optimization.png")}
.im-step>p{min-height:160px;margin:0;padding:24px 25px 30px;font-size:11px;font-weight:650;line-height:1.9}
.im-step-2{color:#fff;background:#087ed8}.im-step-3{color:#fff;background:#00a9c9}.im-step-4{background:var(--yellow)}

/* CTA */
.im-contact{min-height:430px;padding:62px 4vw;display:flex;align-items:center;position:relative;background:transparent url("../images/integrated-marketing/im-cta-okinawa-coast.webp") center/cover no-repeat;isolation:isolate}
.im-contact:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:-22px;height:45px;background:var(--paper);clip-path:polygon(0 40%,12% 8%,28% 45%,41% 0,58% 37%,73% 7%,86% 42%,100% 3%,100% 100%,0 100%)}
.im-contact-copy{width:min(720px,60%);position:relative;z-index:2}
.im-contact h2{margin:0 0 20px;font:800 clamp(33px,3.8vw,58px)/1.4 var(--jp-serif);letter-spacing:-.05em}
.im-contact-copy>p:not(.im-kicker){margin:0 0 28px;font-size:13px;font-weight:600;line-height:2}
.im-contact-note{position:absolute;left:49%;top:26%;margin:0;padding:14px 18px;color:var(--cobalt);background:rgba(255,250,240,.85);font:700 clamp(23px,2.25vw,38px)/1.08 "Segoe Print","Bradley Hand",cursive;font-style:italic;transform:rotate(-8deg)}
.page-integrated-marketing footer{min-height:154px;padding:30px 3.5vw 16px}

@media(max-width:980px){
  .im-hero{min-height:760px}.im-hero-copy{width:63%}.im-handnote{left:auto;right:3%;top:50%}.im-origin-note{display:none}
  .im-life-grid,.im-service-grid,.im-process-grid{grid-template-columns:repeat(2,1fr)}
  .im-contact-copy{width:70%}.im-contact-note{left:auto;right:3%}
}

@media(max-width:700px){
  .im-mobile-only{display:block}.im-section{padding:65px 20px}.im-kicker{font-size:9px}
  .im-section-heading{margin-bottom:30px;text-align:left}.im-section-heading h2{font-size:34px}.im-section-heading>p:last-child{font-size:12px;line-height:1.9}
  .im-hero{min-height:1040px;padding:36px 20px 400px;align-items:flex-start;background-image:url("../images/integrated-marketing/im-hero-mobile.png");background-position:center;background-size:cover}
  .im-hero:before{left:-10%;right:-10%;bottom:-45px;height:110px}
  .im-hero-copy{width:100%}.im-number{font-size:48px}.im-service-title{font-size:clamp(48px,14vw,65px)}.im-eyebrow{margin:14px 0 22px;font-size:14px}.im-hero-message{font-size:clamp(25px,6.8vw,30px)}.im-english{font-size:14px}.im-lead{font-size:12px}.im-lead br{display:none}.im-button{min-width:190px}
  .im-handnote{left:auto;right:14px;top:auto;bottom:205px;font-size:18px;padding:16px 18px}.im-origin-note{display:none}
  .im-challenge{padding-top:95px}.im-pain-grid{grid-template-columns:1fr;gap:14px}.im-pain-grid article{min-height:0;padding:26px 22px}.im-icon{width:64px;height:64px}
  .im-value{min-height:0;padding:68px 28px 76px;clip-path:polygon(0 1%,24% 0,48% 2%,73% 0,100% 2%,100% 99%,74% 98%,48% 100%,23% 98%,0 100%)}.im-value-head{text-align:left}.im-value h2{font-size:34px}.im-value-grid{grid-template-columns:1fr}.im-value-grid article{padding:24px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.4)}.im-value-grid article:last-child{border-bottom:0}.im-value-grid b{font-size:43px}.im-value-collage,.im-value-note{display:none}
  .im-life-grid,.im-service-grid,.im-process-grid{grid-template-columns:1fr}.im-life-grid article{min-height:430px}.im-service-grid article{min-height:275px}
  .im-process{padding:65px 12px 80px}.im-process .im-section-heading{padding-inline:8px}.im-step>div:first-child{min-height:135px}.im-process-image{height:225px}.im-step>p{min-height:0}
  .im-contact{min-height:660px;padding:58px 20px 290px;align-items:flex-start;background-position:center bottom}.im-contact-copy{width:100%}.im-contact h2{font-size:34px}.im-contact-copy>p:not(.im-kicker){font-size:12px}.im-contact-note{left:auto;right:18px;top:auto;bottom:110px;padding:10px 12px;font-size:22px}
  .page-integrated-marketing footer{min-height:190px;padding:36px 20px 18px}
}

@media(prefers-reduced-motion:reduce){.im-button{transition:none}}
