/* Three small brands, three compositions. */
html.is-demo-resizing{overflow-anchor:none}
.d-panel{position:relative;isolation:isolate;min-width:0;min-height:700px;padding-inline:42px}
.d-panel>header,.d-panel>[class$="-main"],.d-panel>[class$="-bottom"],.d-coffee-menu{position:relative;z-index:1}
.d-panel [class$="-copy"]{min-width:0}
.d-panel button{touch-action:manipulation}
.d-panel button:focus-visible{outline-width:2px}
.d-coffee-nav,.d-beauty-nav,.d-repair-nav{height:88px}
.d-coffee-main,.d-beauty-main,.d-repair-main{min-width:0;padding-block:30px;gap:28px}
.d-coffee-copy h3,.d-beauty-copy h3,.d-repair-copy h3{margin:0}
.d-coffee-button,.d-menu-filter,.d-issue{min-height:44px}
.d-coffee-menu-link{min-height:44px}

/* PAUSE: a sunlit neighbourhood cafe, framed as one continuous photograph. */
.d-coffee{--cafe-gutter:42px;background:#f5ead7;color:#472d20;grid-template-rows:auto 1fr auto auto;min-height:0}
.d-coffee-logo{font-size:5.6rem;line-height:.95;letter-spacing:-.085em}
.d-coffee-logo>span{top:13px;right:-13px;color:#a63e28}
.d-coffee-nav{height:126px;border:0}
.d-coffee-nav>.d-mini-label{letter-spacing:.14em;color:#74513b}
.d-coffee-menu-link{color:#472d20}
.d-coffee-main{grid-template-columns:minmax(0,1fr);min-height:400px;gap:0;align-items:center;isolation:isolate;overflow:hidden;margin-inline:calc(-1 * var(--cafe-gutter));padding:48px var(--cafe-gutter);background:#38281c;color:#fff0da}
.d-coffee-scene{position:absolute;inset:0;z-index:-2;display:block;overflow:hidden}
.d-coffee-scene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.d-coffee-main::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#21140deb 0%,#21140da8 32%,#21140d38 61%,#21140d00 84%),linear-gradient(0deg,#21140d55,transparent 55%)}
.d-coffee-copy{position:relative;padding:0;max-width:560px;text-shadow:0 2px 18px #160d0829}
.d-coffee-eyebrow{font-size:.59rem;letter-spacing:.16em;margin-bottom:19px!important}
.d-coffee-copy h3{font-size:clamp(3.6rem,6.6vw,5.5rem);line-height:.92;letter-spacing:-.065em}
.d-coffee-copy h3>span,.d-coffee-copy h3>em{display:block;color:inherit;white-space:nowrap}
.d-coffee-copy h3>span{font-style:normal}
.d-coffee-copy h3>em{padding-top:5px;font-size:.92em;font-family:Georgia,serif;letter-spacing:-.055em}
.d-coffee-invitation{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:23px;position:relative;z-index:1}
.d-coffee-invitation>p{max-width:380px;font-size:.84rem;color:#6c4c37;line-height:1.6}
.d-coffee-button{flex:none;margin:0;border:1px solid #503524;border-radius:0;gap:26px;background:#f5ead7;color:#472d20;box-shadow:4px 4px 0 #a83f29;transition:background .2s,transform .2s,box-shadow .2s}
.d-coffee-button:hover{background:#ead7b8}
.d-coffee-button>span,.d-coffee-menu-link>span{display:inline-block;transition:transform .2s}
.d-coffee-menu{margin:0 calc(-1 * var(--cafe-gutter));padding:23px var(--cafe-gutter) 28px;border-top:1px dashed #a88462;background:#ead7b8}
.d-coffee-menu-title{margin-bottom:21px}
.d-coffee-menu-title>span{font-size:1.55rem}
.d-menu-filter{border-color:#8b6849;min-width:67px;border-radius:0;font-size:.75rem}
.d-menu-filter[aria-pressed=true]{background:#9d3923;border-color:#9d3923;color:#fff5e5}
.d-menu-items{counter-reset:coffee-item;gap:25px}
.d-menu-items>div{position:relative;padding-left:28px;counter-increment:coffee-item;min-width:0}
.d-menu-items>div::before{content:"0" counter(coffee-item);position:absolute;left:0;top:3px;font-size:.57rem;letter-spacing:.02em;color:#9d3923}
.d-menu-items strong{font-size:.86rem;line-height:1.3}
.d-menu-items span{color:#6c5039}

/* FORMA: daylight, tactile materials and a live shade sample. */
.d-beauty{--beauty-gutter:42px;background:#f3eee8;color:#3d2a3a;min-height:0;grid-template-rows:auto 1fr auto}
.d-beauty-nav{height:126px;border:0}
.d-beauty-logo{font-size:5.8rem;line-height:.95;gap:25px;letter-spacing:-.08em}
.d-beauty-logo>span{font-size:.55rem;line-height:1.65;letter-spacing:.17em;max-width:none}
.d-beauty-nav>.d-mini-label{color:#70586b;letter-spacing:.13em}
.d-beauty-mark{font-size:2.6rem;color:#75516d}
.d-beauty-main{grid-template-columns:minmax(0,1fr);min-height:460px;gap:0;align-items:center;isolation:isolate;overflow:hidden;margin-inline:calc(-1 * var(--beauty-gutter));padding:43px var(--beauty-gutter);background:#e6ded3}
.d-beauty-scene{position:absolute;inset:0;z-index:-2;display:block;overflow:hidden}
.d-beauty-scene>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 85%}
.d-beauty-main::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f7f1e8e6 0%,#f7f1e8bf 29%,#f7f1e826 56%,#f7f1e800 75%)}
.d-beauty-copy{position:relative;grid-column:auto;grid-row:auto;padding:0;max-width:430px}
.d-beauty-eyebrow{font-size:.55rem;letter-spacing:.13em;color:#5e4858;margin-bottom:21px!important}
.d-beauty-copy h3{font-size:clamp(3.4rem,5.7vw,5rem);line-height:.97;letter-spacing:-.065em}
.d-beauty-copy h3>span{color:#69405c}
.d-beauty-copy>p:not(.d-beauty-eyebrow){max-width:245px;margin-top:22px;font-size:.83rem;line-height:1.6;color:#5e4858}
.d-beauty-bottom{gap:30px;padding-block:25px 29px;border:0;align-items:center}
.d-beauty-palette{display:flex;align-items:center;gap:25px;min-width:0}
.d-beauty-palette>p{max-width:100px;font-size:.76rem;line-height:1.5;margin:0!important}
.d-swatches{gap:10px}
.d-swatch{width:44px;height:44px;flex:none;border:5px solid #f3eee8;box-shadow:0 0 0 1px transparent;transition:box-shadow .2s,transform .2s}
.d-swatch[aria-pressed=true]{box-shadow:0 0 0 1px #513a60}
.d-swatch>span{font-size:.9rem;text-shadow:0 1px 2px #3f233b80}
.d-beauty-art{display:flex;align-items:center;justify-self:auto;gap:18px;width:auto;max-width:none;margin:0;padding:0;background:none;border-radius:0;flex:none}
.d-color-sample{position:relative;display:block;flex:none;width:52px;height:52px;border-radius:9px;background:var(--nail);transform:rotate(-7deg);box-shadow:inset 0 0 0 1px #42222e20,0 4px 8px #42222e14;transition:background-color .3s}
.d-color-sample::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#ffffff70 0%,#ffffff00 48%,#ffffff00 70%,#ffffff20 100%);pointer-events:none}
.d-beauty-selection{display:grid;gap:7px;min-width:0}
.d-beauty-selection>span:first-child{color:#70586b;font-size:.49rem;letter-spacing:.14em}
.d-nail-color-label{justify-self:start;background:none;border-radius:0;padding:0;color:#44314f;font:italic 400 clamp(1.35rem,2vw,1.75rem)/1.15 Georgia,serif;letter-spacing:-.04em;text-align:left;min-width:150px}

/* CONTACT: a device workbench with a deliberate, finite diagnostic scan. */
.d-repair{background:#101b36}
.d-repair::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(112deg,transparent 56%,#173272 56%,#1f44a0);pointer-events:none}
.d-repair-logo{font-size:1.8rem;letter-spacing:-.06em}
.d-repair-logo>span{font-size:1.7rem;margin-right:12px}
.d-repair-nav{border-color:#5271ad66}
.d-repair-main{grid-template-columns:1fr .9fr;gap:28px;padding-block:34px}
.d-repair-copy h3{font-size:clamp(3rem,4.9vw,4.8rem);line-height:1.02;letter-spacing:-.075em}
.d-repair-copy h3>span{color:#a8c0ff}
.d-repair-points{gap:17px;counter-reset:repair-step}
.d-repair-points>span{font-size:.64rem;padding-top:12px;border-top:1px solid #5173b4}
.d-repair-art{border-radius:0;border-color:#86a7ff3d;background-color:#101f4266;background-size:32px 32px;overflow:hidden;max-width:390px}
.d-repair-art::before{content:"";position:absolute;z-index:2;pointer-events:none}
.d-repair-art::before{inset:0;border:1px solid #a2bdff1a}
.d-repair-grid-label{position:relative;display:block;top:auto;left:auto;padding:14px 14px 0;font-size:.51rem;color:#b0c6f4;letter-spacing:.13em}
.d-phone-viewport{position:relative;min-width:0;overflow:hidden;margin:8px}
/* The full-height layer makes a 100% translation equal the SVG height. */
.d-phone-viewport::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-bottom:1px solid #acc5ff;filter:drop-shadow(0 0 5px #91b0ff);opacity:0;transform:translateY(-100%)}
.d-phone-svg{position:relative;z-index:1;padding:0}
.d-repair-device-label{position:relative;z-index:3;min-height:44px;display:grid;place-items:center;background:#10234b;border-color:#6b8cce66;color:#c2d3f8;font-size:.65rem;line-height:1.4;padding:11px 12px}
.d-repair-bottom{margin-inline:-42px;padding:23px 42px 27px;background:#0b1429;border-color:#3b5789}
.d-repair-selector>p{font-size:.75rem;color:#c3d2ef}
.d-issue{padding:10px 12px;font-size:.7rem;border-radius:0;border-color:#48618e;transition:background-color .2s,border-color .2s,color .2s}
.d-issue[aria-pressed=true]{background:#b0c5ff;border-color:#b0c5ff;color:#112040}
.d-repair-detail{font-size:.73rem;line-height:1.6;max-width:270px;color:#c0cdeb;min-height:52px;border-left:2px solid #638bff;padding-left:16px}

@media(hover:hover) and (pointer:fine){
  .d-coffee-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #a83f29}
  .d-coffee-button:hover>span,.d-coffee-menu-link:hover>span{transform:translate(2px,-2px)}
  .d-swatch:hover{transform:translateY(-3px)}
  .d-menu-filter:not([aria-pressed=true]):hover{background:#dec29b}
  .d-issue:not([aria-pressed=true]):hover{background:#1e3358;border-color:#a2bbff}
}
@media(prefers-reduced-motion:no-preference){
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-coffee-copy h3>span,.d-section.is-demo-visible .d-panel:not([hidden]) .d-coffee-copy h3>em{animation:demo-coffee-line .55s cubic-bezier(.2,.8,.2,1) both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-coffee-copy h3>em{animation-delay:.08s}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-coffee-scene>img{animation:demo-coffee-scene 1.1s cubic-bezier(.2,.65,.3,1) both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-beauty-scene>img{animation:demo-beauty-scene 1.1s cubic-bezier(.2,.65,.3,1) both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-beauty-copy{animation:demo-beauty-arrive .55s cubic-bezier(.2,.8,.2,1) both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-phone-svg{animation:demo-device-arrive .7s cubic-bezier(.2,.8,.2,1) both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-menu-items.is-demo-feedback>div{animation:demo-menu-change .32s ease-out both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-beauty-art.is-demo-feedback .d-nail-color-label{animation:demo-menu-change .35s ease-out both}
  .d-section.is-demo-visible .d-panel:not([hidden]) .d-repair-art.is-demo-feedback .d-phone-viewport::after{animation:demo-device-scan .65s ease-in-out both}
}
@keyframes demo-coffee-line{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes demo-coffee-scene{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes demo-beauty-scene{from{transform:scale(1.03)}to{transform:scale(1)}}
@keyframes demo-beauty-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes demo-device-arrive{from{opacity:0;transform:translateY(12px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes demo-menu-change{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes demo-device-scan{0%{opacity:0;transform:translateY(-100%)}8%{opacity:.8}92%{opacity:.8}100%{opacity:0;transform:translateY(0)}}

@media(max-width:1100px){
  .d-panel{padding-inline:30px;min-height:670px}
  .d-coffee{--cafe-gutter:30px;min-height:0}
  .d-coffee-main{min-height:370px}
  .d-coffee-menu,.d-repair-bottom{margin-inline:-30px;padding-inline:30px}
  .d-beauty{--beauty-gutter:30px;min-height:0}
  .d-beauty-main{min-height:430px}.d-beauty-copy h3{font-size:4.3rem}
  .d-beauty-palette{gap:18px}.d-swatches{gap:8px}
  .d-repair-main{gap:24px}.d-repair-copy h3{font-size:4rem}
  .d-repair-detail{max-width:235px}.d-repair-bottom{gap:22px}
}
@media(max-width:900px){
  .d-panel{padding-inline:26px}
  .d-coffee{--cafe-gutter:26px}
  .d-coffee-nav{height:110px}.d-coffee-logo{font-size:5rem}
  .d-coffee-main{min-height:350px;gap:0}.d-coffee-copy h3{font-size:3.7rem}
  .d-coffee-invitation{gap:23px}.d-coffee-invitation>p{font-size:.8rem;max-width:285px}
  .d-coffee-menu,.d-repair-bottom{margin-inline:-26px;padding-inline:26px}
  .d-beauty{--beauty-gutter:26px}
  .d-beauty-nav{height:110px}.d-beauty-logo{font-size:5.2rem}
  .d-beauty-main{min-height:400px}.d-beauty-copy h3{font-size:3.8rem}
  .d-beauty-bottom{gap:24px}.d-beauty-palette{gap:15px}.d-beauty-art{gap:14px}
  .d-nail-color-label{font-size:1.4rem;min-width:125px}
  .d-repair-copy h3{font-size:3.5rem}.d-repair-points{gap:10px}
  .d-repair-points>span{font-size:.56rem}.d-repair-detail{max-width:none;min-height:0;margin-top:16px}
  .d-menu-items{gap:14px}.d-menu-items>div{padding-left:22px}
}
@media(max-width:760px){
  .d-panel{min-height:0;padding-inline:24px;grid-template-rows:auto auto auto}
  .d-coffee-nav,.d-beauty-nav,.d-repair-nav{height:77px}
  .d-coffee-main,.d-beauty-main,.d-repair-main{grid-template-columns:1fr;gap:20px;padding-block:26px;align-content:start}
  .d-coffee-copy,.d-beauty-copy,.d-repair-copy{padding:0;grid-column:auto;grid-row:auto}
  .d-coffee{--cafe-gutter:24px;grid-template-rows:auto auto auto auto}
  .d-coffee-nav{height:96px}.d-coffee-logo{font-size:4.55rem}.d-coffee-logo>span{top:10px}
  .d-coffee-main{grid-template-columns:minmax(0,1fr);min-height:clamp(345px,73vw,410px);padding:30px var(--cafe-gutter);gap:0;align-content:end;align-items:end}
  .d-coffee-scene>img{object-position:80% 48%}
  .d-coffee-main::after{background:linear-gradient(0deg,#21140ded 0%,#21140da8 29%,#21140d26 61%,#21140d00 85%)}
  .d-coffee-copy h3{font-size:clamp(2.6rem,8.8vw,4.6rem)}
  .d-coffee-eyebrow{font-size:.52rem;margin-bottom:14px!important}
  .d-coffee-invitation{gap:15px;padding-block:20px;flex-wrap:wrap}
  .d-coffee-invitation>p{max-width:330px;font-size:.8rem}
  .d-coffee-button{font-size:.75rem;padding:12px 16px;margin:0}
  .d-coffee-menu,.d-repair-bottom{margin-inline:-24px;padding:21px 24px 25px}
  .d-coffee-menu-title{gap:15px;flex-wrap:wrap;margin-bottom:20px}.d-coffee-menu-title>span{font-size:1.5rem}
  .d-menu-filter{font-size:.75rem;padding:9px 15px;min-width:70px}
  .d-menu-items{grid-template-columns:1fr;gap:15px}
  .d-menu-items>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 0 0 28px}
  .d-menu-items strong{font-size:.85rem;white-space:normal}.d-menu-items span{font-size:.7rem;text-align:left}
  .d-beauty{--beauty-gutter:24px;grid-template-rows:auto auto auto}
  .d-beauty-nav{height:103px}.d-beauty-logo{font-size:4.7rem;gap:20px}.d-beauty-logo>span{max-width:none}
  .d-beauty-main{min-height:clamp(410px,76vw,470px);padding:26px var(--beauty-gutter);gap:0;align-content:start;align-items:start}
  .d-beauty-scene>img{object-position:79% 76%}
  .d-beauty-main::after{background:linear-gradient(180deg,#f7f1e8f0 0%,#f7f1e8bd 20%,#f7f1e833 45%,#f7f1e800 63%)}
  .d-beauty-copy{max-width:330px}.d-beauty-eyebrow{font-size:.5rem;margin-bottom:14px!important}
  .d-beauty-copy h3{font-size:clamp(2.8rem,9.2vw,4rem);line-height:.96}
  .d-beauty-copy>p:not(.d-beauty-eyebrow){display:none}
  .d-beauty-bottom{display:flex;flex-wrap:wrap;gap:22px;padding-block:22px 26px}
  .d-beauty-palette{justify-content:space-between;gap:20px;width:100%}
  .d-beauty-palette>p{font-size:.75rem;max-width:95px}
  .d-beauty-bottom>.d-beauty-art{width:100%;justify-content:center;gap:17px}.d-color-sample{width:46px;height:46px}
  .d-nail-color-label{font-size:1.45rem;min-width:0}.d-swatches{gap:8px}
  .d-repair::before{background:linear-gradient(117deg,transparent 53%,#173272 53%,#1f44a0)}
  .d-repair-logo{font-size:1.65rem}.d-repair-logo>span{font-size:1.5rem;margin-right:10px}
  .d-repair-copy h3{font-size:clamp(2.6rem,8.5vw,4rem);line-height:1.03}
  .d-repair-copy h3 br:nth-of-type(2){display:block}
  .d-repair-copy>p:not(.d-repair-eyebrow){max-width:345px}
  .d-repair-art{max-width:290px;justify-self:center;margin:0}
  .d-repair-points{gap:13px;margin-top:20px}.d-repair-points>span{font-size:.6rem;padding-top:9px}
  .d-repair-points b{font-size:.55rem}
  .d-repair-grid-label{font-size:.49rem;padding:12px 12px 0}
  .d-repair-device-label{font-size:.66rem;min-height:44px}
  .d-repair-selector>div{gap:8px}.d-issue{font-size:.72rem;min-height:44px;padding:10px 13px}
  .d-repair-detail{font-size:.75rem;padding-left:13px;min-height:0;margin-top:20px}
}
@media(max-width:420px){
  .d-panel{padding-inline:19px}
  .d-coffee-menu,.d-repair-bottom{margin-inline:-19px;padding-inline:19px}
  .d-coffee-nav,.d-beauty-nav,.d-repair-nav{height:73px}
  .d-coffee-main,.d-beauty-main,.d-repair-main{padding-block:24px;gap:24px}
  .d-coffee{--cafe-gutter:19px}
  .d-coffee-nav{height:91px}
  .d-coffee-main{min-height:330px;padding-block:26px;gap:0}
  .d-coffee-copy h3{font-size:clamp(2.38rem,10vw,2.7rem)}
  .d-coffee-menu-title>span{font-size:1.35rem}.d-coffee-menu-title{gap:13px}
  .d-coffee-menu-link{font-size:.7rem}.d-coffee-logo{font-size:4.1rem}
  .d-beauty{--beauty-gutter:19px}
  .d-beauty-nav{height:97px}.d-beauty-logo{font-size:4.25rem;gap:17px}
  .d-beauty-logo>span{font-size:.48rem;letter-spacing:.13em;max-width:none}.d-beauty-mark{font-size:2.1rem}
  .d-beauty-main{min-height:400px;padding-block:24px;gap:0}
  .d-beauty-copy h3{font-size:clamp(2.6rem,10.5vw,3.5rem)}
  .d-beauty-palette{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
  .d-beauty-palette>p{max-width:none!important;margin:0!important}
  .d-swatches{gap:13px}.d-beauty-art{max-width:none}
  .d-repair-copy h3{font-size:clamp(2.45rem,10.2vw,3.2rem)}
  .d-repair-logo{font-size:1.5rem}.d-repair-logo>span{font-size:1.35rem;margin-right:8px}
  .d-repair-status{font-size:.45rem;letter-spacing:.08em;gap:5px}
  .d-repair-art{max-width:250px}.d-repair-points{gap:12px}
  .d-repair-points>span{font-size:.6rem;gap:6px}.d-repair-points b{font-size:.5rem}
  .d-issue{font-size:.7rem;padding:10px 11px}
}
@media(max-width:350px){
  .d-panel{padding-inline:16px}
  .d-coffee-menu,.d-repair-bottom{margin-inline:-16px;padding-inline:16px}
  .d-coffee{--cafe-gutter:16px}
  .d-coffee-logo{font-size:3.7rem}
  .d-beauty{--beauty-gutter:16px}
  .d-beauty-logo{font-size:3.55rem;gap:11px}.d-beauty-mark{font-size:1.9rem}
  .d-beauty-main{min-height:390px}.d-beauty-copy h3{font-size:2.6rem}
  .d-repair-art{max-width:235px}.d-repair-logo{font-size:1.38rem}
  .d-repair-nav{gap:9px}.d-repair-points{gap:10px}.d-repair-points>span{font-size:.54rem}
}
@media(prefers-reduced-motion:reduce){
  .d-section *, .d-section *::before,.d-section *::after{animation:none!important;transition:none!important}
  .d-coffee-button:hover,.d-swatch:hover{transform:none}
}
