
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-SemiBold.woff2") format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("../fonts/EBGaramond-Italic-subset.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0152-0153,U+2013-2014,U+2018-2019,U+201C-201D,U+2026,U+20AC}
[data-apple-chrome]{
  color-scheme:light;
  --font:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --bg:#fff;--bg-alt:#f5f5f7;--fill:#fff;--fill-alt:#f5f5f7;--indicator:#fff;
  --label:#1d1d1f;--label-2:#6e6e73;--label-3:#86868b;
  --separator:rgb(0 0 0 / 12%);
  --tint:#1a5cf0;--button:#1a5cf0;--button-hover:#164fd0;
  --control:rgb(0 0 0 / 6%);--control-hover:rgb(0 0 0 / 10%);
  --material:rgb(255 255 255 / 72%);--material-thick:rgb(250 250 252 / 88%);
  --scrim-nav:rgb(0 0 0 / 18%);
  --shadow-sm:0 1px 2px rgb(0 0 0 / 8%),0 2px 6px rgb(0 0 0 / 4%);
  --shadow-lg:0 1.5rem 4rem rgb(0 0 0 / 20%),0 .25rem 1rem rgb(0 0 0 / 8%);
  /* Paper cards lifted off the page (formats, making-of prints), and lifted further on hover. */
  --shadow-card:0 .75rem 2rem rgb(0 0 0 / 12%),0 .125rem .375rem rgb(0 0 0 / 8%);
  --shadow-card-raised:0 1.5rem 3.5rem rgb(0 0 0 / 18%),0 .25rem .75rem rgb(0 0 0 / 10%);
  --stars:#f5a524;
  --logo-filter:brightness(0);--logo-opacity:.55;
  --gutter:clamp(1.25rem,5vw,2.75rem);
  --content:75rem;
  --inset:max(var(--gutter),calc((100% - var(--content)) / 2 + var(--gutter)));
  /* Bar and hero sit at the screen corners, not on the content column. */
  --edge:clamp(1rem,2vw,1.5rem);
  --section-space:clamp(4.5rem,9vw,8rem);
  /* One corner radius everywhere, as in the Biux design tokens. */
  --radius:10px;--radius-lg:var(--radius);--radius-md:var(--radius);--radius-sm:var(--radius);
  /* Floating bar: a gap above, then the glass bar itself. */
  --nav-gap:.75rem;--bar-height:3.25rem;--nav-height:calc(var(--nav-gap) + var(--bar-height));
  /* iOS-like ease-out for arrivals, and its time-reversed mirror for departures. */
  --ease:cubic-bezier(.32,.72,0,1);
  --ease-mirror:cubic-bezier(1,0,.68,.28);
  --ease-standard:cubic-bezier(.25,.1,.25,1);
}
[data-apple-chrome],[data-apple-chrome] *,[data-apple-chrome]::before,[data-apple-chrome] *::before,[data-apple-chrome]::after,[data-apple-chrome] *::after{box-sizing:border-box}
[data-apple-chrome]{font:100%/1.47 var(--font);color:var(--label)}
[data-apple-chrome]{font-size:1.0625rem;letter-spacing:0;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html.locked{overflow:hidden}
[data-apple-chrome] img,[data-apple-chrome] video,[data-apple-chrome] svg{display:block;max-width:100%}
[data-apple-chrome] img{height:auto}
[data-apple-chrome] a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
[data-apple-chrome] button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
[data-apple-chrome] h1,[data-apple-chrome] h2,[data-apple-chrome] h3,[data-apple-chrome] p,[data-apple-chrome] figure,[data-apple-chrome] blockquote,[data-apple-chrome] ul,[data-apple-chrome] ol{margin:0}
[data-apple-chrome] ul,[data-apple-chrome] ol{list-style:none;padding:0}
[data-apple-chrome] address{font-style:normal}
[data-apple-chrome] summary{list-style:none;cursor:pointer}
[data-apple-chrome] summary::-webkit-details-marker{display:none}
[data-apple-chrome] .icon{width:1.25rem;height:1.25rem;flex:none}
[data-apple-chrome] .icon--chevron{width:.8em;height:.8em}
[data-apple-chrome] .icon--disclosure{width:.75rem;height:.75rem}
[data-apple-chrome] h1{font-size:clamp(2.75rem,1.6rem + 4.2vw,5rem);line-height:1.05;letter-spacing:-.025em;font-weight:700;text-wrap:balance}
[data-apple-chrome] h2{font-size:clamp(2rem,1.4rem + 2.2vw,3.5rem);line-height:1.08;letter-spacing:-.02em;font-weight:400;text-wrap:balance}
[data-apple-chrome] h3{font-size:1.3125rem;line-height:1.24;letter-spacing:-.012em;font-weight:600}
[data-apple-chrome] .ac-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.6875rem 1.375rem;border-radius:var(--radius);font-size:1.0625rem;line-height:1.2;letter-spacing:-.01em;white-space:nowrap;transition:background-color .2s var(--ease-standard),transform .1s ease-out}
[data-apple-chrome] .ac-button:active{transform:scale(.97)}
[data-apple-chrome] .button--primary{background:var(--button);color:#fff}
[data-apple-chrome] .button--primary:hover{background:var(--button-hover)}
[data-apple-chrome] .button--small{min-height:1.75rem;padding:.3125rem .875rem;font-size:.8125rem;letter-spacing:0}
[data-apple-chrome] .button--small::after{content:"";position:absolute;inset:-.5rem -.25rem}
[data-apple-chrome] .button--block{width:100%;min-height:3.25rem}
.ac-nav{--glass:rgb(36 36 34 / 58%);--glass-thick:rgb(36 36 34 / 76%);--glass-line:rgb(255 255 255 / 10%);position:sticky;top:0;z-index:50;height:var(--nav-height);padding-top:var(--nav-gap);color:#fff;pointer-events:none}
.ac-nav>*{pointer-events:auto}
[data-apple-chrome] .nav-bar{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;height:var(--bar-height);padding-inline:var(--edge)}
[data-apple-chrome] .ac-nav-logo,[data-apple-chrome] .nav-links,[data-apple-chrome] .nav-menu-button{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:0 .5rem 2rem rgb(0 0 0 / 14%);transition:background-color .3s var(--ease-standard)}
.ac-nav.is-open .nav-links,.ac-nav.is-mobile-open .nav-menu-button{background:var(--glass-thick)}
[data-apple-chrome] .ac-nav-logo{justify-self:start;display:flex;align-items:center;height:100%;padding:0 1.25rem;border-radius:var(--radius);color:#fff}
[data-apple-chrome] .ac-nav-logo svg{flex:none;width:3.5rem;height:auto;overflow:visible}
[data-apple-chrome] .nav-links{justify-self:center;display:flex;align-items:center;height:100%;padding:0 .375rem;border-radius:var(--radius)}
[data-apple-chrome] .nav-links ul{display:flex;align-items:center;gap:.125rem}
[data-apple-chrome] .ac-nav-link{position:relative;display:inline-flex;white-space:nowrap;align-items:center;gap:.375rem;min-height:2.375rem;padding:0 .875rem;border-radius:var(--radius);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;transition:background-color .2s var(--ease-standard)}
[data-apple-chrome] .ac-nav-link::after{content:"";position:absolute;inset:-.25rem 0}
[data-apple-chrome] .ac-nav-link:hover{background:rgb(255 255 255 / 10%)}
[data-apple-chrome] .ac-nav-link[aria-expanded="true"]{background:rgb(255 255 255 / 16%)}
[data-apple-chrome] .ac-nav-link:active{background:rgb(255 255 255 / 22%)}
[data-apple-chrome] .nav-language{display:flex;align-items:center;height:1.5rem;margin-left:.375rem;padding-left:.375rem;border-left:1px solid rgb(255 255 255 / 18%)}
[data-apple-chrome] .nav-language-trigger{position:relative;display:inline-flex;align-items:center;gap:.5rem;min-height:2.375rem;padding:0 .75rem;border-radius:var(--radius);font-size:.75rem;font-weight:600;letter-spacing:.06em;color:#fff;cursor:pointer;transition:background-color .2s var(--ease-standard)}
[data-apple-chrome] .nav-language-trigger::after{content:"";position:absolute;inset:-.25rem 0}
[data-apple-chrome] .nav-language-trigger:hover{background:rgb(255 255 255 / 10%)}
[data-apple-chrome] .nav-language-trigger[aria-expanded="true"]{background:rgb(255 255 255 / 16%)}
[data-apple-chrome] .nav-language-trigger:active{background:rgb(255 255 255 / 22%)}
[data-apple-chrome] .nav-language-trigger .icon--disclosure{transition:transform .35s var(--ease)}
[data-apple-chrome] .nav-language-trigger[aria-expanded="true"] .icon--disclosure{transform:rotate(180deg)}
[data-apple-chrome] .flag{flex:none;display:grid;place-items:center;width:1.25rem;height:1.25rem}
[data-apple-chrome] .flag-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.125rem;line-height:1}
[data-apple-chrome] .flag-drawn{display:none;width:1.125rem;height:1.125rem;border-radius:50%;box-shadow:0 0 0 1px rgb(255 255 255 / 22%)}
.no-flag-emoji [data-apple-chrome] .flag-emoji{display:none}
.no-flag-emoji [data-apple-chrome] .flag-drawn{display:block}
[data-apple-chrome] .nav-language-menu{position:absolute;z-index:3;top:calc(var(--nav-height) + .5rem);right:var(--language-right,var(--edge));display:grid;gap:.125rem;min-width:12rem;padding:.375rem;border-radius:var(--radius);background:var(--glass-thick);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);box-shadow:0 1.5rem 4rem rgb(0 0 0 / 28%);color:#fff;opacity:0;visibility:hidden;transform:translateY(-.375rem) scale(.96);transform-origin:100% 0;transition:opacity .25s var(--ease-mirror),transform .32s var(--ease-mirror),visibility 0s linear .32s}
.ac-nav.is-language-open .nav-language-menu{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .45s var(--ease),visibility 0s}
[data-apple-chrome] .nav-language-menu a,[data-apple-chrome] .nav-language-options a{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:0 .75rem;border-radius:var(--radius);font-size:.9375rem;font-weight:500;color:rgb(255 255 255 / 80%);transition:background-color .2s var(--ease-standard),color .2s var(--ease-standard)}
[data-apple-chrome] .nav-language-menu a:hover,[data-apple-chrome] .nav-language-options a:hover{background:rgb(255 255 255 / 10%);color:#fff}
[data-apple-chrome] .nav-language-menu a:active,[data-apple-chrome] .nav-language-options a:active{background:rgb(255 255 255 / 16%)}
[data-apple-chrome] .nav-language-menu a[aria-current],[data-apple-chrome] .nav-language-options a[aria-current]{color:#fff}
[data-apple-chrome] .nav-language-menu .icon--check,[data-apple-chrome] .nav-language-options .icon--check{width:1rem;height:1rem;margin-left:auto}
[data-apple-chrome] .nav-language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
[data-apple-chrome] .nav-language-options a{background:rgb(255 255 255 / 6%)}
[data-apple-chrome] .ac-nav-link .icon--disclosure{transition:transform .35s var(--ease)}
[data-apple-chrome] .ac-nav-link[aria-expanded="true"] .icon--disclosure{transform:rotate(180deg)}
[data-apple-chrome] .nav-actions{justify-self:end;display:flex;align-items:center;gap:.5rem;height:100%}
[data-apple-chrome] .nav-actions .ac-button{min-height:var(--bar-height);padding:0 1.5rem;font-size:.9375rem;font-weight:600}
[data-apple-chrome] .nav-menu-button{display:none;position:relative;width:var(--bar-height);height:var(--bar-height);border-radius:var(--radius);color:#fff}
[data-apple-chrome] .nav-menu-button span{position:absolute;top:50%;left:calc(50% - .5rem);width:1rem;height:.09375rem;border-radius:1px;background:currentColor;transition:transform .35s var(--ease)}
[data-apple-chrome] .nav-menu-button span:first-child{transform:translateY(-.1875rem)}
[data-apple-chrome] .nav-menu-button span:last-child{transform:translateY(.1875rem)}
.ac-nav.is-mobile-open .nav-menu-button span:first-child{transform:rotate(45deg)}
.ac-nav.is-mobile-open .nav-menu-button span:last-child{transform:rotate(-45deg)}
[data-apple-chrome] .nav-flyout,[data-apple-chrome] .ac-nav-mobile{position:absolute;z-index:1;top:calc(var(--nav-height) + .75rem);left:50%;width:min(100% - 2 * var(--edge),75rem);overflow:hidden;border-radius:var(--radius);background:var(--glass-thick);-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);box-shadow:0 1.5rem 4rem rgb(0 0 0 / 28%);color:#fff;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-.5rem) scale(.98);transform-origin:50% 0;transition:opacity .25s var(--ease-mirror),transform .32s var(--ease-mirror),visibility 0s linear .32s}
[data-apple-chrome] .nav-flyout{display:grid}
.ac-nav.is-open .nav-flyout,.ac-nav.is-mobile-open .ac-nav-mobile{opacity:1;visibility:visible;transform:translateX(-50%);transition:opacity .3s var(--ease),transform .45s var(--ease),visibility 0s}
[data-apple-chrome] .flyout-group{grid-area:1/1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);opacity:0;visibility:hidden;transition:opacity .2s var(--ease-mirror),visibility 0s linear .2s}
[data-apple-chrome] .flyout-group.is-active{opacity:1;visibility:visible;transition:opacity .3s var(--ease) .05s,visibility 0s}
[data-apple-chrome] .flyout-group:not(.is-sized){position:absolute;inset:0 0 auto}
[data-apple-chrome] .mega-list{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,21rem));align-content:start;gap:1.5rem 2rem;padding:2rem 2rem 2.25rem}
[data-apple-chrome] .mega-column{display:grid;align-content:start;gap:1.75rem}
[data-apple-chrome] .flyout-heading{margin-bottom:.5rem;font-size:.6875rem;line-height:1.33;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgb(255 255 255 / 55%)}
[data-apple-chrome] .mega-column ul{display:grid;gap:.125rem;margin-inline:-.75rem}
[data-apple-chrome] .mega-item{display:flex;align-items:center;gap:.875rem;padding:.625rem .75rem;border-radius:var(--radius);font-size:1.0625rem;line-height:1.25;font-weight:500;color:rgb(255 255 255 / 86%);transition:background-color .2s var(--ease-standard),color .2s var(--ease-standard),transform .1s ease-out}
[data-apple-chrome] .mega-item.is-current{background:rgb(255 255 255 / 9%);color:#fff}
[data-apple-chrome] .mega-item:active{transform:scale(.98)}
[data-apple-chrome] .mega-thumb{flex:none;width:2.5rem;height:2.5rem;border-radius:var(--radius);object-fit:cover;background:rgb(255 255 255 / 10%)}
[data-apple-chrome] .mega-list--services{grid-template-columns:minmax(0,30rem)}
[data-apple-chrome] .mega-list--services .mega-thumb{width:2.75rem;height:2.75rem}
[data-apple-chrome] .mega-item-text{display:grid;gap:.1875rem;min-width:0}
[data-apple-chrome] .mega-item-title{display:flex;align-items:center;gap:.5rem}
[data-apple-chrome] .mega-item-note{font-size:.8125rem;line-height:1.35;font-weight:400;color:rgb(255 255 255 / 55%)}
[data-apple-chrome] .mega-item--soon .mega-item-title{color:rgb(255 255 255 / 60%)}
[data-apple-chrome] .mega-badge{display:inline-block;padding:.125rem .4375rem;border:1px solid rgb(255 255 255 / 28%);border-radius:var(--radius);font-size:.625rem;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;color:rgb(255 255 255 / 70%)}
[data-apple-chrome] .mega-more,[data-apple-chrome] .mobile-children .mobile-more{display:inline-flex;align-items:center;gap:.25rem;justify-self:start;font-size:.9375rem;font-weight:500;color:#fff}
[data-apple-chrome] .mega-more .icon--chevron,[data-apple-chrome] .mobile-more .icon--chevron{width:1rem;height:1rem;transition:transform .25s var(--ease)}
[data-apple-chrome] .mega-more:hover .icon--chevron{transform:translateX(.125rem)}
[data-apple-chrome] .mega-preview{display:grid;margin:2rem 0;padding:0 2rem;border-left:1px solid var(--glass-line)}
[data-apple-chrome] .flyout-group--cards{grid-template-columns:minmax(0,13rem) minmax(0,1fr);grid-template-rows:1fr auto;column-gap:2rem;padding:2rem 2rem 0}
[data-apple-chrome] .flyout-cards-title{font-size:clamp(2rem,1.4rem + 1.4vw,2.75rem);line-height:1;letter-spacing:-.03em;font-weight:600;color:#fff}
[data-apple-chrome] .flyout-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:1.5rem;min-height:0;margin:0;padding:0;list-style:none}
[data-apple-chrome] .flyout-cards li{display:grid;min-height:0}
[data-apple-chrome] .flyout-card{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:.875rem;min-height:0;font-size:1rem;color:#fff}
[data-apple-chrome] .flyout-card-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);background:rgb(255 255 255 / 8%);transition:transform .3s var(--ease-standard)}
[data-apple-chrome] .flyout-card:hover .flyout-card-image{transform:scale(1.04)}
[data-apple-chrome] .flyout-card:active .flyout-card-image{transform:scale(.98);transition-duration:.1s}
@media (prefers-reduced-motion:reduce){[data-apple-chrome] .flyout-card:is(:hover,:active) .flyout-card-image{transform:none}}
[data-apple-chrome] .flyout-cards-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem -2rem 0;padding:1rem 2rem;border-top:1px solid var(--glass-line);font-size:.875rem;color:rgb(255 255 255 / 72%)}
[data-apple-chrome] .mega-slide{grid-area:1/1;display:grid;align-content:start;gap:.5rem;opacity:0;visibility:hidden;transition:opacity .2s var(--ease-mirror),visibility 0s linear .2s}
[data-apple-chrome] .flyout-group.is-active .mega-slide.is-current{opacity:1;visibility:visible;transition:opacity .3s var(--ease),visibility 0s}
.ac-nav:not(.is-open) .nav-flyout{pointer-events:none}
[data-apple-chrome] .mega-slide-image{width:100%;height:auto;aspect-ratio:16/9;margin-bottom:.75rem;border-radius:var(--radius);object-fit:cover;background:rgb(255 255 255 / 8%);transform:scale(1.02);transition:transform .6s var(--ease)}
[data-apple-chrome] .mega-slide.is-current .mega-slide-image{transform:none}
[data-apple-chrome] .mega-slide-title{font-size:1.25rem;line-height:1.2;font-weight:600;letter-spacing:-.01em}
[data-apple-chrome] .mega-player{grid-area:1/1;align-self:start;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius);opacity:0;pointer-events:none;transition:opacity .4s var(--ease-standard)}
[data-apple-chrome] .mega-player.is-playing{opacity:1}
[data-apple-chrome] .mega-player :is(video,iframe){position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
[data-apple-chrome] .mega-slide-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.875rem;line-height:1.45;color:rgb(255 255 255 / 62%)}
[data-apple-chrome] .mobile-children ul{display:grid;gap:.125rem}
.nav-scrim{position:fixed;inset:0;z-index:40;background:var(--scrim-nav);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);opacity:0;visibility:hidden;transition:opacity .32s var(--ease-mirror),visibility 0s linear .32s}
.nav-scrim.is-visible{opacity:1;visibility:visible;transition:opacity .45s var(--ease),visibility 0s}
[data-apple-chrome] .ac-nav-mobile{display:none}
.form-error-host{position:relative}
.form-error{position:absolute;z-index:30;top:calc(100% + .625rem);left:0;display:flex;align-items:center;gap:.5rem;width:max-content;max-width:min(20rem,calc(100vw - 2rem));margin:0;padding:.5rem .75rem .5rem .5rem;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgb(0 0 0 / 8%),0 .75rem 2rem rgb(0 0 0 / 18%);font:500 .8125rem/1.35 "Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:0;color:#1d1d1f;text-align:left;animation:form-error-in .2s cubic-bezier(.32,.72,0,1)}
.form-error[hidden]{display:none}
.form-error::before{content:"";position:absolute;bottom:100%;left:1rem;border:.4375rem solid transparent;border-bottom-color:#fff;filter:drop-shadow(0 -1px 0 rgb(0 0 0 / 8%))}
.form-error-icon{flex:none;display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:6px;background:#d70015;font-size:.8125rem;font-weight:700;line-height:1;color:#fff}
.form-error-field,.form-error-field:focus{border-color:#d70015!important;box-shadow:0 0 0 1px #d70015!important;outline:0}
@media (prefers-reduced-motion:reduce){.form-error{animation:none}}
.top-crumb{position:absolute;z-index:1;top:calc(var(--nav-height) + .875rem);left:calc(var(--edge) + 1.25rem);right:var(--edge);font-size:.875rem;line-height:1.4;color:rgb(255 255 255 / 72%)}
.top-crumb li{display:inline;font:inherit}
.top-crumb li+li::before{content:"";display:inline-block;width:.25rem;height:.25rem;margin:0 .625rem 0 .5rem;border-radius:50%;background:rgb(255 255 255 / 48%);vertical-align:middle}
.top-crumb a:hover,.top-crumb [aria-current]{color:#fff}
.top-crumb ~ .blog-hero,.top-crumb ~ main .article-hero,.top-crumb ~ main .project-intro{padding-top:8.5rem}
@media (max-width:40rem){.top-crumb ~ .blog-hero,.top-crumb ~ main .article-hero,.top-crumb ~ main .project-intro{padding-top:10rem}}
.phone-row{overflow-x:hidden;overflow-x:clip;padding-block:1rem}
.phone-row-track{display:flex;width:max-content;animation:marquee var(--duration,40s) linear infinite}
.phone-row--reverse .phone-row-track{animation-direction:reverse}
.phone-row-list{display:flex;gap:1rem;padding-right:1rem}
.phone-row-list>li{display:flex;flex:none}
.phone-rows .review-card{width:min(20rem,84vw)}
.phone-rows .review-card article{padding:1.25rem}
.phone-rows .formats-print{width:min(12.5rem,56vw)}
.phone-rows .home-review-card{flex:none;width:min(20rem,84vw);min-height:0}
.phone-rows .format-card--print{width:100%}
@media (hover:none){
  .phone-rows .format-card--print:is(:hover,:active){transform:rotate(calc(var(--r) * 1deg));box-shadow:var(--shadow-card)}
  .phone-rows .home-review-card:is(:hover,:active){border-color:rgba(0,3,15,.075);box-shadow:0 10px 28px rgba(24,38,61,.06)}
}
@media (prefers-reduced-motion:reduce){
  .phone-row{overflow-x:auto;scroll-snap-type:x mandatory}
  .phone-row-track{animation:none}
  .phone-row-list{padding-left:var(--gutter,1.25rem)}
  .phone-row-list>li{scroll-snap-align:center}
  .phone-row-list[aria-hidden]{display:none}
}
@supports (interpolate-size:allow-keywords) and selector(::details-content){
  [data-apple-chrome]{interpolate-size:allow-keywords}
  [data-apple-chrome] .mobile-group::details-content{block-size:0;overflow:hidden;transition:block-size .32s var(--ease-mirror),content-visibility .32s allow-discrete}
  [data-apple-chrome] .mobile-group[open]::details-content{block-size:auto;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
}
.ac-footer{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2rem,4vw,3rem) var(--edge) 0;background:#000;color:#fff;font-size:.9375rem;line-height:1.4}
[data-apple-chrome] .footer-panel{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(0,3fr) minmax(13rem,1.2fr);gap:2rem clamp(2rem,4vw,4rem);padding:clamp(1.75rem,3vw,2.5rem);border-radius:var(--radius);background:rgb(36 36 34 / 58%);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:0 .5rem 2rem rgb(0 0 0 / 14%)}
[data-apple-chrome] .ac-footer-brand{display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
[data-apple-chrome] .footer-logo svg{display:block;width:5rem;height:auto;overflow:visible}
[data-apple-chrome] .ac-footer-socials{display:flex;gap:.625rem}
[data-apple-chrome] .ac-footer-socials a{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius);background:rgb(255 255 255 / 12%);color:#fff;transition:background-color .2s var(--ease-standard),transform .2s var(--ease-standard)}
[data-apple-chrome] .ac-footer-socials a:hover{background:rgb(255 255 255 / 22%);transform:scale(1.12)}
[data-apple-chrome] .ac-footer-socials a:active{transform:scale(.96);transition-duration:.1s}
@media (prefers-reduced-motion:reduce){[data-apple-chrome] .ac-footer-socials a:is(:hover,:active){transform:none}}
[data-apple-chrome] .ac-footer-socials .icon{width:1rem;height:1rem}
[data-apple-chrome] .footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 2rem}
.ac-footer h3{margin-bottom:.75rem;font-size:.75rem;line-height:1.33;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#fff}
[data-apple-chrome] .ac-footer-column ul{display:grid;gap:.5rem;margin-bottom:1.5rem}
[data-apple-chrome] .ac-footer-column a,[data-apple-chrome] .ac-footer-contact a{color:rgb(255 255 255 / 78%);transition:color .2s var(--ease-standard)}
[data-apple-chrome] .ac-footer-column a:hover,[data-apple-chrome] .ac-footer-contact a:hover,[data-apple-chrome] .ac-footer-legal a:hover{color:#fff}
[data-apple-chrome] .ac-footer-contact{display:grid;gap:.75rem;align-content:start;font-size:1.25rem;line-height:1.3;letter-spacing:-.01em}
[data-apple-chrome] .ac-footer-contact address{display:grid;justify-items:start;gap:.75rem;font-style:normal}
[data-apple-chrome] .ac-footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:1.25rem .25rem 1.5rem;font-size:.75rem;letter-spacing:.01em;color:rgb(255 255 255 / 70%)}
[data-apple-chrome] .ac-footer-legal ul{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
[data-apple-chrome] .ac-footer-legal a{color:inherit;transition:color .2s var(--ease-standard)}
@media (max-width:68rem){
  [data-apple-chrome] .footer-panel{grid-template-columns:minmax(0,1fr)}
  [data-apple-chrome] .ac-footer-brand{flex-direction:row;align-items:center}
}
@media (max-width:40rem){[data-apple-chrome] .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:64rem){
  [data-apple-chrome] .nav-links{display:none}
  [data-apple-chrome] .nav-bar{grid-template-columns:auto minmax(0,1fr)}
  [data-apple-chrome] .nav-actions .ac-button{padding:0 1rem;font-size:.8125rem}
  [data-apple-chrome] .nav-menu-button{display:block}
  [data-apple-chrome] .nav-flyout{display:none}
  [data-apple-chrome] .ac-nav-mobile{display:grid;align-content:start;gap:1.5rem;max-height:calc(100dvh - var(--nav-height) - 1.5rem);padding:.75rem 1.25rem 1.25rem;overflow-y:auto;overscroll-behavior:contain}
  [data-apple-chrome] .mobile-list>li{opacity:0;transform:translateY(-.5rem);transition:opacity .2s var(--ease-mirror),transform .32s var(--ease-mirror)}
  .ac-nav.is-mobile-open .mobile-list>li{opacity:1;transform:none;transition:opacity .35s var(--ease) calc(.08s + var(--i,0) * .03s),transform .45s var(--ease) calc(.08s + var(--i,0) * .03s)}
  [data-apple-chrome] .mobile-link{display:flex;align-items:center;justify-content:space-between;min-height:3.25rem;padding:.5rem 0;border-bottom:1px solid var(--glass-line);font-size:1.5rem;line-height:1.14;letter-spacing:-.015em;font-weight:600}
  [data-apple-chrome] .mobile-link .icon--disclosure{width:1.125rem;height:1.125rem;color:rgb(255 255 255 / 60%);transition:transform .35s var(--ease)}
  [data-apple-chrome] .mobile-group[open] .mobile-link .icon--disclosure{transform:rotate(180deg)}
  [data-apple-chrome] .mobile-children{display:grid;gap:1.25rem;padding:1.25rem 0 1.5rem}
  [data-apple-chrome] .mobile-children a{display:block;padding:.375rem 0;font-size:1.0625rem;color:rgb(255 255 255 / 86%)}
}
@media (min-width:64.0625rem) and (max-width:80rem){
  [data-apple-chrome] .nav-bar{column-gap:.5rem}
  [data-apple-chrome] .ac-nav-link{padding:0 .5rem}
  [data-apple-chrome] .nav-language{margin-left:.125rem;padding-left:.125rem}
  [data-apple-chrome] .nav-language-trigger{gap:.25rem;padding:0 .5rem}
  [data-apple-chrome] .nav-language-code{display:none}
}
@media (prefers-reduced-motion:reduce){
  [data-apple-chrome] .flyout-group,[data-apple-chrome] .flyout-group.is-active,[data-apple-chrome] .mega-slide-image,[data-apple-chrome] .mobile-list>li,.ac-nav.is-mobile-open .mobile-list>li{transform:none;filter:none}
  [data-apple-chrome] .nav-flyout,.ac-nav.is-open .nav-flyout,[data-apple-chrome] .ac-nav-mobile,.ac-nav.is-mobile-open .ac-nav-mobile{transform:translateX(-50%);transition:opacity .2s var(--ease-standard),visibility 0s linear .2s}
  [data-apple-chrome] .nav-flyout,[data-apple-chrome] .ac-nav-mobile{opacity:0}
  .ac-nav.is-open .nav-flyout,.ac-nav.is-mobile-open .ac-nav-mobile{opacity:1;transition:opacity .2s var(--ease-standard),visibility 0s}
  [data-apple-chrome] .nav-language-menu,.ac-nav.is-language-open .nav-language-menu{transform:none;transition:opacity .2s var(--ease-standard),visibility 0s linear .2s}
  .ac-nav.is-language-open .nav-language-menu{transition:opacity .2s var(--ease-standard),visibility 0s}
}
@media (prefers-reduced-transparency:reduce){
  [data-apple-chrome] .ac-nav-logo,[data-apple-chrome] .nav-links,[data-apple-chrome] .nav-menu-button,[data-apple-chrome] .nav-flyout,[data-apple-chrome] .ac-nav-mobile,[data-apple-chrome] .nav-language-menu,.ac-nav.is-open .nav-links,[data-apple-chrome] .footer-panel{background:#2a2a28;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav-scrim{-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-contrast:more){
  [data-apple-chrome]{--label-2:#3a3a3c;--separator:rgb(0 0 0 / 40%);--control:rgb(0 0 0 / 12%)}
  [data-apple-chrome] .ac-nav-logo,[data-apple-chrome] .nav-links,[data-apple-chrome] .nav-menu-button,[data-apple-chrome] .nav-flyout,[data-apple-chrome] .ac-nav-mobile,[data-apple-chrome] .footer-panel{background:#1d1d1f;border:1px solid rgb(255 255 255 / 45%)}
  [data-apple-chrome] .button--primary{background:#0b3fb0}
}
.corner-call{position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:35;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;pointer-events:none}
.corner-call>*{pointer-events:auto}
[data-apple-chrome] .corner-launcher{position:relative;isolation:isolate;display:grid;place-items:center;width:3.75rem;height:3.75rem;padding:0;border-radius:50%;background:linear-gradient(135deg,#080808 0%,var(--button) 100%);color:#fff;box-shadow:0 10px 15px -3px rgb(0 0 0 / 10%),0 4px 6px -4px rgb(0 0 0 / 10%);cursor:pointer;transition:all .1s cubic-bezier(.4,0,.2,1)}
@media (hover:hover){[data-apple-chrome] .corner-launcher:hover{transform:scale(1.1)}}
[data-apple-chrome] .corner-launcher:active{transform:scale(.9)}
[data-apple-chrome] .corner-moon{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.3;pointer-events:none}
[data-apple-chrome] .corner-moon-orbit{position:absolute;inset:0;transform-origin:50% 50%;animation:corner-orbit 3s linear infinite}
[data-apple-chrome] .corner-moon-shape{position:absolute;left:50%;top:50%;width:2.75rem;height:auto;transform:translateX(-50%)}
[data-apple-chrome] .corner-icon{position:relative;display:grid;place-items:center;transition:transform .1s cubic-bezier(.4,0,.2,1)}
[data-apple-chrome] .corner-glyph{grid-area:1/1}
[data-apple-chrome] .corner-glyph--calendar{width:1.3125rem;height:1.3125rem}
[data-apple-chrome] .corner-glyph--chevron{width:1.125rem;height:1.125rem}
[data-apple-chrome] .corner-glyph--chevron,.corner-call.is-open .corner-glyph--calendar{display:none}
.corner-call.is-open .corner-glyph--chevron{display:block}
.corner-call.is-open .corner-icon{transform:rotate(90deg)}
[data-apple-chrome] .corner-dot{position:absolute;top:.0625rem;right:.0625rem;width:.75rem;height:.75rem;border:2px solid #fff;border-radius:50%;background:#30d158}
[data-apple-chrome] .corner-card{width:min(22.5rem,calc(100vw - 2rem));max-height:calc(100dvh - 7rem);overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;border-radius:var(--radius);background:#fff;color:var(--label);box-shadow:var(--shadow-card-raised),0 0 0 1px var(--black-6);transform-origin:calc(100% - 1.75rem) calc(100% + 2.5rem);animation:corner-in .42s var(--ease) both}
[data-apple-chrome] .corner-card[hidden]{display:none}
[data-apple-chrome] .corner-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:1rem}
[data-apple-chrome] .corner-avatar{position:relative;width:2.5rem;height:2.5rem}
[data-apple-chrome] .corner-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
[data-apple-chrome] .corner-name{font-size:.9375rem;font-weight:600;line-height:1.25}
[data-apple-chrome] .corner-role{font-size:.8125rem;line-height:1.3;color:var(--label-2)}
[data-apple-chrome] .corner-close{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:-.625rem -.625rem -.625rem 0;border-radius:var(--radius);color:var(--label-2);transition:background-color .2s var(--ease-standard),color .2s var(--ease-standard)}
[data-apple-chrome] .corner-close:hover{background:var(--fill-alt);color:var(--label)}
[data-apple-chrome] .corner-close .icon{width:1.125rem;height:1.125rem}
[data-apple-chrome] .corner-title{font-size:1.0625rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}
[data-apple-chrome] .corner-text{margin-top:.375rem;font-size:.875rem;line-height:1.5;color:var(--label-2);text-wrap:pretty}
[data-apple-chrome] .corner-days[hidden]{display:none}
[data-apple-chrome] .corner-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.375rem;margin-top:1rem}
[data-apple-chrome] .corner-book,[data-apple-chrome] .corner-quote{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border-radius:var(--radius);font-size:.9375rem;font-weight:600;transition:background-color .2s var(--ease-standard)}
[data-apple-chrome] .corner-book{margin-top:1rem;background:var(--button);color:#fff}
[data-apple-chrome] .corner-book:hover{background:var(--button-hover)}
[data-apple-chrome] .corner-quote{margin-top:.5rem;box-shadow:inset 0 0 0 1px var(--black-12);color:var(--label)}
[data-apple-chrome] .corner-quote:hover{background:var(--fill-alt)}
[data-apple-chrome] .corner-book .icon,[data-apple-chrome] .corner-quote .icon{width:1.125rem;height:1.125rem}
@media (prefers-reduced-motion:reduce){
  [data-apple-chrome] .corner-card{animation-name:corner-fade}
  [data-apple-chrome] .corner-launcher,[data-apple-chrome] .corner-icon{transition:none}
  [data-apple-chrome] .corner-moon-orbit{animation:none}
}
[data-apple-chrome]{
  /* Text black: Apple's #1d1d1f moved off blue towards the walnut of the loft and the warm
     photos (17:1 on white). Also the solid fills drawn in the text colour (skip link, knob). */
  --ink:#1d1c1a;
  /* Background black: the dark bands (FAQ, SEO text), the grounds behind the films (hero,
     about, CTA, footer) and the dark glass's tint. Replaces #000, #0b0b0c and the three glass
     greys (36 36 34, 30 30 32, 28 28 30). */
  --night:#11100e;
  /* Card ground: #f5f5f7 warmed, so the grey cards no longer read bluish beside the photos
     (ink 15.5:1 on it). */
  --sand:#f5f4f2;
  /* Secondary text: #6e6e73 warmed; 5.4:1 on white, 4.9:1 on the sand cards. */
  --stone:#6b6a66;
  /* Secondary text when the reader asks for more contrast: #3a3a3c warmed (10:1 on sand). */
  --stone-strong:#3b3a37;
  /* White: the light page and frames, and the words, rings and marks drawn on dark. */
  --white:#fff;
  /* apple.css's blue for the primary button under prefers-contrast:more (white 8.9:1 on it),
     named here because the CTA's button is overridden below. */
  --button-strong:#0b3fb0;
  /* The opacity scale, one ladder for white and one for the background black (its channels),
     each step with one job: 6 % fills and hovers, 12 % lines and fills on dark, 24 % pressed
     and selected states, 48 % strong lines and the light end of the shades over films, 72 %
     secondary text on dark, the dark glass and the deep end of the shades (where words sit). */
  --white-6:rgb(255 255 255 / 6%);--white-12:rgb(255 255 255 / 12%);--white-24:rgb(255 255 255 / 24%);--white-48:rgb(255 255 255 / 48%);--white-72:rgb(255 255 255 / 72%);
  --black-6:rgb(17 16 14 / 6%);--black-12:rgb(17 16 14 / 12%);--black-24:rgb(17 16 14 / 24%);--black-48:rgb(17 16 14 / 48%);--black-72:rgb(17 16 14 / 72%);
  /* Glass: one recipe — the 20 px blur Kevin picked, the 160 % saturation five of the six glass
     surfaces already used — in two tints. Dark: the background black at 72 %, so on the
     floating bar over a white section white text keeps 7.7:1 and 72 % white 4.9:1 (at 58 %
     it was 3.9:1 and 3.1:1). Light: white at 72 % (the method's list over the 3D stage).
     The blur is its own token: the scrim under the open menus frosts the page with it. */
  --blur:20px;
  --glass-filter:blur(var(--blur)) saturate(160%);
  --glass-dark:var(--black-72);
  --glass-light:var(--white-72);
  /* The dark glass's edge: a 1 px inner line at the 12 % white step. Its tint is the bands'
     black, so on the FAQ and the SEO text the bar would otherwise vanish into the page. */
  --glass-edge:inset 0 0 0 1px var(--white-12);
  /* Two elevations, shaded in the background black: a card lying on the page (the prints) and
     a floating piece of interface (the bar and its menus, the panels, the method's list). They
     are told apart by distance and blur rather than by darkness: at 24 % the floating shade
     left a grey cloud under the bar's glass on every white section. */
  --shadow-card:0 .75rem 2rem var(--black-12),0 .125rem .375rem var(--black-6);
  /* The floating shade as cast on a light ground. */
  --shadow-float-on-light:0 1.25rem 3rem var(--black-12),0 .25rem .75rem var(--black-6);
  --shadow-float:var(--shadow-float-on-light);
  /* apple.css's own tokens, mapped onto the ones above. */
  --bg:var(--white);--bg-alt:var(--sand);--fill:var(--white);--fill-alt:var(--sand);
  --label:var(--ink);--label-2:var(--stone);
  --separator:var(--black-12);
  --control:var(--black-6);--control-hover:var(--black-12);
  /* The open menus' scrim: frosted by the blur, so a light dim is enough (a white section
     behind it turns #e2e2e2, not #c6c6c5). */
  --scrim-nav:var(--black-12);
  /* A print lifted on hover, the editor of the Montage style: the floating elevation. */
  --shadow-card-raised:var(--shadow-float);--shadow-lg:var(--shadow-float);
  /* Client and review logos at the 48 % step (they were 55 %): a quieter logo wall, and no
     alpha off the scale. Still 3.6:1 on white and on the sand cards, 5:1 on the background black. apple.css's filter stays (a filter cannot carry
     the ink's tint). */
  --logo-opacity:.48;
}
[data-apple-chrome] .button--primary{font-weight:600}
.ac-nav{--glass:var(--glass-dark);--glass-thick:var(--glass-dark);--glass-line:var(--white-12)}
.nav-scrim{-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur))}
[data-apple-chrome] :is(.ac-nav-logo,.nav-links,.nav-menu-button,.nav-flyout,.ac-nav-mobile,.nav-language-menu){background:var(--glass-dark);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);box-shadow:var(--glass-edge),var(--shadow-float)}
[data-apple-chrome] .nav-actions .button--primary{box-shadow:var(--shadow-float)}
[data-apple-chrome] :is(.ac-nav-link,.nav-language-trigger):hover{background:var(--white-12)}
[data-apple-chrome] :is(.ac-nav-link,.nav-language-trigger):is([aria-expanded="true"],:active){background:var(--white-24)}
[data-apple-chrome] .nav-language{border-left-color:var(--white-12)}
[data-apple-chrome] .flag-drawn{box-shadow:0 0 0 1px var(--white-24)}
[data-apple-chrome] :is(.nav-language-menu,.nav-language-options) a{color:var(--white-72)}
[data-apple-chrome] .nav-language-options a{background:var(--white-6)}
[data-apple-chrome] :is(.nav-language-menu,.nav-language-options) a:hover{background:var(--white-12);color:var(--white)}
[data-apple-chrome] :is(.nav-language-menu,.nav-language-options) a:active{background:var(--white-24)}
[data-apple-chrome] :is(.nav-language-menu,.nav-language-options) a[aria-current]{color:var(--white)}
[data-apple-chrome] :is(.flyout-heading,.mega-item-note,.mega-slide-text,.mega-item--soon .mega-item-title){color:var(--white-72)}
[data-apple-chrome] .mega-item{color:var(--white)}
[data-apple-chrome] .mega-item.is-current{background:var(--white-12)}
[data-apple-chrome] :is(.mega-thumb,.mega-slide-image){background:var(--white-12)}
[data-apple-chrome] .mega-badge{padding:calc(.125rem + 1px) calc(.4375rem + 1px);border:0;background:var(--white-12);color:var(--white)}
[data-apple-chrome] .mobile-link .icon--disclosure{color:var(--white-72)}
[data-apple-chrome] .mobile-children a{color:var(--white)}
[data-apple-chrome] .footer-panel{background:var(--white-6);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
[data-apple-chrome] .ac-footer-socials a:hover{background:var(--white-24)}
[data-apple-chrome] :is(.ac-footer-column,.ac-footer-contact) a,[data-apple-chrome] .ac-footer-legal{color:var(--white-72)}
[data-apple-chrome] :is(.ac-footer-column,.ac-footer-contact,.ac-footer-legal) a:hover{color:var(--white)}
@media (prefers-reduced-transparency:reduce){
  [data-apple-chrome]{--glass-dark:var(--night);--glass-light:var(--white);--glass-filter:none}
  .nav-scrim{-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-contrast:more){
  [data-apple-chrome]{--label-2:var(--stone-strong);--separator:var(--black-48);--control:var(--black-12);--glass-dark:var(--night)}
}
[data-apple-chrome] :where(img,button){border-radius:0}
[data-apple-chrome].ac-nav{margin-bottom:calc(var(--nav-height) * -1)}
@keyframes form-error-in{from{opacity:0;transform:translate3d(0,-.25rem,0)}}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}
@keyframes corner-orbit{to{transform:rotate(360deg)}}
@keyframes corner-in{from{opacity:0;transform:translateY(.5rem) scale(.94)}}
@keyframes corner-fade{from{opacity:0}}