/* ORK mobile navigation and contact panel v1 */
.ork-contact-close{position:absolute;right:12px;top:14px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d6c29a;border-radius:50%;background:#fffdf7;color:#1c1611;cursor:pointer}
.ork-contact-close svg{width:20px;height:20px}
.contactchoices .dockheading{position:relative;padding-right:66px}
.contactchoices>a.ork-contact-link{min-height:58px;font-size:17px;padding:13px 20px;gap:14px}
.contactchoices>a.ork-contact-link svg{width:26px;height:26px;flex:0 0 26px}
.contactchoices .docksocial{display:flex;flex-wrap:wrap;gap:4px 18px;padding:10px 20px}
.contactchoices .docksocial a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.contactchoices{width:320px;max-height:calc(100dvh - 170px);overflow-y:auto;overscroll-behavior:contain}
.contactchoices[hidden]{display:none!important}
@media(max-width:760px){
 header[data-section="header"] .headerrow{display:grid;grid-template-columns:88px minmax(0,1fr) 60px;grid-template-rows:auto auto;align-items:center;gap:12px 8px;min-height:0;padding:14px 0;width:calc(100% - 32px)}
 header[data-section="header"] .headerrow .logo{grid-row:1;grid-column:1/3;width:140px;max-width:none;order:initial;justify-self:start}
 header[data-section="header"] .headerrow .logo img{width:140px;max-width:none;height:auto;display:block}
 header[data-section="header"] .headerphone{grid-row:1;grid-column:2/4;justify-self:end;align-self:center;display:flex;align-items:center;min-height:44px;font-size:18px;line-height:1.2;font-weight:700;letter-spacing:-.35px;white-space:nowrap;order:initial}
 header[data-section="header"] .menubutton{grid-row:2;grid-column:1;display:flex;align-items:center;justify-content:center;gap:7px;justify-self:stretch;height:48px;min-height:48px;padding:0 9px;border-radius:12px;font-size:13px;order:initial}
 header[data-section="header"] .menubutton svg{width:17px;height:17px;flex-shrink:0}
 header[data-section="header"] .headercta{grid-row:2;grid-column:2;display:flex;justify-content:center;min-width:0;height:48px;min-height:48px;padding:8px 9px;border-radius:12px;font-size:13px;line-height:1.2;text-align:center;white-space:normal;order:initial;gap:0}
 header[data-section="header"] .headercta:after{display:none;content:none}
 header[data-section="header"] .langcontrol{grid-row:2;grid-column:3;order:initial;width:60px;margin:0}
 header[data-section="header"] .langselect{width:60px;min-width:0;height:48px;min-height:48px;border-radius:12px;padding:0 7px;font-size:14px}
 header[data-section="header"] .nav{grid-column:1/-1;grid-row:3;max-height:calc(100dvh - 150px);overflow-y:auto;box-shadow:0 14px 22px #1c16110d}
 header[data-section="header"] .nav a{min-height:44px;display:flex;align-items:center}
 .contactdock{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:10px}
 .contactdock .dockbutton{width:52px;height:52px;border-radius:16px}
 .contactdock .contactchoices{position:fixed;left:16px;right:16px;bottom:calc(142px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(100dvh - 166px - env(safe-area-inset-bottom,0px));border-radius:20px;box-shadow:0 14px 48px #1c161129}
 .contactchoices .dockheading{padding:19px 66px 17px 20px;gap:7px}
 .contactchoices .dockheading b{font-size:19px;line-height:1.2}
 .contactchoices .dockheading span{font-size:16px}
 .contactchoices>a.ork-contact-link{min-height:60px;font-size:18px;padding:14px 20px}
}
@media(min-width:761px){.menubutton .ork-menu-icon{display:none}}
@media(max-width:359px){
 header[data-section="header"] .headerrow{width:calc(100% - 24px);grid-template-columns:78px minmax(0,1fr) 54px;gap:10px 6px}
 header[data-section="header"] .headerrow .logo,header[data-section="header"] .headerrow .logo img{width:120px}
 header[data-section="header"] .headerphone{font-size:16px}
 header[data-section="header"] .headercta{font-size:12px}
 header[data-section="header"] .langcontrol,header[data-section="header"] .langselect{width:54px}
}

/* ORK mobile readability v2: shared public components, <= 760 CSS px. */
.contactdock .upbutton[hidden]{display:none!important}
.button:after{content:"";display:inline-block;flex:0 0 18px;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ork-arrow) center/contain no-repeat;mask:var(--ork-arrow) center/contain no-repeat}
:root{--ork-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19 19 5M5 5h14v14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.cardaction>b{font-size:0!important;display:grid;place-items:center}
.cardaction>b:before,.ork-arrow-svg{content:"";display:inline-block;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ork-arrow) center/contain no-repeat;mask:var(--ork-arrow) center/contain no-repeat}
@media(max-width:760px){
 main{min-width:0}
 main .wrap{max-width:calc(100% - 32px)}
 main p,main li{font-size:16px;line-height:1.65}
 main h1{font-size:clamp(30px,8.3vw,42px);line-height:1.12;overflow-wrap:break-word}
 main h2{font-size:clamp(27px,7.5vw,36px);line-height:1.2;overflow-wrap:break-word}
 main h3{line-height:1.3}
 main .button,.hero .button,.packagebottom .button,.servicepricecard .button,.printcard .button,.closingactions>.button{min-height:52px;padding:13px 18px;font-size:16px;line-height:1.35;white-space:normal;gap:14px}
 main .textlink,.cataloglinks a,.artwork-nav a,.servicenav a,.workfilters button,.pricejump a,.pricetabs button{min-height:48px;display:inline-flex;align-items:center;font-size:15px;line-height:1.4}
 main .textlink{padding-block:9px}
 main :is(.offercards,.servicecols,.catalogads,.catalogother,.resultsgrid,.workgrid,.offersteps,.process,.othersgrid,.artwork-formats,.artwork-rules,.servicepricegrid){grid-template-columns:minmax(0,1fr)}
 main :is(.offergrid,.scopegrid,.catalogintro,.catalogheading,.catalogapproach,.resultsintro,.resultsheading,.resultsnext,.workintro,.contactstop,.priceherogrid,.artwork-geometry){grid-template-columns:minmax(0,1fr);gap:24px}
 main :is(.offergrid,.scopegrid,.catalogintro,.catalogads,.resultsgrid,.workgrid,.pricegrid)>*{min-width:0}
 /* Reset the inherited two-column .pricecard mobile layout. */
 main .pricegrid{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;gap:28px}
 main .pricecard.packagecard,main .pricecard.packagecard.featured{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;min-height:0;padding:26px 22px;transform:none!important;overflow-wrap:normal}
 main .packagecard>*{grid-column:auto;grid-row:auto;min-width:0;max-width:100%}
 main .packagehead{min-height:0;margin-bottom:16px}
 main .packagehead h3{font-size:28px;max-width:none;overflow-wrap:break-word}
 main .packagehead p,main .packagestrategy,main .packagescope li{font-size:16px;line-height:1.65}
 main .packagehead .packname{font-size:15px;letter-spacing:.1em}
 main .packageplatforms{align-self:flex-start;font-size:14px;margin:0 0 20px;white-space:normal}
 main .packagecard .price{display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap;white-space:nowrap;font-size:58px;line-height:1.1;letter-spacing:-.04em;word-break:normal;overflow-wrap:normal}
 main .packagecard .price>span{font-size:26px;align-self:baseline;margin:0}
 main .packagemetrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
 main .packagemetrics span,main .packagemetrics small{font-size:14px;line-height:1.5;overflow-wrap:normal}
 main .packagemetrics>div{padding:16px 12px 16px 0}
 main .packagemetrics>div:nth-child(2n){padding-left:14px}
 main .packagescope summary{font-size:16px;min-height:52px}
 main .packageunits,main .notice,main .processnote,main .casemethod,main .printcaption,main .catalognote,main .servicefoot,main .worknote,main .workbottom>p{font-size:14px;line-height:1.65}
 /* Service cards need room for readable labels and substantial hit areas. */
 main .hero .mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:320px;max-width:none;gap:18px}
 main .mosaic .tile.ads,main .mosaic .tile.web,main .mosaic .tile.small,main .mosaic .tile.print{grid-column:1/-1!important;grid-row:auto;min-width:0;min-height:320px}
 main .mosaic .tile .cardhead,main .mosaic .tile.small .cardhead{top:20px;left:22px;right:22px;max-width:none}
 main .mosaic .tile.design .cardhead,main .mosaic .tile.print .cardhead{left:0;right:0;top:0;padding:20px 22px;max-width:none}
 main .mosaic .cardtitle,main .mosaic .tile.small .cardtitle,main .mosaic .tile.print .cardtitle{font-size:29px;line-height:1.15;overflow-wrap:normal}
 main .mosaic .cardaccent,main .mosaic .tile.small .cardaccent{font-size:23px;line-height:1.25}
 main .mosaic .cardsub,main .mosaic .tile.small .cardsub{font-size:13px;line-height:1.5;margin-top:9px}
 main .mosaic .cardaction{left:16px;right:16px;bottom:16px;min-height:50px;font-size:15px;padding:9px 12px 9px 16px}
 main .mosaic .cardaction>b{width:30px;height:30px;flex:0 0 30px}
 main .mosaic .strongplatforms{top:146px;left:24px;right:24px;gap:16px}
 main .mosaic .strongplatforms .brandplate{width:58px;height:58px;border-radius:15px}
 main .mosaic .strongplatforms svg,main .mosaic .strongplatforms .youtube svg,main .mosaic .strongplatforms .meta svg{width:36px;height:36px}
 main .mosaic .strongplatforms small{font-size:12px}
 main .mosaic .tile.design .tilephoto,main .mosaic .tile.print .tilephoto{top:112px;height:calc(100% - 112px);opacity:1;object-position:center}
 main .mosaic .tile.print .cardhead{background:#251e15!important;color:#fff}
 main .values{grid-template-columns:minmax(0,1fr);gap:0}
 main .values .value{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 16px;min-height:0;padding:24px 20px;border-right:0!important;border-bottom:1px solid #ded2bd}
 main .values .value:last-child{border-bottom:0}
 main .values .valueicon{grid-column:1;grid-row:1/3;width:48px;height:48px;margin:0}
 main .values .value h3{grid-column:2;font-size:20px;margin:0}
 main .values .value p{grid-column:2;font-size:16px;line-height:1.6;max-width:none;margin:0}
 main .campaigntext,main .campaignheading p,main .sectionheading p,main .otherbody>p:not(.otheraccent),main .process p,main .faqintro p,main .faqlist details p,main .premiumcopy p{font-size:16px;line-height:1.65}
 main .other{grid-template-columns:minmax(0,1fr)}
 main .faqlist summary{font-size:17px;min-height:56px;grid-template-columns:22px minmax(0,1fr) 25px}
 main .faqlist details p{padding-left:20px;padding-right:20px}
 main .processcard:after{display:none}
 main .stepout,main .adjourney span,main .channeltag,main .caseprimary span,main .caseother dt,main .casefoot p,main .resultsfacts span,main .catalogpoints{font-size:14px;line-height:1.5}
 main .adjourney{flex-wrap:wrap}
 main .casecontrols button,main .partnercontrols button{min-width:48px;min-height:48px}
 main .formgrid{grid-template-columns:minmax(0,1fr)}
 main .contactpanel label,main .contacthint,main .samephone{font-size:15px!important;line-height:1.5}
 main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main select,main textarea{font-size:16px;min-height:48px;max-width:100%}
 main input[type=checkbox],main input[type=radio]{width:22px;height:22px;flex:0 0 22px}
 main .formStatus{font-size:16px!important;line-height:1.6}
 .cookiebanner>p,.consentrow p,.consentdescription,.settingsdialog>p{font-size:16px;line-height:1.6}
 .cookieactions button,.cookieactions .cookieaccept,.settingsactions .button{min-height:48px;font-size:15px}
 .cookielinks button,.cookielinks a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 .businessfooter .footermain{grid-template-columns:minmax(0,1fr)}
 .businessfooter .footerbrand{display:block;grid-column:auto}
 .businessfooter .footerbrand>p{font-size:16px;line-height:1.6;margin-top:16px;max-width:none}
 .businessfooter .footercol>a,.businessfooter .footercol>.footerlink,.businessfooter .footermessengers a,.businessfooter .footersocial a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
 .businessfooter .footercontact .footerphone{font-size:22px}
 .businessfooter .footerhours{grid-column:auto}
 .businessfooter .hoursline span,.businessfooter .footerlegal p,.businessfooter .footerlegal .footerlink,.businessfooter .bankdetails b{font-size:14px;line-height:1.6}
 .businessfooter .footerlegal a,.businessfooter .footerlegal button{min-height:44px;display:inline-flex;align-items:center}
 .businessfooter .companyband{padding:24px 20px}
}
@media(max-width:760px){
 main .packagemetrics .metricnumber{font-size:36px;line-height:1.1}
 main .packagemetrics .metricnumber small{font-size:14px}
 main .revisionincluded,main .pricecaption,main .workcaption>span,main .companydata dt{font-size:14px;line-height:1.5}
 main .caseother{grid-template-columns:minmax(0,1fr);gap:16px}
 main .resultsfacts{grid-template-columns:minmax(0,1fr);gap:18px}
 .cookiebanner{max-height:calc(100dvh - 32px);overflow-y:auto}
}
