
.hy-card-caption>.ddc-arrow{margin-bottom:3px}
.hy-call{top:54%;height:45%}
.hy-chat{top:51%;height:45%}
@media(min-width:1101px){.hy-hero{padding-bottom:54px}}
@media(max-width:1100px){
 .hy-card-caption h2{font-size:22px}
 .hy-web .hy-card-caption h2{font-size:25px}
 .hy-card-caption p{font-size:8px;letter-spacing:.055em}
 .hy-card-caption{gap:9px}
}
@media(min-width:561px) and (max-width:800px){
 .hy-scene{aspect-ratio:1.06}
 .hy-card-caption h2{font-size:25px}
 .hy-web .hy-card-caption h2{font-size:29px}
 .hy-card-caption p{font-size:9px}
}
@media(max-width:560px){
 .hy-scene{aspect-ratio:.84;margin-top:34px}
 .hy-web{height:46%}
 .hy-call{top:54%;height:43%}
 .hy-chat{top:51%;height:43%}
 .hy-card-caption{padding-top:11px;gap:7px}
 .hy-card-caption h2{font-size:18px;line-height:1.18;letter-spacing:-.035em;margin-top:7px}
 .hy-chat .hy-card-caption h2{font-size:17px}
 .hy-web .hy-card-caption h2{font-size:22px;max-width:250px}
 .hy-card-caption p,.hy-web .hy-card-caption p{font-size:7px;letter-spacing:.055em;line-height:1.5;margin:0}
 .hy-call-art{min-height:48px}
 .hy-chat-art{min-height:48px}
 .hy-bubble{min-height:25px}
 .hy-web-mark{max-height:67px}
 .hy-call .hy-card-caption>.ddc-arrow,.hy-chat .hy-card-caption>.ddc-arrow{top:12px;right:12px;width:13px;height:13px}
}
@media(max-width:370px){
 .hy-card-caption h2{font-size:17px}
 .hy-web .hy-card-caption h2{font-size:21px}
 .hy-card-caption p,.hy-web .hy-card-caption p{font-size:6.5px}
}

