:root{--ink:#171717;--paper:#fafaf7;--lime:#d9ff57;--blue:#c9edfc;--pink:#ffcee6;--line:#252525;--serif:"Instrument Serif",Georgia,serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "DM Sans",Arial,sans-serif}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a12665;outline-offset:4px}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3,figcaption{font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.025em}
h1{font-size:clamp(49px,6vw,91px)}
h2{font-size:clamp(40px,5vw,74px)}
h3,figcaption{font-size:clamp(28px,3vw,42px)}
.wrap{max-width:1440px;margin:auto;padding:0 clamp(18px,4vw,58px)}
.eyebrow,.breadcrumbs{font:11px/1.5 var(--mono);letter-spacing:.075em;text-transform:uppercase}
.link-icon{width:18px;height:18px;vertical-align:middle;flex:none}
header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.logo img{display:block;width:clamp(148px,16vw,222px);height:auto}
header nav{display:flex;align-items:center;gap:clamp(10px,1.6vw,23px)}
header nav a{font-size:13px;text-decoration:none;white-space:nowrap}
header nav a:hover{text-decoration:underline;text-underline-offset:4px}
.quote-btn,.primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:11px 15px;border:1px solid var(--line);text-decoration:none}
.quote-btn{background:var(--lime);font:12px/1.35 var(--mono);white-space:nowrap}
.primary-cta{align-self:start;justify-self:start;min-height:48px;padding:12px 20px;background:var(--ink);color:white;font-weight:700;font-size:14px;border-radius:3px}
.quote-btn:hover,.primary-cta:hover{background:var(--pink);color:var(--ink)}
.mobile-menu{display:none}
.breadcrumbs{padding:15px 0;border-bottom:1px solid var(--line)}
.apple-hero{display:grid;grid-template-columns:1.04fr 1fr;border-bottom:1px solid var(--line)}
.hero-copy{min-width:0;padding:clamp(32px,6vw,84px) clamp(18px,3vw,42px) clamp(32px,6vw,84px) 0;display:grid;align-content:center;gap:22px}
.intro{max-width:52ch;font-size:clamp(16px,1.5vw,19px)}
.hero-art{min-width:0;display:grid;align-items:center;background:#f9f6ef;border-left:1px solid var(--line)}
.hero-art img{display:block;width:100%;height:auto}
.text-link{text-underline-offset:4px}
.band,.aso-portfolio{padding-top:clamp(52px,7vw,90px);scroll-margin-top:18px}
.section-head,.aso-compact-heading{display:grid;grid-template-columns:1.55fr 1fr;align-items:end;gap:16px 42px;margin-bottom:25px}
.section-head>p,.aso-compact-heading>p{max-width:43ch}
.aso-compact-heading h2{margin-top:10px}
.aso-compact-heading em{font-style:normal}
.placement-grid,.two-grid,.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.placement,.two-grid article,.match-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(18px,3vw,38px);min-width:0}
.placement{display:grid;grid-template-columns:minmax(68px,112px) minmax(0,1fr);gap:clamp(12px,2vw,25px);align-items:center}
.today,.two-grid article:first-child{background:var(--pink)}
.search,.two-grid article:last-child{background:var(--blue)}
.results{background:var(--lime)}
.products{background:#fff}
.placement-copy p,.two-grid p{margin-top:10px}
.placement-copy .eyebrow{font-size:10px}
.store-mock{min-width:0;aspect-ratio:3/5;display:flex;flex-direction:column;gap:6%;padding:10%;border:2px solid var(--ink);border-radius:16px;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.store-mock i{display:block;height:5%;width:45%;margin:0 auto;background:var(--ink);border-radius:10px}
.store-mock span{height:18%;border-radius:4px;background:#edece9;border:1px solid #b6b3ad}
.store-mock .search-field{height:11%;background:#fff}
.store-mock .ad-slot{height:20%;border:1px solid var(--ink);background:var(--blue)}
.today .ad-slot{height:42%;background:var(--pink)}
.results .ad-slot{background:var(--lime)}
.products .ad-slot{background:#ffc7a9}
.aso-portfolio-grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:16px 20px;padding:28px 0 34px;border-block:1px solid var(--line)}
.aso-portfolio-icon{display:grid;place-items:center}
.aso-portfolio-icon img{width:min(100%,76px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:14px;filter:grayscale(1);opacity:.68;transition:opacity .22s,filter .22s}
.aso-portfolio-icon:hover img{filter:grayscale(0);opacity:1}
.minor-heading{margin:28px 0 16px}
.match-grid{grid-template-columns:repeat(3,minmax(0,1fr));background:white}
.match-grid dt,.structure strong{font-weight:700;margin-bottom:6px}
.structure{border-top:1px solid var(--line)}
.structure>div{display:grid;grid-template-columns:minmax(120px,1fr) 3fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.aso-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,48px);align-items:start}
.text-link{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:700}
.flow-figure{padding:clamp(15px,3vw,30px);background:#fff;border:1px solid var(--line);box-shadow:4px 4px 0 var(--ink)}
.flow-figure{background:#f0f5e4;text-align:center}
@media(max-width:1100px){.aso-portfolio-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:800px){.aso-portfolio-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:16px}}
@media(max-width:1180px){
  header{flex-wrap:wrap}
  header nav{order:3;width:100%;flex-wrap:wrap}
  .js .mobile-menu{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;margin-left:auto;background:transparent;border:1px solid var(--line);font:12px var(--mono)}
  .mobile-menu svg{width:19px;height:19px}
  .js header nav:not(.is-open){display:none}
}
@media(max-width:760px){
  .apple-hero,.section-head,.aso-compact-heading,.aso-grid{grid-template-columns:1fr}
  .hero-copy{padding-right:0}
  .hero-art{border-left:0;border-top:1px solid var(--line)}
  .placement-grid,.match-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  header>.quote-btn{width:100%}
  h1{font-size:clamp(42px,10.6vw,52px)}
  .two-grid,.structure>div{grid-template-columns:1fr}
  .structure>div{gap:0}
  .aso-portfolio-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aso-portfolio-icon img{transition:none}}

/* Spacing and hierarchy shared by the service sections. */
.wrap{max-width:1340px}
.apple-hero{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,58px);padding:clamp(27px,5vw,66px) 0}
.hero-copy{padding:0;gap:20px}
.hero-art{border:0;background:var(--paper);isolation:isolate}
.hero-art img{mix-blend-mode:multiply}
.band,.aso-portfolio{padding-top:clamp(48px,6.5vw,88px)}
.section-head,.aso-compact-heading{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:14px clamp(20px,5vw,70px);margin-bottom:26px}
.section-head>p,.aso-compact-heading>p{padding-top:5px;max-width:42ch;color:#494944}
h2{font-size:clamp(38px,4.3vw,66px)}
h3,figcaption{font-size:clamp(28px,2.9vw,40px)}
.placement-grid,.two-grid,.match-grid{gap:14px;border:0}
.placement,.two-grid article,.match-grid>div{border:1px solid #d8d8cf;border-radius:6px;background:#fff}
.placement{grid-template-columns:minmax(60px,92px) minmax(0,1fr);gap:clamp(14px,2.4vw,28px)}
.placement-copy p,.two-grid p{margin-top:8px}
.placement-copy .eyebrow{margin-top:12px;color:#454540}
.store-mock{border-width:1px;border-radius:12px;box-shadow:none;background:#fafaf7}
.aso-portfolio-grid{border-color:#d8d8cf}
.match-grid{background:transparent}
.structure{border-color:#d8d8cf}
.structure>div{padding:15px 0;border-color:#d8d8cf}
.aso-heading h2{max-width:22ch}
.aso-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.flow-figure{background:#fff;border:1px solid #d8d8cf;border-radius:6px;box-shadow:none;text-align:left}
.flow-figure{background:#f2f5e9}
.aso-flow{display:grid;gap:14px;margin:20px 0;padding:0;list-style:none}
.aso-flow li{position:relative;padding:13px 15px;border:1px solid #d3dacf;border-left:4px solid #9cbd55;border-radius:4px;background:#fff}
.aso-flow li:nth-child(2){border-left-color:#79bcd9}
.aso-flow li:nth-child(3){border-left-color:#d48eb1}
.aso-flow li+li::before{content:"";position:absolute;left:15px;top:-15px;width:1px;height:14px;background:#7e8974}
.aso-flow strong,.aso-flow span{display:block}
.aso-flow span,.flow-note{font-size:14px;color:#494944}
.flow-note{padding-top:12px;border-top:1px solid #d3dacf}
.aso-benefits>div{padding:0 0 12px}
.aso-benefits>div+div{padding-top:12px;border-top:1px solid #d8d8cf}
.aso-benefits dt{font-weight:700;margin-bottom:3px}
.aso-benefits dd{color:#494944}
.aso-summary{max-width:75ch;margin:18px 0 9px}
@media(max-width:760px){
  .apple-hero,.section-head,.aso-compact-heading,.aso-grid{grid-template-columns:1fr}
  .section-head>p,.aso-compact-heading>p{padding-top:0}
  .hero-art img{max-height:480px;object-fit:contain}
}
@media(max-width:480px){
  .two-grid{grid-template-columns:1fr}
  .placement{grid-template-columns:62px minmax(0,1fr)}
}

.attribution-note{max-width:76ch;margin-top:16px;color:#494944}
.contact{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(42px,6vw,78px);padding:clamp(28px,4vw,50px) clamp(20px,4vw,50px) clamp(38px,5vw,60px);background:#d9ff57}
.contact::after{content:"";position:absolute;z-index:-1;right:clamp(-116px,-6vw,-58px);bottom:clamp(-122px,-6vw,-56px);width:clamp(145px,17vw,244px);aspect-ratio:1;border-radius:50%;background:#ed8dd1;pointer-events:none}
.contact h2{font-size:clamp(42px,9vw,135px);line-height:.92;margin:clamp(22px,3vw,30px) 0 clamp(28px,4vw,45px)}
.contact .email{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding-bottom:4px;border-bottom:1px solid;font:clamp(23px,4vw,53px)/1.1 var(--serif);text-decoration:none;overflow-wrap:anywhere}
.contact p{margin-top:10px;font-size:13px}
.contact .primary-cta{margin-top:27px;gap:22px}
footer{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:36px 0 28px;font-size:12px;line-height:1.7}
.footer-socials,.small-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.footer-socials{margin-top:20px}
.small-links a{text-decoration:none}
.small-links a:hover{text-decoration:underline;text-underline-offset:3px}
.social-icon{display:inline-grid;place-items:center;width:48px;height:48px;border:1.5px solid #242424;border-radius:10px;box-shadow:3px 3px 0 #242424}
.social-facebook{background:#d9e9fd}
.social-linkedin{background:#edddf5}
.social-twitter{background:#e2efd1}
.social-icon svg{width:20px;height:20px;fill:var(--ink)}
@media(max-width:700px){
  .contact h2{font-size:clamp(41px,10vw,68px);line-height:1}
  .contact .email{font-size:clamp(20px,5.7vw,35px)}
  footer{flex-direction:column;padding-top:26px}
  .social-icon{width:42px;height:42px}
}

.home-faq{padding-bottom:0}
.home-faq .section-head{padding-top:70px;padding-bottom:36px}
.home-faq-list{border-bottom:1px solid var(--line)}
.home-faq details{border-top:1px solid var(--line)}
.home-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;padding:24px 0;font-size:clamp(17px,1.7vw,22px);font-weight:600;line-height:1.45;cursor:pointer;list-style:none}
.home-faq summary::-webkit-details-marker{display:none}
.home-faq summary::after{content:"";flex:0 0 28px;width:28px;height:28px;background:linear-gradient(var(--ink),var(--ink)) center/14px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) center/2px 14px no-repeat;border:1px solid var(--ink);border-radius:50%}
.home-faq details[open] summary::after{background:linear-gradient(var(--ink),var(--ink)) center/14px 2px no-repeat;background-color:var(--lime)}
.home-faq summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.home-faq summary:hover::after{background-color:var(--lime)}
.home-faq .home-faq-answer{max-width:880px;padding:0 52px 28px 0;font-size:16px;line-height:1.8}
.home-faq .home-faq-answer p{margin:0}
.home-faq .home-faq-answer p+p{margin-top:1em}
.home-faq .home-faq-answer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.home-faq .section-head{padding-top:48px;padding-bottom:28px}.home-faq summary{min-height:76px;padding:20px 0;gap:16px;font-size:17px}.home-faq .home-faq-answer{padding-right:0;font-size:15px}}

.apple-header{padding:clamp(25px,3.7vw,49px) 0;gap:24px}
.apple-header .logo img{width:clamp(160px,19vw,252px)}
.apple-header #main-nav{gap:clamp(15px,2.2vw,31px)}
.apple-header #main-nav a{font-size:14px}
.apple-header #main-nav a:last-child{display:inline-flex;align-items:center;gap:8px}
.breadcrumbs{padding:22px 0 0;border:0;font:12px/1.5 "DM Sans",Arial,sans-serif;letter-spacing:normal;text-transform:none}
.home-faq .section-head{grid-template-columns:minmax(0,1fr) minmax(0,365px);align-items:end;border-top:1px solid var(--line);padding:0 0 28px;margin-bottom:0}
.home-faq .section-head h2{font-size:clamp(48px,6.2vw,85px);line-height:.94}
.home-faq .section-head>p{padding:0 0 3px}
.home-faq-list{counter-reset:question}
.home-faq details{counter-increment:question}
.home-faq summary span::before{content:counter(question) ". "}
@media(max-width:1000px){.apple-header #main-nav{gap:12px 20px}}
@media(max-width:700px){
  .apple-header{padding:20px 0}
  .apple-header .logo img{width:clamp(145px,44vw,205px)}
  .breadcrumbs{padding-top:15px}
  .home-faq .section-head{grid-template-columns:1fr;gap:14px;padding-bottom:22px}
  .home-faq .section-head h2{font-size:clamp(36px,9.7vw,55px);line-height:1.02}
}

.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;border-bottom:1px solid var(--line);list-style:none}
.hero-facts li{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:4px clamp(8px,1.2vw,16px);padding:18px clamp(14px,2.5vw,32px)}
.hero-facts .fact-icon{grid-row:1 / span 2;align-self:start;width:clamp(32px,3.3vw,44px);height:auto;margin-top:2px;padding:4px;border:1px solid var(--line);border-radius:28%}
.hero-facts .fact-icon--experience{background:var(--lime)}
.hero-facts .fact-icon--installs{background:var(--blue)}
.hero-facts .fact-icon--platforms{background:var(--pink)}
.hero-facts li:first-child{padding-left:0}
.hero-facts li+li{border-left:1px solid #d8d8cf}
.hero-facts strong{font:clamp(26px,3vw,40px)/1.1 var(--serif)}
.hero-facts span{font-size:14px}
#struktura>.primary-cta{margin-top:20px;max-width:100%}
@media(max-width:760px){
  .hero-facts{grid-template-columns:1fr}
  .hero-facts li{padding:12px 0}
  .hero-facts li+li{border-left:0;border-top:1px solid #d8d8cf}
}

.apple-header > .quote-btn{justify-self:end;padding:13px 17px;text-transform:uppercase}
@media(min-width:1181px){
  .apple-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:20px 0 19px}
  .apple-header > .logo{justify-self:start}
  .apple-header .logo img{width:200px}
  .apple-header #main-nav{justify-self:center;gap:24px}
  .apple-header #main-nav a{font-size:12px}
  .apple-header > .quote-btn{min-height:46px;gap:10px;padding:11px 16px;font-size:11px}
}
@media(max-width:1180px){
  .apple-header #main-nav{gap:12px 20px}
}
@media(max-width:600px){
  .apple-header > .quote-btn{width:100%}
}
