/* Final media layout: the website presents films only in a consistent 16:9 frame. */
:root { --orange: #ff5a00; }
.work-grid, .media-grid, .video-library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.work-card, .media-card, .video-library article { min-width: 0; }
.work-card .visual, .work-card.card-tall .visual, .media-card > img, .media-card .video-poster, .video-library video { width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: 16 / 9; object-fit: cover; }
.media-card .video-poster { position: relative; overflow: hidden; }
.media-card .video-poster video { width: 100%; height: 100%; object-fit: cover; }
.wordmark { display: inline-flex; align-items: center; line-height: 0; }
.header { height: 104px; }
.header .wordmark { margin-right: auto; }
.wordmark img { display: block; width: clamp(190px, 17vw, 290px); height: auto; max-height: 52px; object-fit: contain; }
.language-switch { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; letter-spacing: .08em; }
.language-switch button { border: 0; background: transparent; padding: 0; color: #8b8984; cursor: pointer; font: inherit; }
.language-switch button.is-active { color: var(--ink); font-weight: 700; }
.language-switch i { color: #aaa7a0; font-style: normal; }
.video-play { position: absolute; z-index: 2; inset: 50% auto auto 50%; width: 66px; height: 66px; transform: translate(-50%, -50%); display: grid; place-items: center; border: 1px solid rgba(255,255,255,.92); border-radius: 50%; background: rgba(15,15,15,.78); color: white; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.video-play:hover { transform: translate(-50%, -50%) scale(1.08); background: var(--orange); }
.video-play span { width: 0; height: 0; margin-left: 5px; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 14px solid currentColor; }
.video-modal { width: min(1000px, calc(100vw - 40px)); padding: 0; border: 0; background: #111; color: white; }
.video-modal::backdrop { background: rgba(0,0,0,.78); }
.video-modal video { display: block; width: 100%; max-height: 78vh; aspect-ratio: 16 / 9; background: #000; }
.video-modal p { margin: 0; padding: 12px 18px 16px; font-size: 12px; letter-spacing: .12em; }
.video-modal-close { position: absolute; z-index: 1; right: 8px; top: 8px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: #111; font-size: 25px; line-height: 1; cursor: pointer; }
.footer .wordmark img { width: 148px; max-height: 28px; filter: invert(1) grayscale(1) brightness(3); }
@media (max-width: 760px) { .header { height: 80px; } .wordmark img { width: 180px; max-height: 40px; } .work-grid, .media-grid, .video-library { grid-template-columns: 1fr; } }

/* Interactive image treatment for the process image. */
.why-model { position:relative; overflow:hidden; background:transparent; perspective:1000px; }
.why-model::after { content:none; display:none; }
.why-model img { width:100%; height:100%; object-fit:contain; object-position:center bottom; transform:translate3d(var(--wmx,0px),var(--wmy,0px),0) rotateY(var(--wry,0deg)); transform-origin:50% 46%; transition:transform .22s ease-out; will-change:transform; }

/* Pricing page */
.pricing-page { background:#f8f7f4; }
.price-hero { padding-top:clamp(86px,12vw,180px); padding-bottom:clamp(75px,10vw,140px); border-bottom:1px solid var(--line); }
.price-hero h1,.faq-prices>h2 { font:600 clamp(62px,9.6vw,152px)/.82 var(--display); letter-spacing:-.045em; margin:0; text-transform:uppercase; }
.price-hero h1 em,.faq-prices h2 em,.premium-feature h2 em,.social-price h2 em { font-style:normal; color:var(--orange); }
.price-hero>p:last-child { max-width:720px; font-size:clamp(18px,2vw,29px); line-height:1.45; color:#54524d; margin:34px 0 0; }
.price-partners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding-top:38px; }
.price-partners article { position:relative; overflow:hidden; background:#101010; color:white; padding:clamp(28px,3vw,46px); min-height:500px; display:flex; flex-direction:column; align-items:flex-start; }
.price-partners article>span,.price-partners small,.social-price aside>span { color:var(--orange); font-size:12px; font-weight:700; letter-spacing:.17em; }
.price-partners article>b { position:absolute; right:24px; top:-23px; font:600 clamp(130px,14vw,220px)/1 var(--display); color:#1e1e1e; }
.price-partners h2 { position:relative; font:600 clamp(42px,3.7vw,60px)/.88 var(--display); margin:42px 0 16px; text-transform:uppercase; }
.price-partners p { position:relative; max-width:510px; color:#c5c2bd; font-size:15px; line-height:1.52; margin:0 0 24px; }
.price-partners ul { position:relative; width:100%; padding:0; margin:0 0 24px; list-style:none; border-top:1px solid #353535; }
.price-partners li { padding:11px 0; border-bottom:1px solid #353535; font-weight:600; font-size:14px; }
.price-partners li::before { content:"✓"; color:var(--orange); margin-right:16px; }
.price-partners small { margin-top:auto; color:white; }
.price-partners .button { min-height:50px; margin-top:20px; border-radius:0; width:100%; }
.button-accent { background:var(--orange); color:white; }
.button-black,
.button-accent {
  background:#ff5a00;
  color:#fff;
  border:1px solid #ff6a18;
  box-shadow:none;
  position:relative;
  overflow:hidden;
  transition:transform .25s, background .25s, color .25s, border-color .25s;
}

.button-black:hover,
.button-accent:hover {
  background:#e84f00;
  color:#fff;
  border-color:#e84f00;
  box-shadow:none;
  text-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.included-strip { display:grid; grid-template-columns:1.8fr repeat(4,1fr); gap:0; padding-top:32px; padding-bottom:32px; border:1px solid var(--line); border-left:0; border-right:0; font-size:15px; }
.included-strip>* { padding:0 28px; border-right:1px solid var(--line); }
.included-strip>*:first-child { padding-left:0; font:600 20px var(--display); letter-spacing:.06em; }
.included-strip>*:last-child { border:0; }
.premium-feature { display:grid; grid-template-columns:.96fr 1.15fr .9fr; gap:0; background:#111; color:white; padding-top:0; padding-bottom:0; margin-top:clamp(56px,7vw,104px); border:1px solid #151515; }
.premium-feature>div,.premium-feature aside { padding:clamp(30px,3.5vw,54px); }
.premium-feature h2,.social-price h2 { font:600 clamp(50px,5.7vw,90px)/.84 var(--display); text-transform:uppercase; margin:54px 0 26px; letter-spacing:-.035em; }
.premium-feature>div>.eyebrow::before { content:""; display:inline-block; width:32px; height:3px; margin:0 14px 4px 0; background:var(--orange); vertical-align:middle; }
.premium-feature>div>p:last-child { color:#c6c3be; font-size:16px; line-height:1.58; max-width:390px; }
.premium-feature>img { width:100%; height:100%; min-height:510px; max-height:590px; object-fit:cover; object-position:center; }
.premium-feature aside { background:#eeece7; color:#111; }
.premium-feature aside>strong { display:block; font:600 clamp(82px,8vw,128px)/1 var(--display); margin:28px 0 16px; }
.premium-feature aside ul { padding:0; border-top:1px solid #aaa6a0; list-style:none; }
.premium-feature aside li { border-bottom:1px solid #c7c3bc; padding:11px 0; font-size:14px; line-height:1.3; }
.premium-feature aside li::before { content:"✓"; color:var(--orange); font-weight:700; margin-right:10px; }
.premium-feature .button { border-radius:0; margin-top:20px; width:100%; }
.social-price { display:grid; grid-template-columns:1.05fr .95fr .68fr; gap:0; background:#f0efeb; padding-top:0; padding-bottom:0; margin-top:clamp(56px,7vw,104px); }
.social-price>div,.social-price aside { padding:clamp(30px,3.5vw,54px); }
.social-price>div>p:not(.eyebrow) { color:#5e5b56; line-height:1.55; font-size:16px; }
.social-price ul { display:grid; grid-template-columns:1fr 1fr; gap:15px; padding:22px 0 0; list-style:none; border-top:1px solid #bdb9b1; }
.social-price li::before { content:"✓"; color:var(--orange); margin-right:8px; }
.social-price>img { width:100%; height:100%; min-height:480px; object-fit:cover; }
.instagram-profile { min-height:0; padding:clamp(28px,3vw,46px); background:#fff; color:#171717; display:flex; flex-direction:column; justify-content:center; }
.instagram-profile-head { display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.instagram-avatar { width:58px; height:58px; border-radius:50%; padding:3px; background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#4f5bd5); }
.instagram-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; background:#fff; padding:7px; }
.instagram-profile-meta { display:flex; flex-direction:column; gap:4px; flex:1; }
.instagram-profile-meta strong { font-size:18px; letter-spacing:-.02em; }
.instagram-profile-meta span { color:#77736d; font-size:12px; }
.instagram-mark { width:25px; height:25px; fill:none; stroke:#171717; stroke-width:1.6; }
.instagram-stats { display:flex; justify-content:space-between; border-top:1px solid #ddd9d2; border-bottom:1px solid #ddd9d2; padding:15px 0; margin-bottom:18px; font-size:16px; }
.instagram-stats b { text-align:center; }
.instagram-stats span { display:block; color:#77736d; font-size:11px; font-weight:400; margin-top:3px; }
.instagram-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.instagram-grid img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.social-price aside { background:#111; color:white; display:flex; flex-direction:column; align-items:flex-start; }
.social-price aside>small { color:#bdbab5; font-size:11px; letter-spacing:.13em; margin-top:26px; }
.social-price aside>strong { font:600 clamp(55px,5vw,84px)/.9 var(--display); }
.social-price aside p { color:#c8c5c0; line-height:1.55; }
.social-price aside .button { margin-top:auto; width:100%; min-width:0; border-radius:0; }

/* Language switch in the shared top navigation. */
.language-switch { display:flex; align-items:center; gap:9px; margin-left:clamp(18px,2vw,32px); font-size:14px; font-weight:700; letter-spacing:.08em; }
.language-switch button { appearance:none; border:0; padding:4px 0; background:transparent; color:#8e8b84; font:inherit; cursor:pointer; }
.language-switch button[aria-pressed="true"] { color:#111; }
.language-switch span { color:#aaa69f; }
@media(max-width:760px){.language-switch{margin-left:auto;margin-right:6px;font-size:12px}.header .language-switch button[aria-pressed="true"]{color:var(--orange)}}
.base-pricing{padding-top:60px}.price-grid-detailed{margin-top:46px}
.price-card{min-height:560px}.price-card .price-up{margin-top:0;padding-top:8px;font:600 clamp(38px,3.7vw,58px)/1 var(--display)}
.price-includes{list-style:none;padding:18px 0 0;margin:20px 0 0;border-top:1px solid currentColor}
.price-includes li{padding:11px 0;border-bottom:1px solid rgba(120,120,120,.28);font-size:13px;line-height:1.35}.price-includes li::before{content:"✓";color:var(--orange);font-weight:700;margin-right:9px}.price-featured .price-includes li::before{color:#fff}
.social-facts{width:100%;margin:28px 0 34px}.social-facts div{display:grid;grid-template-columns:1fr 1.35fr;gap:16px;padding:14px 0;border-top:1px solid #ffffff30}.social-facts div:last-child{border-bottom:1px solid #ffffff30}.social-facts dt{color:#8f8c86}.social-facts dd{margin:0;text-align:right;font-weight:600}
.about-portrait>img{object-position:center 35%}
.faq-prices { padding-top:clamp(85px,11vw,170px); }
.faq-prices>h2 { font-size:clamp(53px,8vw,118px); margin:0 0 82px; }
.faq-prices article { display:grid; grid-template-columns:100px minmax(230px,.8fr) minmax(330px,1.2fr); gap:40px; padding:58px 0; border-top:1px solid var(--line); }
.faq-prices article>span { color:var(--orange); font-size:18px; font-weight:700; }
.faq-prices h3 { font:600 clamp(32px,3.3vw,54px)/.92 var(--display); margin:0; text-transform:uppercase; }
.faq-prices article div>p { font-size:18px; line-height:1.58; color:#595752; margin:0 0 20px; }
.faq-prices dl { margin:0 0 28px; border-top:1px solid #111; }
.faq-prices dl div { display:flex; justify-content:space-between; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); font-size:18px; }
.faq-prices dt { color:#57554f; }.faq-prices dd { margin:0; font:600 25px var(--display); white-space:nowrap; }
.format-tags { display:flex; gap:14px; }.format-tags b { border:1px solid #111; padding:12px 15px; font:600 25px var(--display); color:#111; }
@media(max-width:980px){ .price-partners,.premium-feature,.social-price{grid-template-columns:1fr}.premium-feature>img,.social-price>img,.instagram-profile{min-height:0;aspect-ratio:16/9}.instagram-profile{padding:28px}.included-strip{grid-template-columns:1fr 1fr}.included-strip>*{padding:15px 0;border-right:0;border-bottom:1px solid var(--line)}.faq-prices article{grid-template-columns:64px 1fr;gap:22px}.faq-prices article>div{grid-column:2}.social-price aside .button{margin-top:26px} }
@media(max-width:600px){.price-hero{padding-top:70px}.price-partners{padding-left:0;padding-right:0;gap:12px}.price-partners article{min-height:auto;padding:32px 24px}.included-strip{padding-left:24px;padding-right:24px}.premium-feature>div,.premium-feature aside,.social-price>div,.social-price aside{padding:34px 24px}.faq-prices article{grid-template-columns:1fr;gap:16px;padding:36px 0}.faq-prices article>div{grid-column:auto}.faq-prices h3{font-size:38px}.faq-prices dl div{font-size:16px}.faq-prices dd{font-size:23px}.social-price ul{grid-template-columns:1fr}.price-partners h2,.premium-feature h2,.social-price h2{margin-top:35px}.price-partners article>b{font-size:150px}.price-partners .button{font-size:10px;gap:12px}.wordmark img{width:210px;} }

/* Final consistency and accessibility pass. */
[hidden] { display: none !important; }
html { scroll-padding-top: 0 !important; }
main > section[id] { scroll-margin-top: calc(24px - clamp(84px, 11vw, 160px)); }
.process .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 52px; }
.process .steps article { display: grid; grid-template-columns: 46px minmax(150px, .8fr) minmax(0, 1.2fr); align-items: center; column-gap: 18px; min-height: 116px; margin: 0; padding: 22px 28px 22px 0; border-right: 1px solid #ffffff2b; border-bottom: 1px solid #ffffff2b; }
.process .steps article:nth-child(2n) { border-right: 0; padding-left: 28px; padding-right: 0; }
.process .steps article:nth-last-child(-n+2) { border-bottom: 0; }
.process .steps h3 { margin: 0; font-size: clamp(28px, 2.6vw, 40px); }
.process .steps p { max-width: 31ch; margin: 0; }
.header .wordmark img { width: clamp(145px, 12vw, 190px); max-height: 34px; }
.eyebrow,.section-side,.visual-label,.card-caption,.concept-note,.price-tag,.price-note,.journal-meta,.service-no,.steps article>span,.why-list article>span,.why-points small,.project-form label { font-size: max(12px, .78rem); }
.work-intro>p,.service-list p,.steps p,.why-list p,.pricing-head>p,.price-card>p,.calculator>div>p,.about-copy>p,.switzerland-grid p,.social-head p,.contact p { font-size: clamp(15px, 1.15vw, 18px); line-height: 1.6; }
.calculator-form label,.calculator-form select,.calculator-form input,.project-form input,.project-form textarea { font-size: 16px; }
.about-portrait { position: relative; min-height: 680px; overflow: hidden; background: #111; }
.about-portrait::before { content: none; display: none; }
.about-portrait>img { width: 100%; height: 100%; min-height: 680px; object-fit: cover; object-position: 50% 28%; display: block; }
.about-portrait>p { position: absolute; left: 38px; right: 38px; bottom: 30px; z-index: 1; margin: 0; color: #fff; font-size: 13px; line-height: 1.55; letter-spacing: .15em; text-shadow: 0 2px 14px rgba(0,0,0,.65); }
.social-head { margin-bottom: 32px; }
.social-account { display: flex; align-items: center; gap: 24px; max-width: none; margin: 0 0 22px; padding: 20px 22px; color: #fff; background: #111; border-radius: 8px; }
.social-monogram { display: grid; place-items: center; min-width: 84px; height: 54px; padding-right: 22px; border-right: 1px solid #ff5a00; color: #ff5a00; font: 800 32px/1 var(--body); letter-spacing: -.09em; }
.social-account>div { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.social-account strong { font-size: 20px; line-height: 1.1; }
.social-account>div span { color: #c9c6c0; font-size: 14px; }
.social-account-cta { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 34px; padding: 0 24px; border: 1px solid #ff5a00; border-radius: 7px; color: #ff5a00; font-size: 14px; font-weight: 700; transition: color .2s ease, background .2s ease; }
.social-account-cta span { font-size: 22px; line-height: 1; }
.social-account-cta:hover { color: #111; background: #ff5a00; }
.social-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.social-grid>a { display: block; min-width: 0; overflow: hidden; background: #111; border-top: 5px solid #ff5a00; border-radius: 8px; box-shadow: 0 12px 30px rgba(17,17,17,.12); }
.social-card-media { position: relative; display: block; margin: 14px 14px 0; overflow: hidden; border-radius: 3px; aspect-ratio: 1; }
.social-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.social-grid>a:hover img { transform: scale(1.035); }
.social-card-media i { position: absolute; top: 8px; right: 9px; color: #ff5a00; font: 400 25px/1 var(--body); font-style: normal; text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.social-card-copy { display: flex; flex-direction: column; gap: 5px; padding: 15px 18px 18px; }
.social-card-copy small { color: #ff5a00; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.social-card-copy strong { color: #fff; font: 600 clamp(22px,2vw,31px)/1 var(--display); letter-spacing: -.02em; }

/* Larger, consistent reading sizes across the site. */
body { font-size: 17px; }
.nav { font-size: 16px; }
.button, .text-link { font-size: 15px; }
.eyebrow,.section-side,.visual-label,.card-caption,.concept-note,.price-tag,.price-note,.journal-meta,.service-no,.steps article>span,.why-list article>span,.why-points small,.project-form label { font-size: 14px; }
.hero-note,.hero-bottom,.hero-coordinate { font-size: 13px; }
.card-caption { line-height: 1.45; }
.why-points b { font-size: 14px; }
.faq-heading>p:last-child { font-size: 18px; line-height: 1.65; }
.faq-list summary { font-size: 20px; line-height: 1.35; padding: 24px 0; }
.faq-list details p { font-size: 18px; line-height: 1.65; margin-bottom: 24px; }
.project-form small { font-size: 14px; line-height: 1.5; }
.about-portrait>p { font-size: 14px; }
.site-footer-top,.site-footer-bottom { font-size: 15px!important; }
.site-footer-social a { font-size: 16px!important; }

@media(max-width:760px){
  main > section[id] { scroll-margin-top: -53px; }
  body { font-size: 16px; }
  .nav { font-size: 16px; }
  .button,.text-link { font-size: 14px; }
  .faq-list summary { font-size: 18px; }
  .faq-list details p,.faq-heading>p:last-child { font-size: 16px; }
  .header .wordmark img { width: 142px; max-height: 29px; }
  .about-portrait,.about-portrait>img { min-height: 520px; }
  .social-account { gap: 14px; padding: 16px; }
  .social-monogram { min-width: 64px; padding-right: 14px; }
  .social-account-cta { min-height: 46px; padding: 0 15px; gap: 12px; }
  .social-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:520px){
  .social-account { align-items: flex-start; flex-wrap: wrap; }
  .social-account>div { min-width: calc(100% - 82px); }
  .social-account-cta { width: 100%; }
  .social-grid { grid-template-columns: 1fr; }
}
/* Pricing page: compact orange / black reference layout */
.pricing-page { background:#faf9f6; }
.pricing-page main { overflow:hidden; }
.pricing-page .price-hero { max-width:1320px; margin:0 auto; padding:86px 5vw 42px; text-align:center; }
.pricing-page .price-hero .eyebrow { justify-content:center; margin-bottom:18px; }
.pricing-page .price-hero h1 { max-width:1000px; margin:0 auto 12px; font-size:clamp(3rem,6vw,6.4rem); line-height:.9; letter-spacing:-.045em; }
.pricing-page .price-hero > p:last-child { max-width:720px; margin:0 auto; font-size:1.25rem; color:#666; }
.pricing-page .base-pricing { max-width:1420px; margin:0 auto; padding:20px 5vw 40px; }
.pricing-page .base-pricing .section-top { align-items:center; margin-bottom:22px; }
.pricing-page .base-pricing .section-side { color:#777; font-size:.78rem; letter-spacing:.12em; }
.pricing-page .price-grid-detailed { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pricing-page .price-card { min-height:480px; padding:30px; border:1px solid #deddda; border-radius:22px; background:#fff; box-shadow:0 10px 30px rgba(25,25,25,.035); display:flex; flex-direction:column; }
.pricing-page .price-card.price-featured { color:#fff; background:#171819; border-color:#171819; }
.pricing-page .price-card .price-tag { color:#ff5717; font-weight:700; font-size:.76rem; letter-spacing:.12em; }
.pricing-page .price-card h3 { margin:22px 0 0; font-size:2rem; letter-spacing:-.03em; }
.pricing-page .price-card .price { margin:4px 0 0; font-family:'Barlow Condensed',sans-serif; font-size:4.8rem; font-weight:700; letter-spacing:-.04em; line-height:1; }
.pricing-page .price-card > p { min-height:60px; color:#666; line-height:1.45; }
.pricing-page .price-featured > p { color:#d2d2d2; }
.pricing-page .price-includes { border-top:1px solid #deddda; padding-top:16px; margin:10px 0 22px; }
.pricing-page .price-featured .price-includes { border-color:#555; }
.pricing-page .price-includes li { margin:10px 0; list-style:none; }
.pricing-page .price-includes li::before, .pricing-page .price-partners li::before, .pricing-page .premium-feature li::before, .pricing-page .social-price li::before { content:'✓'; display:inline-grid; place-items:center; width:20px; height:20px; margin-right:9px; border-radius:50%; color:#fff; background:#ff5717; font-size:.7rem; font-weight:700; }
.pricing-page .price-card > a { margin-top:auto; border:1px solid #ff5717; border-radius:28px; padding:14px 18px; color:#ff5717; text-align:center; font-weight:700; letter-spacing:.04em; }
.pricing-page .price-card:nth-child(2) > a { background:#ff5717; color:#fff; }
.pricing-page .price-featured > a { border-color:#fff; color:#fff; }
.pricing-page .price-partners { max-width:1420px; margin:0 auto; padding:10px 5vw 28px; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.pricing-page .price-partners::before { content:'ZWEI MODELLE. EIN ZIEL: VERLÄSSLICHER CONTENT.'; grid-column:1/-1; color:#111; font-weight:700; font-size:.8rem; letter-spacing:.16em; }
.pricing-page .price-partners article { position:relative; padding:28px 30px 24px; border:1px solid #deddda; border-radius:18px; background:#fff; }
.pricing-page .price-partners article > span { color:#ff5717; font-size:.75rem; font-weight:700; letter-spacing:.12em; }
.pricing-page .price-partners article b { position:absolute; top:18px; right:25px; color:#e8e7e3; font:700 4.5rem/1 'Barlow Condensed',sans-serif; }
.pricing-page .price-partners h2 { margin:22px 0 5px; font-size:2rem; }
.pricing-page .price-partners p { max-width:580px; color:#666; }
.pricing-page .price-partners ul { margin:22px 0; padding:0; list-style:none; }
.pricing-page .price-partners small { display:block; color:#222; font-size:.68rem; font-weight:700; letter-spacing:.08em; }
.pricing-page .price-partners .button { float:right; margin-top:-27px; }
.pricing-page .included-strip { max-width:1420px; margin:0 auto 32px; padding:0 5vw; display:flex; flex-wrap:wrap; gap:0; border:1px solid #deddda; border-radius:14px; overflow:hidden; }
.pricing-page .included-strip > * { padding:17px 20px; border-right:1px solid #deddda; font-size:.8rem; }
.pricing-page .included-strip strong { flex:1 0 230px; }
.pricing-page .calculator { max-width:1420px; margin:0 auto 40px; padding:34px; border:1px solid #deddda; border-radius:22px; background:#fff; display:grid; grid-template-columns:1fr 1.6fr; gap:34px; }
.pricing-page .calculator h3 { margin:12px 0; font-size:3rem; line-height:.95; }
.pricing-page .calculator-form { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; align-content:start; }
.pricing-page .calculator-form label { color:#222; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.pricing-page .calculator-form select { display:block; width:100%; margin-top:8px; padding:14px; border:1px solid #d9d8d4; border-radius:12px; background:#fff; font:inherit; }
.pricing-page .calculator-result { grid-column:2; grid-row:1 / span 3; padding:28px; border-radius:18px; background:#171819; color:#fff; }
.pricing-page .calculator-result strong { display:block; margin:18px 0 8px; color:#fff; font:700 4.8rem/1 'Barlow Condensed',sans-serif; }
.pricing-page .calculator-result small { color:#bbb; }
.pricing-page .calculator-form > .button { grid-column:2; }
.pricing-page .premium-feature, .pricing-page .social-price { max-width:1420px; margin:0 auto 28px; padding:32px; border:1px solid #deddda; border-radius:22px; background:#fff; }
.pricing-page .premium-feature { display:grid; grid-template-columns:1fr 1.2fr .82fr; gap:24px; align-items:stretch; }
.pricing-page .premium-feature h2, .pricing-page .social-price h2 { font-size:3.6rem; line-height:.9; margin:14px 0 22px; }
.pricing-page .premium-feature > img { width:100%; height:100%; min-height:310px; object-fit:cover; border-radius:15px; }
.pricing-page .premium-feature aside, .pricing-page .social-price > aside { padding:26px; border-radius:17px; background:#171819; color:#fff; }
.pricing-page .premium-feature aside strong { display:block; font:700 4.8rem/1 'Barlow Condensed',sans-serif; }
.pricing-page .premium-feature ul { margin:16px 0 20px; padding:0; list-style:none; }
.pricing-page .social-price { display:grid; grid-template-columns:1fr .92fr .72fr; gap:24px; }
.pricing-page .social-price > ul { display:grid; grid-template-columns:1fr 1fr; gap:10px; align-content:center; padding:0; list-style:none; }
.pricing-page .social-price > aside strong { display:block; font:700 4.8rem/1 'Barlow Condensed',sans-serif; }
.pricing-page .social-price > aside small { display:block; color:#ff5717; font-weight:700; letter-spacing:.1em; }
@media (max-width:900px) { .pricing-page .price-grid-detailed,.pricing-page .price-partners,.pricing-page .calculator,.pricing-page .premium-feature,.pricing-page .social-price { grid-template-columns:1fr; } .pricing-page .calculator-result,.pricing-page .calculator-form > .button { grid-column:auto; grid-row:auto; } .pricing-page .calculator-form { grid-template-columns:1fr; } .pricing-page .social-price > ul { grid-template-columns:1fr; } }
@media (max-width:600px) { .pricing-page .price-hero { padding-top:54px; } .pricing-page .price-card,.pricing-page .calculator,.pricing-page .premium-feature,.pricing-page .social-price { padding:22px; border-radius:16px; } .pricing-page .price-partners .button { float:none; margin-top:14px; } .pricing-page .included-strip { display:block; } .pricing-page .included-strip > * { display:block; border-right:0; border-bottom:1px solid #deddda; } }

/* Refined social-media offer: no overflow, generous feed, clear offer card. */
.pricing-page .social-price {
  width:calc(100% - 10vw);
  max-width:1420px;
  box-sizing:border-box;
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.98fr) minmax(260px,.72fr);
  gap:0;
  padding:0;
  overflow:hidden;
  align-items:stretch;
  background:#f2f1ed;
}
.pricing-page .social-price > div,
.pricing-page .social-price > aside { min-width:0; box-sizing:border-box; }
.pricing-page .social-price > div:first-child { padding:42px 34px 38px; }
.pricing-page .social-price > div:first-child > p:not(.eyebrow) { max-width:430px; }
.pricing-page .social-price > div:first-child > ul { gap:10px 18px; }
.pricing-page .social-price .instagram-profile { padding:38px 30px 32px; background:#fff; }
.pricing-page .instagram-profile-head { margin-bottom:20px; }
.pricing-page .instagram-avatar { width:64px; height:64px; flex:0 0 64px; padding:3px; border-radius:50%; background:linear-gradient(135deg,#ffb43b,#f04c3e 55%,#ad2d9c); }
.pricing-page .instagram-avatar img { width:100%; height:100%; border:3px solid #fff; border-radius:50%; object-fit:cover; background:#fff; }
.pricing-page .instagram-profile-meta strong { font-size:20px; }
.pricing-page .instagram-profile-meta span { font-size:13px; }
.pricing-page .instagram-mark { width:28px; height:28px; flex:0 0 28px; fill:none; stroke:#171717; stroke-width:1.8; }
.pricing-page .instagram-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:16px 0; margin-bottom:18px; border-top:1px solid #dedbd4; border-bottom:1px solid #dedbd4; text-align:center; }
.pricing-page .instagram-stats b { font-size:18px; }
.pricing-page .instagram-stats span { display:block; margin-top:5px; color:#77736d; font-size:12px; font-weight:400; }
.pricing-page .instagram-grid { gap:5px; }
.pricing-page .instagram-grid img { aspect-ratio:1 / 1; border-radius:1px; }
.pricing-page .social-price > aside { padding:40px 30px 30px; border-radius:0; }
.pricing-page .social-price > aside strong { margin:12px 0 6px; }
.pricing-page .social-price > aside p { font-size:.95rem; }
.pricing-page .social-price > aside .button { margin-top:24px; border-radius:7px; }
@media (max-width:1100px) {
  .pricing-page .social-price { grid-template-columns:1fr 1fr; }
  .pricing-page .social-price > aside { grid-column:1/-1; }
  .pricing-page .social-price > aside .button { margin-top:20px; }
}
@media (max-width:700px) {
  .pricing-page .social-price { width:calc(100% - 32px); grid-template-columns:1fr; }
  .pricing-page .social-price > aside { grid-column:auto; }
  .pricing-page .social-price > div:first-child,.pricing-page .social-price .instagram-profile,.pricing-page .social-price > aside { padding:28px 22px; }
}

/* Homepage showcase frames now match the portfolio cards. */
#work .work-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 22px;
}
#work .work-card {
  position:relative;
  min-width:0;
  padding:10px 10px 0;
  overflow:hidden;
  background:#111;
  color:#fff;
  border-radius:20px;
  box-shadow:0 16px 32px rgba(17,17,16,.12);
}
#work .work-card::after {
  content:'';
  position:absolute;
  z-index:2;
  top:0;
  right:0;
  width:54px;
  height:24px;
  background:var(--orange);
  border-radius:0 0 0 18px;
}
#work .work-card .visual {
  height:auto;
  aspect-ratio:16/9;
  min-height:0;
  border-radius:12px;
  background:#222;
}
#work .work-card .visual-media img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
#work .work-card .video-play {
  position:absolute;
  top:auto;
  left:auto;
  transform:none;
  right:14px;
  bottom:17px;
  width:62px;
  height:62px;
  border-color:#fff;
  background:transparent;
}
#work .work-card .card-caption {
  position:relative;
  display:block;
  min-height:108px;
  margin:0;
  padding:16px 90px 20px 12px;
  border-top:0;
  border-bottom:0;
  color:#fff;
  font-size:inherit;
  letter-spacing:0;
}
#work .work-card .card-caption .card-category {
  display:block;
  color:var(--orange);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
}
#work .work-card .card-caption .card-title {
  display:block;
  margin-top:7px;
  color:#fff;
  font:600 clamp(25px,2.4vw,38px)/.94 var(--display);
  letter-spacing:-.015em;
  text-transform:uppercase;
}

/* Homepage film cards: retain the compact white portfolio treatment. */
#work .work-card {
  background:#f8f7f3;
  color:#111;
  border:1px solid #d8d4cc;
  box-shadow:0 14px 30px rgba(17,17,16,.08);
}
#work .work-card .visual { background:#ebe9e3; }
#work .work-card .card-caption,
#work .work-card .card-caption .card-title { color:#111; }
#work .work-card .video-play {
  border-color:#7c7870;
  background:transparent;
  color:var(--orange);
}
@media (min-width:761px) {
  #work .work-grid {
    width:calc(100% - 128px);
    margin-left:68px;
    margin-right:60px;
  }
  #work .work-card:nth-child(odd) { transform:translateX(-68px); }
}
@media(max-width:760px) {
  #work .work-grid { grid-template-columns:1fr; gap:16px; }
  #work .work-card { border-radius:15px; }
  #work .work-card .card-caption { min-height:86px; padding:13px 70px 16px 8px; }
  #work .work-card .card-caption .card-category { font-size:9px; }
  #work .work-card .card-caption .card-title { margin-top:5px; font-size:28px; }
  #work .work-card .video-play { right:11px; bottom:14px; width:52px; height:52px; }
}

/* Modern shared header treatment */
.header {
  height:88px;
  padding-inline:clamp(24px,5vw,84px);
  gap:clamp(20px,3vw,48px);
  background:rgba(250,249,246,.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.header .wordmark { flex:0 0 auto; }
.header .nav { display:flex; align-items:center; gap:clamp(20px,2.8vw,44px); margin-left:auto; }
.header .nav a { position:relative; padding:8px 0; color:#343331; font-size:13px; letter-spacing:.01em; }
.header .nav a::after { content:''; position:absolute; left:0; right:100%; bottom:1px; height:2px; background:var(--orange); transition:right .22s ease; }
.header .nav a:hover::after, .header .nav a[aria-current="page"]::after { right:0; }
.header .nav a[aria-current="page"] { color:var(--orange); }
.header .language-switch { margin-left:clamp(2px,1vw,16px); gap:7px; font-size:12px; letter-spacing:.08em; }
.header .language-switch button,
.header .language-switch button:focus,
.header .language-switch button:focus-visible {
  appearance:none;
  -webkit-appearance:none;
  border:0 !important;
  outline:0;
  box-shadow:none;
  background:transparent !important;
  padding:5px 0 !important;
  color:#8b8984;
  line-height:1;
}
.header .language-switch button[aria-pressed="true"] { color:#171717; font-weight:700; }
.header .language-switch span { color:#b1aea8; }
@media(max-width:760px) {
  .header { height:72px; padding-inline:20px; gap:10px; }
  .header .nav { top:71px; }
  .header .language-switch { margin-left:auto; margin-right:2px; }
  .header .menu-toggle { order:4; }
}

/* Unified template system: one visual language across every page */
:root {
  --template-radius-sm: 6px;
  --template-radius-md: 14px;
  --template-radius-lg: 18px;
  --template-shadow: 0 14px 34px rgba(17,17,16,.07);
  --template-section: clamp(76px, 9vw, 136px);
  --template-content: 1440px;
}

html { scroll-padding-top: 88px; }
body { background: var(--paper); color: var(--ink); font-family: var(--body); }
button, input, select, textarea { font-family: var(--body); }

.header {
  min-height: 88px;
  height: 88px;
  padding-inline: var(--gutter);
  border-bottom: 1px solid rgba(17,17,16,.10);
  box-shadow: 0 4px 18px rgba(17,17,16,.025);
}
.header .wordmark img { width: clamp(148px, 12vw, 184px); max-height: 34px; object-fit: contain; }
.header .nav { gap: clamp(20px, 2.8vw, 42px); }
.header .nav a { font-size: 13px; font-weight: 500; }

.section-pad { padding-top: var(--template-section); padding-bottom: var(--template-section); }
.section-top, .group-head { border-bottom-color: var(--line); }
.eyebrow, .ex-kicker, .journal-meta, .group-count { letter-spacing: .14em; }

.button, .button-accent, .button-black, .button-white,
.text-link, .filters button, .project-form .button {
  min-height: 48px;
  border-radius: var(--template-radius-sm) !important;
  letter-spacing: .10em;
}
.button { padding-inline: 20px; }
.button:hover, .button-accent:hover, .button-black:hover, .button-white:hover { transform: translateY(-1px); }

.card, .blog-card, .work-card, .price-card, .calculator, .premium-feature,
.social-price, .price-partners article, .ex-media, .why-image, .blog-feature,
.blog-article-dark, .cta, .ex-cta {
  border-radius: var(--template-radius-md);
}
.card, .blog-card, .work-card, .price-card, .calculator, .premium-feature,
.social-price, .price-partners article { box-shadow: var(--template-shadow); }
.card img, .card video, .video-shell, .blog-card-image, .blog-feature-image,
.blog-article-media, .ex-media img, .why-image img { border-radius: 10px; }

.pricing-page .price-card,
.pricing-page .calculator,
.pricing-page .premium-feature,
.pricing-page .social-price,
.pricing-page .price-partners article { border-radius: var(--template-radius-md) !important; }
.pricing-page .price-card .button,
.pricing-page .calculator .button,
.pricing-page .premium-feature .button,
.pricing-page .social-price .button,
.pricing-page .price-partners .button { border-radius: var(--template-radius-sm) !important; }

.blog-card-grid, .video-grid, .image-grid, .price-grid, .social-grid { gap: clamp(14px, 2vw, 24px); }
.blog-card-copy, .card-body { padding-inline: clamp(18px, 2vw, 26px); }
.blog-card h2, .blog-feature-copy h2, .blog-article-copy h2,
.why-list h3, .switzerland-grid h3 { letter-spacing: -.03em; }

#work .work-card { border-radius: var(--template-radius-md); }
#work .work-card .visual { border-radius: 10px; }

@media (max-width: 900px) {
  .header { padding-inline: 24px; }
  .section-pad { padding-top: 72px; padding-bottom: 72px; }
}

/* Homepage polish: two-up film showcase and a balanced compact calculator. */
@media (min-width: 1100px) {
  html body.home-page #work .work-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
  }

  html body.home-page #work .work-card {
    padding:9px 9px 0 !important;
    border-radius:16px !important;
  }

  html body.home-page #work .work-card .visual {
    border-radius:10px !important;
  }

  html body.home-page #work .work-card .card-caption {
    min-height:94px !important;
    padding:14px 78px 16px 9px !important;
  }

  html body.home-page #work .work-card .card-caption .card-title {
    margin-top:5px !important;
    font-size:30px !important;
  }

  html body.home-page #work .work-card .video-play {
    right:12px !important;
    bottom:15px !important;
    width:54px !important;
    height:54px !important;
  }
}

/* Mobile cleanup requested after final review. */
@media (max-width: 760px) {
  html body.home-page .hero .hero-services,
  html body.home-page .hero .hero-note,
  html body.home-page #work .concept-note,
  html body.home-page #work > a.text-link {
    display:none !important;
  }

  html body.home-page #pricing .price-grid {
    gap:10px !important;
  }

  html body.home-page #pricing .price-card {
    min-height:0 !important;
    padding:14px !important;
    border-radius:12px !important;
  }

  html body.home-page #pricing .price-card .price-tag {
    font-size:9px !important;
  }

  html body.home-page #pricing .price-card h3 {
    margin:10px 0 2px !important;
    font-size:24px !important;
    line-height:.95 !important;
  }

  html body.home-page #pricing .price-card .price {
    font-size:27px !important;
    line-height:1 !important;
  }

  html body.home-page #pricing .price-card > p {
    margin:7px 0 !important;
    font-size:12px !important;
    line-height:1.4 !important;
  }

  html body.home-page #pricing .price-includes {
    margin-top:6px !important;
    padding-top:4px !important;
  }

  html body.home-page #pricing .price-includes li {
    padding:4px 0 !important;
    font-size:11px !important;
    line-height:1.3 !important;
  }

  html body.home-page #pricing .price-card > a {
    min-height:38px !important;
    margin-top:8px !important;
    padding:0 4px !important;
    font-size:11px !important;
  }

  html body.home-page #about .about-portrait {
    aspect-ratio:auto !important;
    height:min(138vw,760px) !important;
    min-height:0 !important;
  }

  html body.home-page #about .about-portrait > img {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center bottom !important;
  }
}

html body.home-page #calculator {
  display:block !important;
  margin-top:28px !important;
  padding:28px !important;
  border:1px solid #d9d5cd !important;
  border-radius:18px !important;
  background:#ece9e2 !important;
}

html body.home-page #calculator > div {
  display:grid !important;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr) !important;
  gap:30px !important;
  align-items:end !important;
  margin-bottom:24px !important;
}

html body.home-page #calculator h3 {
  margin:8px 0 0 !important;
  font-size:42px !important;
  line-height:.92 !important;
}

html body.home-page #calculator h3 br { display:none !important; }

html body.home-page #calculator > div > p:last-child {
  max-width:620px !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

html body.home-page #calculator .calculator-form {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}

html body.home-page #calculator .calculator-form label {
  gap:7px !important;
  font-size:11px !important;
}

html body.home-page #calculator .calculator-form select {
  min-height:52px !important;
  padding:12px 14px !important;
  border-radius:8px !important;
  font-size:14px !important;
}

html body.home-page #calculator .calculator-result {
  grid-column:1 / 3 !important;
  min-height:64px !important;
  padding-top:14px !important;
  gap:16px !important;
}

html body.home-page #calculator .calculator-result strong {
  font-size:36px !important;
}

html body.home-page #calculator .calculator-form > .button {
  grid-column:3 !important;
  width:100% !important;
  min-height:64px !important;
  justify-self:stretch !important;
  align-self:end !important;
}

@media (max-width: 760px) {
  html body.home-page #calculator {
    padding:20px !important;
    border-radius:14px !important;
  }

  html body.home-page #calculator > div,
  html body.home-page #calculator .calculator-form {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  html body.home-page #calculator h3 { font-size:34px !important; }
  html body.home-page #calculator .calculator-result,
  html body.home-page #calculator .calculator-form > .button {
    grid-column:auto !important;
  }
}

/* Final requested sizing and alignment pass. */
@media (min-width: 901px) {
  /* Pricing: compact typography and cards inside the Blog-width grid. */
  html body.home-page #pricing {
    padding-top:36px !important;
    padding-bottom:36px !important;
  }
  html body.home-page #pricing .pricing-head {
    gap:36px !important;
    padding:22px 0 24px !important;
  }
  html body.home-page #pricing .pricing-head h2 {
    font-size:48px !important;
    line-height:.92 !important;
  }
  html body.home-page #pricing .pricing-head > p {
    width:min(34%,330px) !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }
  html body.home-page #pricing .price-grid {
    gap:14px !important;
  }
  html body.home-page #pricing .price-card {
    min-height:0 !important;
    padding:18px !important;
  }
  html body.home-page #pricing .price-card h3 {
    margin:18px 0 5px !important;
    font-size:28px !important;
  }
  html body.home-page #pricing .price-card .price {
    margin:0 !important;
    padding-top:2px !important;
    font-size:30px !important;
  }
  html body.home-page #pricing .price-card > p {
    font-size:14px !important;
    line-height:1.45 !important;
  }
  html body.home-page #pricing .price-includes {
    margin-top:10px !important;
    padding-top:8px !important;
  }
  html body.home-page #pricing .price-includes li {
    padding:6px 0 !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }
  html body.home-page #pricing .price-card > a {
    margin-top:10px !important;
    padding-top:9px !important;
    font-size:12px !important;
  }

  /* About: show the complete portrait instead of cropping it. */
  html body.home-page #about .about-portrait {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:941 / 1672 !important;
    background:#f8f7f4 !important;
  }
  html body.home-page #about .about-portrait > img {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  /* Social: exactly three images per row, two rows. */
  html body.home-page #social .social-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  html body.home-page #social .social-card-media {
    aspect-ratio:1 / 1 !important;
  }

  /* Portfolio: the same left/right content edges as the Blog page. */
  html body.portfolio-page main > .hero,
  html body.portfolio-page main > .filters,
  html body.portfolio-page #portfolio > .group,
  html body.portfolio-page main > .image-gallery {
    padding-left:max(24px, calc((100vw - 1120px) / 2)) !important;
    padding-right:max(24px, calc((100vw - 1120px) / 2)) !important;
  }
  html body.portfolio-page .video-grid {
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body.portfolio-page .image-gallery {
    max-width:none !important;
  }
}

@media (max-width: 760px) {
  html body.home-page #about .about-portrait {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:941 / 1672 !important;
  }
  html body.home-page #about .about-portrait > img {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* Homepage content gutters: match the approved Blog content width; keep the hero unchanged. */
@media (min-width: 901px) {
  html body.home-page main > section:not(.hero) {
    padding-left:max(24px, calc((100vw - 1120px) / 2)) !important;
    padding-right:max(24px, calc((100vw - 1120px) / 2)) !important;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  html body.home-page main > section:not(.hero) {
    padding-left:24px !important;
    padding-right:24px !important;
  }
}

@media (max-width: 600px) {
  html body.home-page main > section:not(.hero) {
    padding-left:16px !important;
    padding-right:16px !important;
  }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 72px; }
  .header { min-height: 72px; height: 72px; padding-inline: 20px; }
  .header .wordmark img { width: 142px; max-height: 29px; }
  .header .nav { top: 71px; }
  .section-pad { padding-top: 60px; padding-bottom: 60px; }
  .button, .button-accent, .button-black, .button-white { min-height: 46px; }
  .card, .blog-card, .work-card, .price-card, .calculator, .premium-feature,
  .social-price, .price-partners article, .blog-feature, .blog-article-dark,
  .cta, .ex-cta { border-radius: 12px; }
}

/* Final pricing visuals: readable premium copy and a precisely cropped 3 × 2 feed. */
.pricing-page .premium-feature > div:first-child {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(22px,2.5vw,36px);
  border-radius:12px;
  background:#f2f0ea;
  color:#111110;
}
.pricing-page .premium-feature > div:first-child .eyebrow { color:#24231f; }
.pricing-page .premium-feature > div:first-child > p:not(.eyebrow) {
  max-width:430px;
  color:#34322e;
  font-size:clamp(15px,1.15vw,18px);
  font-weight:500;
  line-height:1.65;
}
.pricing-page .premium-feature > img {
  min-height:0;
  aspect-ratio:4 / 5;
  object-position:center;
  background:#171717;
}
.pricing-page .instagram-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  overflow:hidden;
}
.pricing-page .instagram-tile {
  display:block;
  width:100%;
  aspect-ratio:1;
  border-radius:3px;
  background-color:#ece9e3;
  background-image:url("assets/pricing/instagram-feed-sheet.png");
  background-repeat:no-repeat;
  background-size:300% 200%;
}
.pricing-page .instagram-tile.tile-1 { background-position:0 0; }
.pricing-page .instagram-tile.tile-2 { background-position:50% 0; }
.pricing-page .instagram-tile.tile-3 { background-position:100% 0; }
.pricing-page .instagram-tile.tile-4 { background-position:0 100%; }
.pricing-page .instagram-tile.tile-5 { background-position:50% 100%; }
.pricing-page .instagram-tile.tile-6 { background-position:100% 100%; }
.pricing-page .social-price .instagram-profile {
  position:relative;
  border:12px solid #171819;
  background:#fff;
  color:#171819;
  box-shadow:none;
}
.pricing-page .social-price .instagram-profile::before {
  content:none;
}
.pricing-page .instagram-avatar {
  overflow:hidden;
  padding:0;
  border:2px solid #ff5a00;
  background:#ff5a00;
}
.pricing-page .instagram-avatar img {
  border:0;
  background:transparent;
  object-fit:cover;
}
.pricing-page .instagram-profile-meta span,
.pricing-page .instagram-stats span { color:#77736d; }
.pricing-page .instagram-mark { stroke:#171819; }
.pricing-page .instagram-stats {
  border-top-color:#dedbd4;
  border-bottom-color:#dedbd4;
}
.pricing-page .instagram-grid { position:relative; }
.pricing-page .instagram-tile { box-shadow:inset 0 0 0 1px rgba(255,255,255,.10); }
.pricing-page .social-price .social-phone-showcase {
  align-items:center;
  justify-content:center;
  padding:10px;
  border:0;
  background:transparent;
}
.pricing-page .social-phone-showcase-image {
  display:block;
  width:118%;
  max-width:none;
  max-height:690px;
  margin:-8px -9%;
  object-fit:contain;
  object-position:center;
  border-radius:0;
  background:transparent;
}
.pricing-page .social-phone-showcase .instagram-profile-head {
  margin:14px 8px 0;
  padding-top:16px;
  border-top:1px solid #dedbd4;
}
.pricing-page .social-phone-showcase .instagram-avatar {
  width:50px;
  height:50px;
  flex-basis:50px;
}
.pricing-page .social-phone-showcase .instagram-stats {
  margin:14px 8px 0;
  padding:14px 0 0;
  border-bottom:0;
}

/* Floating premium navigation matching the supplied header reference. */
@media (min-width:761px) {
  .header {
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto minmax(130px,1fr);
    width:calc(100% - clamp(32px,5vw,80px));
    max-width:1680px;
    min-height:92px;
    height:92px;
    margin:clamp(18px,2.4vw,34px) auto 0;
    padding-inline:clamp(28px,3.4vw,58px);
    border:1px solid rgba(17,17,16,.12);
    border-radius:22px;
    background:rgba(250,249,246,.96);
    box-shadow:0 14px 34px rgba(17,17,16,.055);
  }
  .header .wordmark { justify-self:start; margin:0; }
  .header .nav {
    justify-self:center;
    margin:0;
    gap:clamp(30px,3vw,54px);
  }
  .header .language-switch {
    justify-self:end;
    margin-left:clamp(52px,6vw,108px);
    gap:12px;
  }
  .header .language-switch span { margin-inline:2px; }
}
@media (max-width:760px) {
  .header {
    width:100%;
    margin:0;
    border-width:0 0 1px;
    border-radius:0;
    box-shadow:0 4px 18px rgba(17,17,16,.025);
  }
  .header .nav { display:none; }
  .header .nav.is-open { display:flex; }
  .calculator-form,.calculator-form>* { min-width:0; }
  .calculator-form select { width:100%; max-width:100%; }
}

/* Final compact desktop rhythm — blog is the visual reference; hero sections stay unchanged. */
@media (min-width:901px) {
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) {
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) p,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) li,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) dt,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) dd {
    font-size:18px !important;
    line-height:1.5 !important;
  }
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .eyebrow,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .overline,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .kicker,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) small,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) label,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .price-tag,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .card-category,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .service-no,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .journal-meta,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .section-side {
    font-size:14px !important;
    line-height:1.35 !important;
  }
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) h3,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) h4,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .card-title,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .price {
    font-size:34px !important;
  }
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .work-intro h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .services-head h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .process-top h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .pricing-head h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .about-copy h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .switzerland-head h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .journal-head h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .faq-heading h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .faq-prices > h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .section-title h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .cta h2,
  body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero)#contact h2 {
    font-size:64px !important;
    line-height:.9 !important;
  }
  body:not(.blog-page):not(.how-blog) .section-top { margin-bottom:24px !important; }
  body:not(.blog-page):not(.how-blog) .work-intro,
  body:not(.blog-page):not(.how-blog) .section-intro,
  body:not(.blog-page):not(.how-blog) .services-head,
  body:not(.blog-page):not(.how-blog) .process-top,
  body:not(.blog-page):not(.how-blog) .pricing-head,
  body:not(.blog-page):not(.how-blog) .journal-head,
  body:not(.blog-page):not(.how-blog) .social-head { margin-bottom:32px !important; }
  body:not(.blog-page):not(.how-blog) .group,
  body:not(.blog-page):not(.how-blog) .image-gallery { padding-top:38px !important; }
  body:not(.blog-page):not(.how-blog) .work-grid,
  body:not(.blog-page):not(.how-blog) .media-grid,
  body:not(.blog-page):not(.how-blog) .journal-grid,
  body:not(.blog-page):not(.how-blog) .price-grid,
  body:not(.blog-page):not(.how-blog) .price-grid-detailed { gap:16px !important; }
  body:not(.blog-page):not(.how-blog) .price-grid-detailed { margin-top:30px !important; }
  body:not(.blog-page):not(.how-blog) .price-card {
    min-height:0 !important;
    padding:24px !important;
  }
  body:not(.blog-page):not(.how-blog) .price-card h3 { margin:26px 0 6px !important; }
  body:not(.blog-page):not(.how-blog) .price-card .price-up { padding-top:4px !important; }
  body:not(.blog-page):not(.how-blog) .price-card > p { margin:0 !important; }
  body:not(.blog-page):not(.how-blog) .price-includes {
    margin:14px 0 0 !important;
    padding:12px 0 0 !important;
  }
  body:not(.blog-page):not(.how-blog) .price-includes li {
    padding:8px 0 !important;
    font-size:16px !important;
    line-height:1.35 !important;
  }
  body:not(.blog-page):not(.how-blog) .price-card .text-link {
    margin-top:12px !important;
    padding-top:10px !important;
  }
  body:not(.blog-page):not(.how-blog) .process .steps { margin-top:34px !important; }
  body:not(.blog-page):not(.how-blog) .process .steps article {
    min-height:94px !important;
    padding-top:16px !important;
    padding-bottom:16px !important;
  }
  body:not(.blog-page):not(.how-blog) .about-portrait,
  body:not(.blog-page):not(.how-blog) .about-portrait > img { min-height:560px !important; }
  body:not(.blog-page):not(.how-blog) #contact {
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
  body:not(.blog-page):not(.how-blog) #contact .project-form textarea {
    min-height:88px !important;
    max-height:108px !important;
  }
  .legal-page .legal-main {
    padding-top:52px !important;
    padding-bottom:64px !important;
  }
  .legal-page .legal-main > .offer-line,
  .legal-page.legal-privacy .legal-main > section > .offer-line {
    font-size:64px !important;
    margin-bottom:26px !important;
  }
  .legal-page .legal-main h2 { font-size:34px !important; margin-top:24px !important; }
  .legal-page .legal-main h3,
  .legal-page .legal-main p,
  .legal-page .legal-main li { font-size:18px !important; }
  .legal-page .legal-main > .overline,
  .legal-page.legal-privacy .legal-main > section > .overline,
  .legal-page.legal-privacy .lang-switch a { font-size:14px !important; }
}
html,body{overflow-x:clip}

/* Partnership information stays prominent on the pricing page. */
.pricing-page .price-partners article {
  min-height: 470px;
  padding: clamp(28px, 3vw, 42px) clamp(24px, 3vw, 38px) 28px;
  border: 0;
  background: var(--ink);
  color: #fff;
  box-shadow: 0 16px 38px rgba(17,17,16,.12);
}
.pricing-page .price-partners article > span { color: var(--orange); }
.pricing-page .price-partners article > b { color: rgba(255,255,255,.10); }
.pricing-page .price-partners article h2 { font-size: clamp(2rem, 3vw, 3.2rem); color: #fff; }
.pricing-page .price-partners article p { color: #c4c2bd; }
.pricing-page .price-partners article ul { border-top-color: rgba(255,255,255,.16); }
.pricing-page .price-partners article li { color: #f7f6f2; border-bottom-color: rgba(255,255,255,.16); }
.pricing-page .price-partners article small { color: #fff; }
.pricing-page .price-partners article .button { background: var(--orange); color: #fff; border-color: var(--orange); }
.pricing-page .included-strip { background: #fff; box-shadow: var(--template-shadow); }
@media (max-width: 600px) {
  .pricing-page .price-partners article { min-height: auto; }
}

/* Shared type scale: display, section, card and body sizes stay proportional. */
:root {
  --type-hero: clamp(56px, 6.4vw, 92px);
  --type-section: clamp(48px, 6.8vw, 86px);
  --type-card: clamp(28px, 3.2vw, 46px);
  --type-body: clamp(14px, 1.05vw, 16px);
  --type-small: 11px;
}
.hero h1, .price-hero h1, .page-title { font-size: var(--type-hero); }
.work h2, .services h2, .pricing h2, .process h2, .about h2,
.faq h2, .contact h2, .price-hero h1 { letter-spacing: -.04em; }
.work-intro > p, .services-head > p, .pricing-head > p,
.about-copy > p:not(.eyebrow), .faq-heading > p:last-child,
.price-card > p, .price-partners article p, .premium-feature p,
.social-price p { font-size: var(--type-body); line-height: 1.65; }
.price-card h3, .price-partners article h2, .premium-feature h2,
.social-price h2, .service-list h3 { font-size: var(--type-card); line-height: .94; }
.price-includes li, .price-partners li, .premium-feature li,
.social-price li { font-size: 13px; line-height: 1.45; }
.eyebrow, .price-tag, .section-side, .section-top .eyebrow,
.price-partners article > span, .group-count { font-size: var(--type-small); line-height: 1.2; }
.price { font-size: clamp(38px, 4.5vw, 64px); line-height: .9; }
@media (max-width: 760px) {
  .hero h1, .price-hero h1, .page-title { font-size: clamp(48px, 12vw, 70px); }
  .work h2, .services h2, .pricing h2, .process h2, .about h2,
  .faq h2, .contact h2 { font-size: clamp(50px, 13vw, 78px); }
  .price-card h3, .price-partners article h2, .premium-feature h2,
  .social-price h2, .service-list h3 { font-size: clamp(27px, 8vw, 40px); }
  .price { font-size: 42px; }
}
/* Legal pages use the same spacing, type scale and surfaces as the main site. */
.legal-page{background:#f8f7f4;color:#111}
.legal-page .legal-main{width:min(100% - 48px,1120px);margin:0 auto;padding:clamp(78px,10vw,140px) 0 clamp(80px,11vw,150px)}
.legal-page .legal-main .overline{margin:0 0 18px;color:#ff5a00;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.legal-page .legal-main h1{margin:0 0 clamp(48px,7vw,84px);font-family:"Barlow Condensed",Arial,sans-serif;font-size:clamp(58px,8vw,108px);font-weight:600;line-height:.9;letter-spacing:-.035em;text-transform:uppercase}
.legal-page .legal-main h2{margin:42px 0 12px;padding-top:22px;border-top:1px solid #d8d4ce;font-family:"Barlow Condensed",Arial,sans-serif;font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1;text-transform:uppercase}
.legal-page .legal-main p,.legal-page .legal-main li{max-width:78ch;margin:0 0 16px;color:#54514d;font-size:16px;line-height:1.75}
.legal-page .legal-main a{color:#111;text-decoration-color:#ff5a00;text-underline-offset:4px}
.legal-page .legal-main a:hover{color:#ff5a00}
@media(max-width:760px){.legal-page .legal-main{width:min(100% - 32px,1120px);padding:62px 0 90px}.legal-page .legal-main h1{font-size:clamp(48px,17vw,72px);margin-bottom:42px}.legal-page .legal-main h2{margin-top:34px;font-size:29px}}

/* Final compact mobile system: one clear scale, rhythm and stacking model. */
@media (max-width:760px) {
  :root {
    --mobile-gutter:18px;
    --mobile-section:50px;
    --type-hero:clamp(42px,11.5vw,52px);
    --type-section:clamp(40px,10.8vw,50px);
    --type-card:clamp(25px,7.2vw,32px);
    --type-body:14px;
    --type-small:10px;
  }

  body { font-size:15px; line-height:1.5; }
  .section-pad { padding:var(--mobile-section) var(--mobile-gutter); }
  .section-top {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:start;
    padding-bottom:12px;
  }
  .eyebrow,.section-side,.price-tag,.journal-meta,.group-count {
    font-size:10px !important;
    line-height:1.3;
    letter-spacing:.13em;
  }
  .button { min-height:46px; padding:0 18px; font-size:11px; }
  .text-link { font-size:12px; }

  .header {
    height:64px;
    min-height:64px;
    padding-inline:var(--mobile-gutter);
  }
  .header .wordmark img { width:132px; max-height:27px; }
  .header .nav {
    top:63px;
    align-items:stretch !important;
    gap:0 !important;
    padding:6px var(--mobile-gutter) 12px;
    font-size:13px;
  }
  .header .nav a { min-height:0; padding:10px 0; text-align:left; }
  .header .language-switch { gap:6px; margin-right:0; font-size:10px; }
  .menu-toggle { min-width:40px; min-height:40px; padding:9px; }

  /* Home hero: content first, visual second, services last. */
  .hero {
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:28px var(--mobile-gutter) 28px !important;
    overflow:hidden;
  }
  .hero .hero-copy {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    order:0;
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
    background:none !important;
    mix-blend-mode:normal !important;
  }
  .hero .hero-copy h1 {
    margin:0 0 12px;
    font-size:var(--type-hero) !important;
    line-height:.88;
  }
  .hero .hero-lead {
    max-width:34ch;
    margin:0 0 18px;
    font-size:14px !important;
    line-height:1.48 !important;
  }
  .hero .hero-copy .button { width:100%; justify-content:space-between; }
  .hero .hero-note { display:block; margin:10px 0 0; font-size:10px; line-height:1.45; }
  .hero .model-wrap {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    order:1;
    width:100% !important;
    height:238px !important;
    min-height:0 !important;
    flex:0 0 238px !important;
    margin:22px 0 18px !important;
    transform:none !important;
    overflow:hidden;
    border-radius:12px;
    background:radial-gradient(circle at 50% 42%,#f5f1ea 0,#e8e1d7 62%,#d9d0c5 100%);
  }
  .hero .model-wrap .model,
  .hero .model-wrap .model-state {
    width:100% !important;
    height:100% !important;
    transform:none !important;
    object-fit:contain !important;
    object-position:center bottom !important;
  }
  .hero .hero-services {
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    order:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    width:100% !important;
    margin:0 !important;
  }
  .hero-services article {
    display:grid;
    grid-template-columns:17px minmax(0,1fr);
    gap:6px;
    min-width:0;
    padding-top:10px;
  }
  .hero-services h2 { margin:0 0 5px; font-size:21px; line-height:.95; }
  .hero-services p { margin:0; font-size:10.5px; line-height:1.4; }
  .hero-index { font-size:9px; }
  .hero .hero-bottom,.hero .hero-coordinate { display:none !important; }

  /* Shared compact typography for every homepage section. */
  .work h2,.services h2,.process h2,.pricing h2,.about h2,
  .switzerland h2,.social h2,.journal h2,.faq h2,.contact h2 {
    font-size:var(--type-section) !important;
    line-height:.88 !important;
    letter-spacing:-.035em;
  }
  .work-intro,.services-head,.pricing-head,.journal-head {
    display:block;
    padding:26px 0 22px;
    margin:0;
  }
  .pricing-head h2 { font-size:clamp(34px,8.7vw,44px) !important; letter-spacing:-.045em; }
  .pricing-head h2 .pricing-first-line { white-space:nowrap; }
  .work-intro>p,.services-head>p,.pricing-head>p,.journal-head>p,
  .about-copy>p:not(.eyebrow),.faq-heading>p:last-child,
  .switzerland-head>div>p:last-child,.contact>div>p {
    margin-top:18px;
    font-size:14px !important;
    line-height:1.55 !important;
  }
  .work-grid { grid-template-columns:1fr; gap:22px; }
  .card-caption { gap:8px; padding-top:10px; font-size:10px; }

  .service-list article {
    grid-template-columns:28px minmax(0,1fr) 22px;
    gap:10px;
    padding:18px 0;
  }
  .service-list h3 { font-size:var(--type-card) !important; }
  .service-list p { margin-top:8px; font-size:13px !important; line-height:1.5 !important; }
  .service-list article>span { font-size:10px; }

  .why-grid { gap:26px; margin-top:28px; }
  .why-image { height:72vw; max-height:300px; }
  .why-list article { grid-template-columns:28px 1fr; padding:17px 0; }
  .why-list h3 { margin:0 0 7px; font-size:26px; }
  .why-list p { font-size:13px !important; line-height:1.5 !important; }
  .why-points { gap:14px; margin-top:28px; padding-top:16px; }

  /* Process is a single readable list on phones. */
  .process .process-top { display:block; }
  .process .process-top>p { margin:18px 0 0; font-size:14px; line-height:1.55; }
  .process .steps {
    display:block !important;
    margin-top:28px;
    border-top:1px solid #ffffff54;
  }
  .process .steps article,
  .process .steps article:nth-child(2n) {
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:4px 10px;
    min-height:0;
    margin:0;
    padding:16px 0;
    border-right:0;
    border-bottom:1px solid #ffffff2b;
  }
  .process .steps article:nth-last-child(-n+2) { border-bottom:1px solid #ffffff2b; }
  .process .steps article:last-child { border-bottom:0; }
  .process .steps article>span { grid-row:1 / 3; font-size:10px; }
  .process .steps h3 { grid-column:2; margin:0; font-size:25px; line-height:1; }
  .process .steps p { grid-column:2; max-width:none; margin:0; font-size:13px !important; line-height:1.45 !important; }

  .price-grid { gap:12px; }
  .price-card { min-height:0 !important; padding:20px !important; }
  .price-card h3 { font-size:28px !important; }
  .price-card .price { font-size:38px !important; }
  .price-card>p { min-height:0 !important; font-size:13px !important; line-height:1.5 !important; }
  .price-includes li { font-size:12px; }
  .calculator { gap:22px; padding:22px !important; }
  .calculator h3 { font-size:34px !important; }
  .calculator>div>p { font-size:13px !important; }
  .calculator-form { gap:12px !important; }
  .calculator-result { padding:20px !important; }
  .calculator-result strong { font-size:42px !important; }

  .about { gap:28px; }
  .about-portrait { min-height:0; height:410px; }
  .about-portrait>img { min-height:0; height:100%; object-position:50% 28%; }
  .about-portrait>p { left:18px; right:18px; bottom:17px; font-size:9px; }
  .about-copy { padding:0; }

  .switzerland-grid { margin-top:34px; }
  .switzerland-grid article { padding:16px 0 18px; }
  .switzerland-grid h3 { margin:12px 0 6px; font-size:25px; }
  .switzerland-grid p { margin:0; max-width:none; font-size:13px !important; line-height:1.5 !important; }

  .social-head { margin:28px 0 18px; }
  .social-head p { margin-top:10px; font-size:13px !important; }
  .social-account { gap:12px; margin-bottom:14px; padding:14px; border-radius:7px; }
  .social-monogram { min-width:50px; height:38px; padding-right:12px; font-size:23px; }
  .social-account strong { font-size:15px; }
  .social-account>div span { font-size:10px; }
  .social-account-cta { min-height:40px; gap:10px; padding:0 12px; font-size:10px; }
  .social-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px; }
  .social-grid>a { border-top-width:4px; border-radius:7px; }
  .social-card-media { margin:7px 7px 0; border-radius:2px; }
  .social-card-copy { gap:3px; padding:9px 9px 11px; }
  .social-card-copy small { font-size:8px; }
  .social-card-copy strong { font-size:18px; }

  .journal-grid { grid-template-columns:1fr; gap:1px; }
  .journal-grid article { min-height:0; padding:20px; }
  .journal-grid h3 { max-width:none; margin:14px 0 8px; font-size:27px; }
  .journal-grid p { margin-bottom:16px; font-size:13px; line-height:1.5; }

  .faq { gap:26px; }
  .faq-list summary { padding:17px 0; font-size:16px; line-height:1.35; }
  .faq-list details p { margin-bottom:17px; font-size:14px; line-height:1.55; }
  .contact { gap:32px; }
  .contact-email { font-size:17px; }
  .project-form { gap:13px; }
  .project-form input,.project-form textarea { font-size:14px; }

  /* Blog index. */
  .blog-hero { padding-top:38px; padding-bottom:42px; }
  .blog-hero-grid { gap:22px; padding-top:30px; }
  .blog-hero h1 { font-size:var(--type-section) !important; line-height:.88; }
  .blog-hero-grid>div:last-child p { margin:0 0 18px; font-size:14px; line-height:1.55; }
  .blog-feature { gap:0; }
  .blog-feature-image { min-height:68vw; }
  .blog-feature-copy { padding:28px var(--mobile-gutter) 32px; }
  .blog-feature-copy h2 { margin-bottom:16px; font-size:var(--type-section); }
  .blog-feature-copy>p:not(.eyebrow) { margin-bottom:18px; font-size:13px; line-height:1.55; }
  .blog-card-grid { gap:10px; margin-top:24px; }
  .blog-card-image { height:58vw; max-height:290px; }
  .blog-card-copy { padding:18px; }
  .blog-card h2 { margin:14px 0 9px; font-size:27px; }
  .blog-cta .button { margin-top:24px; }

  /* Pricing page keeps every offer, but removes unnecessary mobile height. */
  .pricing-page .price-hero {
    padding:42px var(--mobile-gutter) 32px;
    text-align:left;
  }
  .pricing-page .price-hero .eyebrow { justify-content:flex-start; margin-bottom:12px; }
  .pricing-page .price-hero h1 { margin:0 0 14px; font-size:46px !important; line-height:.88; }
  .pricing-page .price-hero>p:last-child { margin:0; font-size:14px; line-height:1.5; }
  .pricing-page .base-pricing,
  .pricing-page .price-partners,
  .pricing-page .included-strip,
  .pricing-page .calculator,
  .pricing-page .premium-feature,
  .pricing-page .social-price,
  .pricing-page .faq-prices {
    width:calc(100% - 36px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
  }
  .pricing-page .base-pricing { padding:34px 0 24px; }
  .pricing-page .base-pricing .section-top { margin-bottom:14px; }
  .pricing-page .price-grid-detailed { grid-template-columns:1fr; gap:12px; margin-top:18px; }
  .pricing-page .price-card { min-height:0; padding:20px; border-radius:14px !important; }
  .pricing-page .price-card h3 { margin-top:14px; font-size:27px; }
  .pricing-page .price-card .price { font-size:54px; }
  .pricing-page .price-card>p { min-height:0; margin:10px 0; font-size:13px; }
  .pricing-page .price-card>a { padding:12px 14px; }
  .pricing-page .price-partners { grid-template-columns:1fr; gap:12px; padding:24px 0 12px; }
  .pricing-page .price-partners::before { font-size:10px; line-height:1.4; }
  .pricing-page .price-partners article { min-height:0; padding:20px; }
  .pricing-page .price-partners article b { top:14px; right:16px; font-size:54px; }
  .pricing-page .price-partners h2 { margin:14px 0 6px; font-size:28px !important; }
  .pricing-page .price-partners p { font-size:13px; line-height:1.5; }
  .pricing-page .price-partners ul { margin:16px 0; }
  .pricing-page .price-partners .button { float:none; width:100%; margin:16px 0 0; }
  .pricing-page .included-strip { margin-bottom:24px; padding:0; border-radius:10px; }
  .pricing-page .included-strip>* { flex:1 1 100%; padding:12px 15px; border-right:0; border-bottom:1px solid #deddda; font-size:11px; }
  .pricing-page .included-strip>*:last-child { border-bottom:0; }
  .pricing-page .calculator { display:block; margin-bottom:24px; padding:20px; border-radius:14px !important; }
  .pricing-page .calculator h3 { font-size:34px; }
  .pricing-page .calculator-form { grid-template-columns:1fr; }
  .pricing-page .calculator-result { grid-column:auto; grid-row:auto; margin-top:4px; }
  .pricing-page .calculator-form>.button { grid-column:auto; }
  .pricing-page .premium-feature,
  .pricing-page .social-price { display:block; margin-bottom:24px; padding:18px; border-radius:14px !important; }
  .pricing-page .premium-feature>div,.pricing-page .premium-feature aside,
  .pricing-page .social-price>div,.pricing-page .social-price aside { padding:20px; }
  .pricing-page .premium-feature h2,.pricing-page .social-price h2 { margin:12px 0 16px; font-size:38px !important; }
  .pricing-page .premium-feature>img { min-height:0; height:auto; aspect-ratio:4/3; margin:0; border-radius:10px; }
  .pricing-page .premium-feature aside,.pricing-page .social-price>aside { margin-top:12px; border-radius:10px; }
  .pricing-page .premium-feature aside strong,.pricing-page .social-price>aside strong { font-size:54px; }
  .pricing-page .social-price>div:first-child { padding:20px; }
  .pricing-page .social-price .social-phone-showcase { padding:8px 0; }
  .pricing-page .social-phone-showcase-image { width:100%; margin:0; max-height:470px; }
  .pricing-page .faq-prices { padding:34px 0 46px; }
  .pricing-page .faq-prices>h2 { margin-bottom:26px; font-size:43px; }
  .pricing-page .faq-prices article { display:block; padding:24px 0; }
  .pricing-page .faq-prices article>span { display:block; margin-bottom:10px; font-size:12px; }
  .pricing-page .faq-prices h3 { margin-bottom:15px; font-size:28px; }
  .pricing-page .faq-prices article div>p,.pricing-page .faq-prices dl div { font-size:14px; }
  .pricing-page .faq-prices dd { font-size:20px; }
}

@media (max-width:420px) {
  .social-account { align-items:flex-start; flex-wrap:wrap; }
  .social-account-cta { width:100%; }
  .hero .hero-services { gap:9px; }
  .hero-services h2 { font-size:19px; }
}

@media (max-width:760px) {
  .page-title { margin:12px 0 20px; font-size:var(--type-hero) !important; line-height:.88; }
  .page-lead { max-width:34ch; margin:0 0 24px; font-size:16px; line-height:1.55; }
  main>.section-pad:first-child>.button { width:100%; justify-content:space-between; }
  .section-dark h2 { margin:0 0 18px; font-size:var(--type-section); line-height:.88; }
  .section-dark>p { margin:0 0 20px; font-size:14px; line-height:1.55; }
}

/* Tablet bridge: keep the floating desktop navigation, but prevent clipping. */
@media (min-width:761px) and (max-width:980px) {
  .header {
    grid-template-columns:140px minmax(0,1fr) auto;
    width:calc(100% - 24px);
    height:80px;
    min-height:80px;
    margin:12px auto 0;
    padding-inline:18px;
    border-radius:16px;
  }
  .header .wordmark img { width:138px; max-height:28px; }
  .header .nav { gap:16px; font-size:11px; }
  .header .language-switch { margin-left:14px; gap:7px; font-size:10px; }
}

/* Keep the complete introductory price on one readable line on narrow screens. */
.pricing .pricing-head h2 .pricing-first-line {
  display:inline-block !important;
  white-space:nowrap !important;
}

/* SEO accessibility contrast pass — 2026-10-18 */
#work .work-intro h2 em,
#services .services-head h2 em,
#services .service-no,
#why .why-list article > span,
#pricing .pricing-head h2 em,
#calculator h3 em,
#about h2 em,
#journal h2 em,
#journal .journal-meta,
#faq h2 em {
  color:#ff5a00 !important;
}
#pricing .price-card.price-featured {
  background:#ff5a00 !important;
}
#pricing .price-card.price-featured .price-tag,
#pricing .price-card.price-featured p,
#pricing .price-card.price-featured li,
#pricing .price-card.price-featured a {
  color:#fff !important;
}

/* Remaining Lighthouse contrast pass — 2026-10-18 */
#why .why-list article > span,
#calculator #price-output,
#journal .journal-meta,
#journal a.text-link {
  color:#ff5a00 !important;
}
#calculator a.button,
#journal .journal-all,
#contact {
  background-color:#ff5a00 !important;
}


/* Light footer on the KI-Werbevideos page: keep every mark readable. */
.video-page .site-footer{background:#f8f7f4!important;color:#111110!important}
.video-page .site-footer a,.video-page .site-footer .site-footer-brand,.video-page .site-footer .site-footer-right{color:#111110!important}
.video-page .site-footer .site-footer-logo,.video-page .site-footer .site-footer-logo-i{color:#111110!important}
.video-page .site-footer .site-footer-logo-i{background:#111110!important}
.video-page .site-footer .site-footer-mid{border-color:#111110!important}


/* Refined Social-Media-Angebot: calmer hierarchy, clean media crop and a compact CTA. */
@media (min-width:981px) {
  .pricing-page .social-price {
    grid-template-columns:1.04fr .94fr .64fr;
  }
  .pricing-page .social-price > div,
  .pricing-page .social-price aside {
    padding:clamp(28px,2.8vw,48px);
  }
  .pricing-page .social-price h2 {
    margin:42px 0 20px;
    font-size:clamp(48px,4.9vw,76px);
  }
  .pricing-page .social-price > div > p:not(.eyebrow) {
    max-width:34ch;
    font-size:15px;
    line-height:1.55;
  }
  .pricing-page .social-phone-showcase {
    align-self:stretch;
    overflow:hidden;
    padding:20px 0 0;
  }
  .pricing-page .social-phone-showcase-image {
    width:112%;
    max-width:none;
    margin-left:-6%;
    object-fit:contain;
    object-position:center bottom;
  }
  .pricing-page .social-price aside > small { margin-top:14px; }
  .pricing-page .social-price aside > strong {
    margin:16px 0 2px;
    font-size:clamp(60px,4.3vw,74px);
    line-height:.9;
  }
  .pricing-page .social-price aside p {
    margin:28px 0 0;
    font-size:14px;
    line-height:1.5;
  }
  .pricing-page .social-facts { margin:26px 0 28px; }
  .pricing-page .social-facts div { padding:12px 0; font-size:14px; }
  .pricing-page .social-price aside .button {
    min-height:52px;
    padding:0 19px;
    border-radius:6px;
    font-size:10px;
    letter-spacing:.11em;
  }
}


/* Compact pricing FAQ: preserve the editorial grid while removing unused vertical space. */
.pricing-page .faq-prices {
  padding-top:clamp(54px,6vw,84px);
  padding-bottom:clamp(54px,6vw,84px);
}
.pricing-page .faq-prices > h2 {
  margin-bottom:clamp(34px,4vw,52px);
}
.pricing-page .faq-prices article {
  min-height:0;
  padding:clamp(30px,3.4vw,48px) 0;
  align-items:start;
}
.pricing-page .faq-prices article div > p {
  margin:0 0 14px;
}
.pricing-page .faq-prices dl {
  margin:0 0 16px;
}
.pricing-page .faq-prices dl div {
  padding:12px 0;
}
@media (min-width:981px) {
  .pricing-page .faq-prices article {
    grid-template-columns:64px minmax(230px,.78fr) minmax(330px,1.22fr);
    gap:28px;
  }
  .pricing-page .faq-prices h3 { font-size:clamp(30px,3vw,46px); }
  .pricing-page .faq-prices article div > p,
  .pricing-page .faq-prices dl div { font-size:16px; }
  .pricing-page .faq-prices dd { font-size:22px; }
}


/* Desktop FAQ as a compact two-column grid; phones retain the single-column reading order. */
@media (min-width:981px) {
  .pricing-page .faq-prices {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:clamp(32px,4vw,68px);
    align-items:start;
  }
  .pricing-page .faq-prices > h2 { grid-column:1 / -1; }
  .pricing-page .faq-prices article {
    display:block;
    padding:32px 0 36px;
  }
  .pricing-page .faq-prices article > span {
    display:block;
    margin-bottom:14px;
    font-size:13px;
  }
  .pricing-page .faq-prices h3 {
    max-width:18ch;
    margin:0 0 20px;
    font-size:clamp(30px,2.7vw,42px);
    line-height:.92;
  }
  .pricing-page .faq-prices article div > p,
  .pricing-page .faq-prices dl div { font-size:15px; }
  .pricing-page .faq-prices dl div { padding:10px 0; }
  .pricing-page .faq-prices dd { font-size:21px; }
}


/* Single-device social preview: focus the Instagram screen and remove the secondary device. */
@media (min-width:981px) {
  .pricing-page .social-phone-showcase {
    position:relative;
    display:block;
    overflow:hidden;
    min-height:620px;
    padding:0;
  }
  .pricing-page .social-phone-showcase-image {
    position:absolute;
    width:204% !important;
    max-width:none !important;
    height:auto;
    left:-15% !important;
    bottom:-1px;
    margin:0 !important;
  }
}

@media (min-width:981px) {
  .pricing-page .social-phone-showcase-image { clip-path:inset(0 50% 0 0); }
}

@media (min-width:981px) {
  .pricing-page .social-phone-showcase::after {
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    bottom:0;
    width:8%;
    background:#f0efeb;
    pointer-events:none;
  }
}


/* Restore the balanced two-device visual and give the price calculator a little more breathing room. */
@media (min-width:981px) {
  .pricing-page .social-phone-showcase {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:0 !important;
    padding:20px 0 0 !important;
    overflow:hidden !important;
  }
  .pricing-page .social-phone-showcase::after { display:none !important; }
  .pricing-page .social-phone-showcase-image {
    position:relative !important;
    left:auto !important;
    bottom:auto !important;
    width:112% !important;
    max-width:none !important;
    height:auto !important;
    margin-left:-6% !important;
    clip-path:none !important;
  }
  .pricing-page .calculator-form {
    column-gap:24px;
    row-gap:20px;
  }
  .pricing-page .calculator-result { margin-left:8px; }
}


/* Home journal has two entries: use two equal columns and remove the empty third panel. */
@media (min-width:761px) {
  .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}


/* Final desktop refinements: match the approved Social-Media reference and compact the contact area. */
@media (min-width:981px) {
  .pricing-page .social-price {
    grid-template-columns:1.12fr .95fr .72fr !important;
    gap:0 !important;
    padding:0 !important;
    min-height:780px;
    overflow:hidden;
  }
  .pricing-page .social-price > div:first-child {
    padding:58px 44px 46px !important;
  }
  .pricing-page .social-price h2 {
    margin:62px 0 30px !important;
    font-size:clamp(48px,4.6vw,76px) !important;
    line-height:.92 !important;
  }
  .pricing-page .social-price > div > p:not(.eyebrow) {
    max-width:34ch !important;
    font-size:15px !important;
    line-height:1.62 !important;
  }
  .pricing-page .social-phone-showcase {
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    min-height:0 !important;
    padding:22px 0 0 !important;
    overflow:hidden !important;
  }
  .pricing-page .social-phone-showcase-image {
    position:relative !important;
    left:auto !important;
    bottom:auto !important;
    width:128% !important;
    max-width:none !important;
    height:auto !important;
    margin-left:-14% !important;
    clip-path:none !important;
  }
  .pricing-page .social-price > aside {
    padding:58px 44px 48px !important;
    border-radius:0 !important;
  }
  .pricing-page .social-price aside > strong {
    margin:18px 0 8px !important;
    font-size:clamp(64px,5vw,86px) !important;
  }
  .pricing-page .social-price aside p {
    margin:30px 0 0 !important;
    font-size:15px !important;
    line-height:1.62 !important;
  }
  .pricing-page .social-facts {
    margin:30px 0 32px !important;
  }
  .pricing-page .social-facts div {
    padding:14px 0 !important;
    font-size:14px !important;
  }
  .pricing-page .social-price aside .button {
    margin-top:auto !important;
    min-height:64px !important;
    padding:0 24px !important;
    font-size:11px !important;
  }

  #contact {
    padding-top:clamp(76px,6vw,108px) !important;
    padding-bottom:clamp(72px,5.5vw,100px) !important;
    align-items:center !important;
  }
  #contact h2 {
    max-width:11.5ch;
    font-size:clamp(62px,7vw,100px) !important;
    line-height:.88 !important;
  }
  #contact > div:first-child > p:last-child {
    margin-top:20px !important;
  }
  #contact .project-form {
    align-self:center;
    row-gap:14px;
  }
  #contact .project-form textarea {
    min-height:112px;
    max-height:132px;
  }
}

/* Compact, consistent contact panel on every page and in both languages. */
#contact {
  padding-top: clamp(48px, 4.5vw, 72px) !important;
  padding-bottom: clamp(48px, 4.5vw, 72px) !important;
  align-items: center !important;
}
#contact h2 {
  max-width: 12ch;
  font-size: clamp(54px, 6vw, 88px) !important;
  line-height: .9 !important;
}
#contact .project-form {
  row-gap: 14px;
}
#contact .project-form textarea {
  min-height: 96px;
  max-height: 120px;
}
@media (max-width: 980px) {
  #contact {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
  #contact h2 {
    font-size: clamp(46px, 9vw, 68px) !important;
  }
  #contact .project-form textarea {
    min-height: 88px;
    max-height: 110px;
  }
}

/* Reference-matched Social Media Management panel on the pricing page. */
.pricing-page .social-price {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .9fr) minmax(340px, .92fr) !important;
  align-items: stretch !important;
  gap: clamp(18px, 2.2vw, 36px) !important;
  min-height: clamp(610px, 46vw, 760px) !important;
  height: auto !important;
  padding: clamp(28px, 3.2vw, 52px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(20,20,20,.10) !important;
  border-radius: 22px !important;
  background: #f8f7f3 !important;
}
.pricing-page .social-price > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 8px 0 !important;
}
.pricing-page .social-price > div:first-child > .eyebrow {
  margin: 0 0 32px !important;
  color: #171717 !important;
  font-size: 13px !important;
  letter-spacing: .16em !important;
}
.pricing-page .social-price h2 {
  margin: 0 0 22px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: clamp(38px, 3.25vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
}
.pricing-page .social-price h2 em {
  color: #ff4f00 !important;
  font-style: normal !important;
}
.pricing-page .social-price > div:first-child > p:not(.eyebrow) {
  max-width: 46ch !important;
  margin: 0 0 24px !important;
  color: #55534f !important;
  font-size: clamp(15px, 1.05vw, 18px) !important;
  line-height: 1.55 !important;
}
.pricing-page .social-price > div:first-child > ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 12px !important;
  margin: 0 !important;
  padding: 22px 0 0 !important;
  border-top: 1px solid #d8d5ce !important;
  list-style: none !important;
}
.pricing-page .social-price > div:first-child > ul li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #222 !important;
  font-size: clamp(12px, .88vw, 15px) !important;
  line-height: 1.35 !important;
}
.pricing-page .social-price > div:first-child > ul li::before {
  display: grid !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  place-items: center !important;
  border: 1px solid #ff4f00 !important;
  border-radius: 50% !important;
  background: #fffaf5 !important;
  color: #ff4f00 !important;
  font-size: 15px !important;
  content: "✓" !important;
}
.pricing-page .social-phone-showcase {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: 100% !important;
  height: min(100%, 690px) !important;
  min-height: 0 !important;
  aspect-ratio: 2 / 3 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
.pricing-page .social-phone-showcase-image {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: 690px !important;
  margin: 0 !important;
  object-fit: contain !important;
  clip-path: none !important;
}
.pricing-page .social-phone-profile-stats {
  position: absolute !important;
  z-index: 2 !important;
  top: 26% !important;
  left: 42% !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  width: 35% !important;
  padding: 3px 0 !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.96) !important;
  color: #171717 !important;
  text-align: center !important;
}
.pricing-page .social-phone-profile-stats span {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  white-space: nowrap !important;
}
.pricing-page .social-phone-profile-stats b {
  font-size: clamp(8px, .68vw, 11px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.pricing-page .social-phone-profile-stats small {
  font-size: clamp(6px, .52vw, 8px) !important;
  line-height: 1.2 !important;
}
.pricing-page .social-phone-profile-name {
  position: absolute !important;
  z-index: 2 !important;
  top: 31.5% !important;
  left: 20% !important;
  display: flex !important;
  flex-direction: column !important;
  width: 58% !important;
  padding: 2px 4px !important;
  background: rgba(255,255,255,.96) !important;
  color: #171717 !important;
  line-height: 1.25 !important;
}
.pricing-page .social-phone-profile-name b {
  font-size: clamp(7px, .62vw, 10px) !important;
}
.pricing-page .social-phone-profile-name small {
  font-size: clamp(6px, .49vw, 8px) !important;
}
.pricing-page .social-price > aside {
  display: flex !important;
  flex-direction: column !important;
  align-self: center !important;
  min-height: 0 !important;
  height: calc(100% - 52px) !important;
  margin: 26px 0 !important;
  padding: clamp(28px, 2.7vw, 44px) !important;
  border-radius: 18px !important;
  background: #171717 !important;
  color: #fff !important;
}
.pricing-page .social-price > aside > span,
.pricing-page .social-price > aside > small {
  color: #ff4f00 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
}
.pricing-page .social-price > aside > span {
  margin: 0 0 30px !important;
}
.pricing-page .social-price > aside > strong {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin: 8px 0 0 !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: clamp(42px, 4vw, 66px) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.pricing-page .social-price > aside > strong em {
  color: #ff4f00 !important;
  font-style: normal !important;
}
.pricing-page .social-price > aside > small:nth-of-type(2) {
  margin-top: 9px !important;
}
.pricing-page .social-price > aside > p {
  margin: 26px 0 20px !important;
  color: #d1d0ce !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.pricing-page .social-price .social-facts {
  margin: 0 0 22px !important;
}
.pricing-page .social-price .social-facts div {
  padding: 11px 0 !important;
  border-color: rgba(255,255,255,.2) !important;
  font-size: 12px !important;
}
.pricing-page .social-price .social-facts dt {
  color: #a6a5a3 !important;
}
.pricing-page .social-price .social-facts dd {
  color: #fff !important;
}
.pricing-page .social-price > aside .button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 56px !important;
  margin-top: auto !important;
  padding: 0 18px !important;
  border-radius: 9px !important;
  background: #ff4f00 !important;
  color: white !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
}
@media (max-width: 1100px) {
  .pricing-page .social-price {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
    min-height: 0 !important;
  }
  .pricing-page .social-price > aside {
    grid-column: 1 / -1 !important;
    width: min(100%, 560px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
  }
  .pricing-page .social-phone-showcase { height: min(68vw, 620px) !important; }
}
@media (max-width: 680px) {
  .pricing-page .social-price {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 24px !important;
  }
  .pricing-page .social-price > div:first-child > .eyebrow { margin-bottom: 18px !important; }
  .pricing-page .social-price h2 { font-size: clamp(34px, 10vw, 48px) !important; }
  .pricing-page .social-price > div:first-child > ul { gap: 12px 8px !important; }
  .pricing-page .social-price > div:first-child > ul li { font-size: 12px !important; }
  .pricing-page .social-price > div:first-child > ul li::before { flex-basis: 26px !important; width: 26px !important; height: 26px !important; }
  .pricing-page .social-phone-showcase { width: min(100%, 380px) !important; height: auto !important; justify-self: center !important; }
  .pricing-page .social-phone-showcase-image { height: auto !important; }
  .pricing-page .social-phone-profile-stats b { font-size: 9px !important; }
  .pricing-page .social-phone-profile-stats small,
  .pricing-page .social-phone-profile-name small { font-size: 6px !important; }
  .pricing-page .social-phone-profile-name b { font-size: 8px !important; }
  .pricing-page .social-price > aside { width: 100% !important; padding: 28px !important; }
}

/* The supplied social-media reference is used as-is, without recreating its artwork. */
.pricing-page .social-price {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.pricing-page .social-price-reference-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

.social-price-mobile-reference { display:none; }
@media (max-width:760px) {
  .pricing-page .social-price-reference-image { display:none !important; }
  .pricing-page .social-price-mobile-reference { display:grid !important; gap:12px; width:100%; padding:16px; background:#f8f7f4; }
  .pricing-page .social-price-mobile-panel { display:block !important; width:100% !important; height:auto !important; min-height:0 !important; margin:0 !important; border-radius:10px; object-fit:contain !important; background:#f8f7f4; }
  html[lang="en"] .pricing-page .social-price-mobile-copy { content:url("assets/pricing/mobile/social-media-en-copy.png"); }
  html[lang="en"] .pricing-page .social-price-mobile-phone { content:url("assets/pricing/mobile/social-media-en-phone.png"); }
  html[lang="en"] .pricing-page .social-price-mobile-offer { content:url("assets/pricing/mobile/social-media-en-offer.png"); }
}

/* Compact mobile footer shared by every page. */
@media (max-width:760px) {
  .site-footer { padding:22px 16px 16px !important; }
  .site-footer.site-footer .site-footer-mid { gap:10px !important; padding-bottom:16px !important; }
  .site-footer .payment-icons { gap:7px !important; }
  .site-footer .payment-icons > span { height:40px !important; border-radius:6px !important; font-size:10px !important; }
  .site-footer .payment-mastercard i { width:13px !important; height:13px !important; }
  .site-footer .site-footer-social { gap:7px !important; }
  .site-footer .site-footer-social a { height:42px !important; aspect-ratio:auto !important; border-radius:6px !important; }
  .site-footer .site-footer-social svg { width:22px !important; height:22px !important; }
  .site-footer .site-footer-bottom { gap:12px !important; padding-top:16px !important; font-size:11px !important; }
  .site-footer .site-footer-brand { width:100%; align-items:center !important; flex-direction:row !important; justify-content:space-between; gap:14px !important; font-size:10px; letter-spacing:.12em; }
  .site-footer .site-footer-logo { font-size:20px !important; }
  .site-footer .site-footer-right { gap:8px !important; }
  .site-footer .site-footer-bottom nav { gap:10px 14px !important; font-size:11px !important; }
}

/* Last-pass desktop compaction. Keep this block last so older page-specific rules cannot enlarge layouts again. */
@media (min-width:901px) {
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) {
    padding-top:52px !important;
    padding-bottom:52px !important;
  }
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) p,
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) li,
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) dt,
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) dd {
    font-size:18px !important;
    line-height:1.5 !important;
  }
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) :is(.eyebrow,.overline,.kicker,small,label,.price-tag,.card-category,.service-no,.journal-meta,.section-side) {
    font-size:14px !important;
    line-height:1.35 !important;
  }
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) :is(h2,h3,h4,.card-title,.price) {
    font-size:34px !important;
  }
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) :is(.work-intro,.services-head,.process-top,.pricing-head,.about-copy,.switzerland-head,.journal-head,.faq-heading,.section-title,.cta) h2,
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero) .faq-prices > h2,
  html body:not(.blog-page):not(.how-blog) main > section:not(.hero):not(.price-hero)#contact h2 {
    font-size:64px !important;
    line-height:.9 !important;
  }
  html body:not(.blog-page):not(.how-blog) :is(.section-top) { margin-bottom:24px !important; }
  html body:not(.blog-page):not(.how-blog) :is(.work-intro,.section-intro,.services-head,.process-top,.pricing-head,.journal-head,.social-head) { margin-bottom:32px !important; }
  html body:not(.blog-page):not(.how-blog) :is(.group,.image-gallery) { padding-top:38px !important; }
  html body:not(.blog-page):not(.how-blog) :is(.work-grid,.media-grid,.journal-grid,.price-grid,.price-grid-detailed) { gap:16px !important; }
  html body:not(.blog-page):not(.how-blog) .price-grid-detailed { margin-top:30px !important; }
  html body:not(.blog-page):not(.how-blog) .price-card {
    min-height:0 !important;
    padding:24px !important;
  }
  html body:not(.blog-page):not(.how-blog) .price-card h3 { margin:26px 0 6px !important; }
  html body:not(.blog-page):not(.how-blog) .price-card .price-up { padding-top:4px !important; }
  html body:not(.blog-page):not(.how-blog) .price-card > p { margin:0 !important; }
  html body:not(.blog-page):not(.how-blog) .price-includes { margin:14px 0 0 !important; padding:12px 0 0 !important; }
  html body:not(.blog-page):not(.how-blog) .price-includes li { padding:8px 0 !important; font-size:16px !important; line-height:1.35 !important; }
  html body:not(.blog-page):not(.how-blog) .price-card .text-link { margin-top:12px !important; padding-top:10px !important; }
  html body:not(.blog-page):not(.how-blog) .process .steps { margin-top:34px !important; }
  html body:not(.blog-page):not(.how-blog) .process .steps article { min-height:94px !important; padding-top:16px !important; padding-bottom:16px !important; }
  html body:not(.blog-page):not(.how-blog) :is(.about-portrait,.about-portrait > img) { min-height:560px !important; }
  html body:not(.blog-page):not(.how-blog) #contact { padding-top:52px !important; padding-bottom:52px !important; }
  html body:not(.blog-page):not(.how-blog) #contact .project-form textarea { min-height:88px !important; max-height:108px !important; }
  html body.legal-page .legal-main { padding-top:52px !important; padding-bottom:64px !important; }
  html body.legal-page .legal-main > .offer-line,
  html body.legal-page.legal-privacy .legal-main > section > .offer-line { font-size:64px !important; margin-bottom:26px !important; }
  html body.legal-page .legal-main h2 { font-size:34px !important; margin-top:24px !important; }
  html body.legal-page .legal-main :is(h3,p,li) { font-size:18px !important; }
  html body.legal-page .legal-main > .overline,
  html body.legal-page.legal-privacy .legal-main > section > .overline,
  html body.legal-page.legal-privacy .lang-switch a { font-size:14px !important; }
}

/* Soft rounded-square language icons across the complete site. */
html body .language-switch button {
  border-radius:10px !important;
}

html body .language-switch button::before {
  border-radius:8px !important;
  border-color:#272727 !important;
  filter:saturate(.66) brightness(1.06) !important;
  opacity:.88 !important;
  box-shadow:0 2px 6px rgba(17,17,17,.12) !important;
}

/* Final compact desktop rhythm, modelled on the approved Journal spacing. */
@media (min-width:901px) {
  html body:not(.how-blog) main > section:not(.hero):not(.price-hero) {
    padding-top:44px !important;
    padding-bottom:44px !important;
  }

  html body:not(.how-blog) :is(.work-intro,.services-head,.pricing-head) {
    padding:28px 0 !important;
    margin:0 !important;
  }

  html body:not(.how-blog) :is(.section-top) {
    padding-bottom:12px !important;
    margin-bottom:0 !important;
  }

  html body:not(.how-blog) :is(.why-grid,.why-points,.switzerland-grid,.process .steps) {
    margin-top:28px !important;
  }

  html body:not(.how-blog) .why-image {
    height:420px !important;
  }

  html body:not(.how-blog) :is(.about-portrait,.about-portrait > img) {
    min-height:0 !important;
    height:430px !important;
  }

  html body:not(.how-blog) .journal-head {
    margin-bottom:24px !important;
  }

  html body:not(.how-blog) .journal-grid article {
    min-height:220px !important;
    padding:24px !important;
  }

  html body:not(.how-blog) .social-head {
    margin:20px 0 18px !important;
  }

  html body:not(.how-blog) .social-account {
    min-height:0 !important;
    margin-bottom:14px !important;
    padding:14px 18px !important;
  }

  html body:not(.how-blog) .social-monogram {
    min-width:66px !important;
    height:42px !important;
    padding-right:16px !important;
    font-size:25px !important;
  }

  html body:not(.how-blog) .social-account strong { font-size:16px !important; }
  html body:not(.how-blog) .social-account > div span { font-size:12px !important; }
  html body:not(.how-blog) .social-account-cta {
    min-height:42px !important;
    padding:0 16px !important;
    font-size:12px !important;
  }

  html body:not(.how-blog) .social-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  html body:not(.how-blog) .social-card-media {
    aspect-ratio:16 / 9 !important;
    margin:8px 8px 0 !important;
  }

  html body:not(.how-blog) .social-card-copy {
    gap:2px !important;
    padding:9px 11px 11px !important;
  }

  html body:not(.how-blog) .social-card-copy small { font-size:9px !important; }
  html body:not(.how-blog) .social-card-copy strong { font-size:20px !important; }

  html body.pricing-page :is(.price-partners,.calculator,.premium-feature,.social-price) {
    margin-bottom:20px !important;
  }

  html body.pricing-page :is(.premium-feature,.social-price) {
    min-height:0 !important;
  }

  html body.pricing-page .social-price > div:first-child,
  html body.pricing-page .social-price .instagram-profile,
  html body.pricing-page .social-price > aside {
    padding:28px 24px !important;
  }

  html body.pricing-page .social-price h2 {
    margin:24px 0 18px !important;
    font-size:48px !important;
  }
}

@media (min-width:1100px) {
  html body:not(.how-blog) #work .work-grid {
    width:100% !important;
    margin:0 !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
  }

  html body:not(.how-blog) #work .work-card:nth-child(odd) {
    transform:none !important;
  }

  html body:not(.how-blog) #work .work-card {
    padding:7px 7px 0 !important;
    border-radius:12px !important;
  }

  html body:not(.how-blog) #work .work-card .visual {
    border-radius:7px !important;
  }

  html body:not(.how-blog) #work .work-card .card-caption {
    min-height:76px !important;
    padding:11px 54px 12px 6px !important;
  }

  html body:not(.how-blog) #work .work-card .card-caption .card-category {
    font-size:9px !important;
  }

  html body:not(.how-blog) #work .work-card .card-caption .card-title {
    margin-top:4px !important;
    font-size:23px !important;
  }

  html body:not(.how-blog) #work .work-card .video-play {
    right:9px !important;
    bottom:12px !important;
    width:42px !important;
    height:42px !important;
  }

  html body:not(.how-blog) .social-grid {
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }

  html body:not(.how-blog) .social-card-media {
    aspect-ratio:1 !important;
  }
}

/* Language selector: clean typography instead of flag icons. */
html body .header .language-switch,
html body .site-header .language-switch,
html body .language-switch {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
}

html body .header .language-switch > span,
html body .site-header .language-switch > span,
html body .language-switch > span {
  display:inline !important;
  color:#a7a39c !important;
}

html body .header .language-switch button,
html body .site-header .language-switch button,
html body .language-switch button {
  display:inline-flex !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding:6px 2px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#8b8984 !important;
  font-size:13px !important;
  line-height:1 !important;
}

html body .header .language-switch button[aria-pressed="true"],
html body .site-header .language-switch button[aria-pressed="true"],
html body .language-switch button[aria-pressed="true"] {
  color:#171717 !important;
}

html body .header .language-switch button::before,
html body .site-header .language-switch button::before,
html body .language-switch button::before {
  content:none !important;
  display:none !important;
}

/* Final site-wide spacing system: use the approved Blog section rhythm everywhere. */
@media (min-width: 901px) {
  html body:not(.site-spacing-disabled):not(.spacing-disabled) main > section:not(.hero):not(.price-hero),
  html body.legal-page .legal-main {
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  html body.portfolio-page .hero {
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  html body.portfolio-page #portfolio > section.group,
  html body.portfolio-page main > section.image-gallery {
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  html body.portfolio-page .image-gallery {
    padding-bottom:72px !important;
    width:100% !important;
    max-width:1680px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body.portfolio-page .image-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:32px 22px !important;
    margin-top:18px !important;
  }

  html body.portfolio-page .image-grid img {
    aspect-ratio:4 / 5 !important;
  }

  html body:not(.how-blog) main .about-portrait > img {
    object-position:50% 0% !important;
  }
}

/* Final mobile portrait crop: remove only the excess space above the subject. */
@media (max-width: 760px) {
  html body.home-page:not(.how-blog) main #about .about-portrait {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:2 / 3 !important;
    background:#f8f7f4 !important;
  }

  html body.home-page:not(.how-blog) main #about .about-portrait > img {
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
}

/* Final homepage showcase override: two videos per row. */
@media (min-width: 1100px) {
  html body.home-page:not(.how-blog) #work .work-grid {
    width:100% !important;
    margin:0 !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;
  }

  html body.home-page:not(.how-blog) #work .work-card {
    padding:9px 9px 0 !important;
    border-radius:16px !important;
  }

  html body.home-page:not(.how-blog) #work .work-card .visual {
    border-radius:10px !important;
  }

  html body.home-page:not(.how-blog) #work .work-card .card-caption {
    min-height:94px !important;
    padding:14px 78px 16px 9px !important;
  }

  html body.home-page:not(.how-blog) #work .work-card .card-caption .card-title {
    margin-top:5px !important;
    font-size:30px !important;
  }

  html body.home-page:not(.how-blog) #work .work-card .video-play {
    right:12px !important;
    bottom:15px !important;
    width:54px !important;
    height:54px !important;
  }
}

@media (max-width: 900px) {
  html body:not(.site-spacing-disabled):not(.spacing-disabled) main > section:not(.hero):not(.price-hero),
  html body.legal-page .legal-main {
    padding-top:51px !important;
    padding-bottom:51px !important;
  }

  html body.portfolio-page .hero,
  html body.portfolio-page #portfolio > section.group,
  html body.portfolio-page main > section.image-gallery {
    padding-top:51px !important;
    padding-bottom:51px !important;
  }

  html body:not(.how-blog) main .about-portrait > img {
    object-position:50% 0% !important;
  }
}

/* Give non-hero page content 50% more breathing room at both sides. */
:root { --gutter:clamp(36px,7.5vw,126px); }
.hero { --gutter:clamp(24px,5vw,84px); }
.section-pad:not(.hero):not(.price-hero) {
  padding-left:var(--gutter) !important;
  padding-right:var(--gutter) !important;
}
@media (max-width:760px) {
  :root { --mobile-gutter:27px; }
  .section-pad:not(.hero):not(.price-hero) {
    padding-left:var(--mobile-gutter) !important;
    padding-right:var(--mobile-gutter) !important;
  }
}

/* Blog article columns use the same wider outer margins; leave its hero intact. */
html body.how-blog main>article .wrap:not(.intro-grid),
html body.how-blog main .blog-instagram .wrap,
html body.how-blog main .cta .wrap {
  width:min(1440px,calc(100% - 20vw)) !important;
  max-width:1440px !important;
}
@media (max-width:1024px) {
  html body.how-blog main>article .wrap:not(.intro-grid),
  html body.how-blog main .blog-instagram .wrap,
  html body.how-blog main .cta .wrap {
    width:min(calc(100% - 48px),620px) !important;
    max-width:620px !important;
  }
}

/* Blog gutter pass for both languages: keep the intro/hero intact, align all
   later sections to the same outer gutter without adding nested padding. */
html body.how-blog main>article>section:not(.intro) .wrap:not(.intro-grid),
html body.how-blog main .cta .wrap {
  width:min(1440px,calc(100% - 20vw)) !important;
  max-width:1440px !important;
}
html body.how-blog main>article>section.blog-instagram .wrap {
  width:min(1440px,calc(100% - 20vw)) !important;
  max-width:1440px !important;
}
@media (max-width:1024px) {
  html body.how-blog main>article>section:not(.intro):not(.blog-instagram) .wrap:not(.intro-grid),
  html body.how-blog main .cta .wrap {
    width:min(calc(100% - 54px),620px) !important;
    max-width:620px !important;
  }
  html body.how-blog main>article>section.blog-instagram .wrap {
    width:100% !important;
    max-width:620px !important;
  }
}
html body.how-blog main .blog-instagram .wrap {
  width:100% !important;
  max-width:1440px !important;
}
@media (max-width:1024px) {
  html body.how-blog main .blog-instagram .wrap {
    width:100% !important;
    max-width:620px !important;
  }
}
@media (max-width:1024px) {
  html body.how-blog main .blog-instagram.section-pad {
    padding-left:0 !important;
    padding-right:0 !important;
  }
  html body.how-blog main .blog-instagram > .wrap {
    width:min(calc(100% - 54px),620px) !important;
    max-width:620px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
html body.how-blog main>article>section.blog-instagram .wrap:not(.intro-grid) {
  width:100% !important;
  max-width:1200px !important;
}
@media (max-width:1024px) {
  html body.how-blog main>article>section.blog-instagram .wrap:not(.intro-grid) {
    width:min(calc(100% - 54px),620px) !important;
    max-width:620px !important;
  }
}

/* Slightly increase the supporting copy on the pricing page, not the display
   headings or hero. */
body.pricing-page :is(.price-tag,.price-note,.price-includes li,.included-strip,
  .price-card > p,.premium-feature aside li,.social-price li,.social-price aside p,
  .social-facts div,.calculator-form label,.calculator-form select,
  .calculator-form input,.calculator-result small,.faq-prices article div > p,
  .faq-prices dl div) {
  font-size:calc(1em + 1px) !important;
}

/* Keep every major content block on the pricing page on one shared measure. */
body.pricing-page :is(.price-grid-detailed,.price-partners,.included-strip,
  .calculator,.premium-feature,.social-price,.faq-prices) {
  width:100% !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
html body.pricing-page main > section.price-partners.section-pad:not(.hero):not(.price-hero) {
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Unified site grid: one shared content edge on every public page. Heroes keep
   their individual composition; all following content uses the same measure. */
:root {
  --site-content-max:1200px;
  --site-content-gutter:max(27px, calc(50vw - 600px));
}

@media (min-width:761px) {
  html body.home-page main > section.section-pad:not(.hero),
  html body.product-page main > .product-section,
  html body.product-page main > .product-cta,
  html body.video-page main > .video-intro,
  html body.video-page main > .video-section,
  html body.video-page main > .video-cta,
  html body.portfolio-page main > .filters,
  html body.portfolio-page #portfolio > .group,
  html body.portfolio-page main > .image-gallery,
  html body.pricing-page main > .contact.section-pad {
    padding-left:var(--site-content-gutter) !important;
    padding-right:var(--site-content-gutter) !important;
  }
}

html body.pricing-page main > :is(.base-pricing,.price-partners,.included-strip,
  .calculator,.premium-feature,.social-price,.faq-prices).section-pad {
  width:min(var(--site-content-max), calc(100% - 54px)) !important;
  max-width:var(--site-content-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

html body.how-blog main > article > section:not(.intro) > .wrap:not(.intro-grid),
html body.how-blog main > article > section.blog-instagram > .wrap:not(.intro-grid),
html body.how-blog main > .cta > .wrap {
  width:min(var(--site-content-max), calc(100% - 54px)) !important;
  max-width:var(--site-content-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
html body.how-blog main > article > section.blog-instagram.section-pad {
  padding-left:0 !important;
  padding-right:0 !important;
}

html body.legal-page .legal-main,
html body.legal-page.legal-longform .legal-main {
  width:min(var(--site-content-max), calc(100% - 54px)) !important;
  max-width:var(--site-content-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

html body.journal-article-page :is(.nav.wrap,.hero.wrap),
html body:not([class]) :is(.nav.wrap,.hero.wrap) {
  width:min(var(--site-content-max), calc(100% - 54px)) !important;
  max-width:var(--site-content-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
html body.journal-article-page .article.wrap,
html body:not([class]) .article.wrap {
  width:min(900px, calc(100% - 54px)) !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

@media (max-width:760px) {
  html body.home-page main > section.section-pad:not(.hero),
  html body.product-page main > .product-section,
  html body.product-page main > .product-cta,
  html body.video-page main > .video-intro,
  html body.video-page main > .video-section,
  html body.video-page main > .video-cta,
  html body.portfolio-page main > .filters,
  html body.portfolio-page #portfolio > .group,
  html body.portfolio-page main > .image-gallery,
  html body.pricing-page main > .contact.section-pad {
    padding-left:27px !important;
    padding-right:27px !important;
  }
}




/* footer-width-align-20261020: footer content uses the same side gutter as the page sections */
@media (min-width:761px){
  html body footer.site-footer{padding-left:var(--site-content-gutter)!important;padding-right:var(--site-content-gutter)!important}
}