/* Keep the desktop composition intentional instead of stretching every card. */
@media(min-width:801px){.hy-scene{width:100%;max-width:660px;justify-self:center}}
.hy-web{border-color:#dce5ef}
.hy-chat{background:linear-gradient(145deg,#e4f7f8,#cbe9ed);border-color:#b9dce3}
.hy-chat .hy-bubble-back{background:var(--cyan)}
.hy-chat .hy-bubble-back span{background:#3159b880}
.hy-call{width:50%;height:46%;top:53%}
.hy-chat{width:39%;height:40%;top:57%;right:1%}
.hy-chat .hy-card-caption h2{font-size:clamp(20px,1.5vw,23px)}
@media(max-width:560px){
 .hy-call{width:48%;height:46%;left:2%;top:53%}
 .hy-chat{width:44%;height:42%;right:0;top:56%;padding:14px}
 .hy-chat .hy-card-caption h2{font-size:16px;letter-spacing:-.04em}
}
@media(max-width:370px){.hy-chat{width:45%;padding:12px}.hy-chat .hy-card-caption h2{font-size:15px}}

/* Shared editorial language for V4's interior pages. All copy stays in HTML. */
.ip-hero{padding-top:82px;padding-bottom:86px;position:relative}
.ip-eyebrow{font-size:11px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:26px}
.ip-title{font-size:clamp(52px,7.5vw,108px);line-height:1.04;letter-spacing:-.065em;font-weight:700;max-width:13ch;margin:0}
.ip-title span,.ip-heading span{color:var(--blue)}
.ip-lead{font-size:17px;line-height:1.85;letter-spacing:-.015em;max-width:42em;color:var(--muted);margin-top:30px}
.ip-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}
.ip-section{padding-top:100px;padding-bottom:100px}
.ip-heading{font-size:clamp(34px,4.8vw,67px);line-height:1.13;letter-spacing:-.045em;font-weight:600;margin:0}
.ip-copy{font-size:16px;line-height:1.85;color:var(--muted);max-width:43em}
.ip-copy p+p{margin-top:18px}.ip-copy p,.ip-copy li{line-height:1.85}
.ip-copy h3{font-size:25px;line-height:1.25;letter-spacing:-.035em;color:var(--ink);margin-bottom:16px}
.ip-heading+.ip-copy,.ip-heading+p.ip-copy{margin-top:26px}
.ip-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.ip-rule{border-top:1px solid var(--line)}
.ip-note{font-size:12px;line-height:1.8;color:var(--muted)}
.ip-dark{background:var(--night);color:var(--night-text);border-radius:24px;position:relative;isolation:isolate;margin:0 16px;--line:var(--night-line)}
.ip-dark .ip-lead,.ip-dark .ip-copy,.ip-dark .ip-note{color:var(--night-muted)}
.ip-dark .ip-heading span,.ip-dark .ip-title span{color:var(--blue-light)}
.ip-dark .ip-eyebrow{color:var(--cyan)}
.ip-dark .ip-copy h3{color:var(--night-text)}
.ip-faq details{border-top:1px solid var(--line);padding:0}
.ip-faq details:last-child{border-bottom:1px solid var(--line)}
.ip-faq summary{position:relative;list-style:none;cursor:pointer;font-size:18px;font-weight:600;line-height:1.5;padding:25px 40px 25px 0;letter-spacing:-.025em}
.ip-faq summary::-webkit-details-marker{display:none}.ip-faq summary:after{content:'+';position:absolute;right:6px;top:22px;font-weight:400;font-size:26px;color:var(--blue)}
.ip-faq details[open] summary:after{content:'−'}.ip-faq details>p,.ip-faq details>div{font-size:15px;line-height:1.85;color:var(--muted);padding-bottom:26px;max-width:55em}
.ip-dark .ip-faq details>p{color:var(--night-muted)}
.ip-cta{padding:70px 0;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--line)}
.ip-cta .ip-heading{max-width:15ch}.ip-cta>div>p{margin-top:18px}.ip-cta .ddc-pill{flex-shrink:0}
.ip-reveal{transition:opacity .7s ease,translate .9s var(--ease)}.ip-reveal.ip-pending{opacity:0;translate:0 28px}
.ddc-motion .ip-hero>.ip-eyebrow,.ddc-motion .ip-hero>.ip-service,.ddc-motion .ip-hero>.ip-title,.ddc-motion .ip-hero>.ip-lead{animation:ip-enter .85s var(--ease) both}.ddc-motion .ip-hero>.ip-title{animation-delay:.08s}.ddc-motion .ip-hero>.ip-lead{animation-delay:.16s}
@keyframes ip-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ddc-motion-paused .ip-reveal,.ddc-motion-paused .ip-pending{opacity:1;translate:none;transition:none}.ddc-motion-paused .ip-hero>*{animation:none!important}
@media(max-width:1100px){.ip-hero{padding-top:65px;padding-bottom:65px}.ip-section{padding-top:76px;padding-bottom:76px}.ip-split{gap:40px}.ip-title{font-size:clamp(52px,8vw,90px)}.ip-lead{font-size:16px}.ip-copy{font-size:15px}}
@media(max-width:800px){.ip-title{font-size:clamp(50px,10vw,78px)}.ip-hero{padding-top:48px;padding-bottom:54px}.ip-split{grid-template-columns:1fr;gap:36px}.ip-section{padding-top:60px;padding-bottom:60px}.ip-dark{margin:0 8px;border-radius:18px}.ip-dark .ddc-wrap{width:calc(100% - 40px)}.ip-cta{padding:48px 0}.ip-heading{font-size:clamp(33px,6vw,50px)}}
@media(max-width:560px){.ip-title{font-size:clamp(44px,12.5vw,68px);letter-spacing:-.055em}.ip-eyebrow{font-size:9px;margin-bottom:22px}.ip-lead{font-size:15px;line-height:1.8;margin-top:24px}.ip-copy{font-size:14px;line-height:1.8}.ip-actions{gap:18px;margin-top:26px}.ip-actions .ddc-pill{font-size:12px;padding:16px 19px;gap:20px}.ip-heading{font-size:clamp(32px,8.8vw,46px)}.ip-faq summary{font-size:16px;padding-top:22px;padding-bottom:22px}.ip-faq details>p{font-size:14px}.ip-cta{align-items:flex-start;flex-direction:column;gap:26px}.ip-cta .ddc-pill{font-size:12px}.ip-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ip-reveal,.ip-pending{opacity:1!important;translate:none!important;transition:none!important}.ip-hero>*{animation:none!important}}
/* Native block-editor and plugin content in the general page template. */
.ddc-prose h4,.ddc-prose h5,.ddc-prose h6{font-weight:600;line-height:1.35;letter-spacing:-.025em;margin:1.8em 0 .6em}.ddc-prose h4{font-size:1.25em}.ddc-prose h5{font-size:1.1em}.ddc-prose h6{font-size:1em}.ddc-prose table{display:block;max-width:100%;overflow-x:auto}.ddc-prose form{max-width:100%;margin:2em 0}.ddc-prose label{display:block;margin:1em 0 .4em;font-size:.9em;font-weight:600}.ddc-prose input:not([type=checkbox]):not([type=radio]):not([type=submit]),.ddc-prose select,.ddc-prose textarea{display:block;width:100%;max-width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;font:inherit}.ddc-prose input:focus-visible,.ddc-prose select:focus-visible,.ddc-prose textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.ddc-prose input[type=submit]{display:inline-block;padding:14px 22px;background:var(--blue-strong);border:0;border-radius:30px;color:#fff;font:inherit;cursor:pointer}.ddc-dark .ddc-prose input,.ddc-dark .ddc-prose select,.ddc-dark .ddc-prose textarea{border-color:var(--night-line)}

.ddc-nav>a.ddc-mobile-start{display:none}.v4-project-visual:not(:has(img)){display:none}
@media(max-width:800px){.ddc-nav>a.ddc-mobile-start{display:flex;align-items:center;justify-content:space-between;color:var(--blue-strong);border-bottom:0}.ddc-mobile-start .ddc-arrow{width:18px;height:18px}}
/* Service name above the creative hero headline (November 5, 2026). Graham felt
   the headline alone didn't say which service the page is about, so the old
   small label is now the page's h1 and reads as a title; the headline below it
   keeps its look. The two squares echo the logo. AI Calling keeps its Beacon
   mark instead (.ip-service-icon). */
.ip-service{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding-left:40px;margin-bottom:30px;font-size:clamp(24px,2.1vw,30px);line-height:1.15;font-weight:700;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.ip-service:before,.ip-service:after{content:'';position:absolute;width:15px;height:15px;border-radius:2px;pointer-events:none}
.ip-service:before{left:0;top:calc(.575em - 11px);background:var(--cyan)}
.ip-service:after{left:9px;top:calc(.575em - 4px);background:var(--blue);mix-blend-mode:multiply}
.ip-service-detail{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:0;color:var(--muted);padding-left:16px;border-left:1px solid #20222933}
.ip-service-icon{padding-left:0;margin-bottom:0}
.ip-service-icon:before,.ip-service-icon:after{content:none}
@media(max-width:1240px){.ip-service-detail-wide{flex-basis:100%;padding-left:0;border-left:0}}
@media(max-width:800px){.ip-service{font-size:21px;gap:4px 12px;padding-left:31px;margin-bottom:20px}.ip-service:before,.ip-service:after{width:12px;height:12px}.ip-service:before{top:calc(.575em - 9px)}.ip-service:after{left:7px;top:calc(.575em - 4px)}.ip-service-detail{font-size:12.5px;padding-left:12px}.ip-service-icon{padding-left:0;margin-bottom:0}}