/*
Theme Name: Unfold
Description: A little paper. A little magic. The Unfold papercraft app microsite.
Version: 1.1.0
Author: asquared
Text Domain: unfold
Requires PHP: 7.4
*/

@font-face{font-family:Circular;src:url('assets/fonts/CircularStd-Book.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Circular;src:url('assets/fonts/CircularStd-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f3f0e8;--ink:#303d2c;--muted:#656b5c;--line:rgba(48,61,44,.18);--accent:#9b492e;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Circular,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
::selection{background:#d6dec2;color:#263122}
p{line-height:1.65;text-wrap:pretty}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1,h2,h3{font-weight:400}em{font-family:var(--serif);font-weight:400}
.site-shell{max-width:1600px;padding:0 64px;margin:auto}
.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:relative;z-index:3}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:42px;letter-spacing:-2.8px;font-weight:700;min-height:44px;line-height:1}
.wordmark svg{width:35px;height:40px}.brand-colon{color:var(--accent)}
.header-note{font-size:13px;letter-spacing:.01em;margin-left:-85px;color:var(--muted)}
.nav-link{display:inline-flex;align-items:center;gap:26px;min-height:44px;font-size:14px}.nav-link span{font-size:22px}
.nav-link:hover,.site-footer a:hover,.back-link:hover{color:var(--accent)}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.9px;line-height:1.7;font-weight:700;display:block}
.hero{position:relative;min-height:730px;isolation:isolate}
.hero-copy{position:relative;z-index:2;padding:91px 0 80px;pointer-events:none}
.hero-copy .eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:38px}
.little-star{font-size:23px;line-height:1;color:var(--accent)}
.hero h1{font-size:clamp(72px,7.9vw,118px);line-height:.99;letter-spacing:-6.4px;margin:0 0 34px;max-width:900px}
.hero h1 em{letter-spacing:-7px}
.hero-description{font-size:20px;line-height:1.5;margin-bottom:28px;max-width:350px}
.download-area{display:flex;align-items:flex-start;flex-direction:column;gap:13px;pointer-events:auto;width:fit-content}
.store-button{display:inline-flex;border-radius:9px;transition:transform .2s}.store-button img{display:block;width:auto;height:54px}
a.store-button:hover{transform:scale(1.05)}a.store-button:active,.text-button:active,.scene-toggle:active{transform:scale(.96)}
.download-caption{font-size:11px;color:var(--muted)}
.hero-scene{position:absolute;z-index:1;right:-38px;top:14px;width:65%;height:670px;pointer-events:none}
.scene-halo{position:absolute;inset:8% -3% 0;background:radial-gradient(ellipse at 50% 55%,#dddcc07a,transparent 66%)}
.hero-scene canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .55s}
.wizard-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .4s}
.scene-ready canvas{opacity:1}.scene-ready .wizard-fallback{opacity:0}
.model-label{position:absolute;right:13%;bottom:40px;z-index:2;display:flex;align-items:center;gap:18px;font-size:13px;line-height:1.5}
.model-label small{display:block;color:var(--muted);font-size:11px}.model-number{border-right:1px solid var(--line);padding-right:18px;font-size:11px;letter-spacing:.5px;font-variant-numeric:tabular-nums}
.scene-toggle{position:absolute;bottom:39px;right:0;z-index:3;display:flex;align-items:center;gap:7px;padding:8px 0 8px 10px;min-height:44px;background:transparent;border:0;color:var(--muted);font-size:10px;cursor:pointer;transition:color .2s,transform .2s}.scene-toggle:hover{color:var(--ink)}.scene-toggle[hidden]{display:none}.toggle-symbol{font-size:14px}
.paper-story{padding:43px 0 48px;display:grid;grid-template-columns:.85fr 2.1fr;gap:55px;border-top:1px solid var(--line)}
.story-intro .eyebrow{color:var(--muted);font-size:9px;letter-spacing:1.3px;margin-bottom:19px}.story-intro h2{font-size:34px;line-height:1.1;letter-spacing:-1.5px;margin-bottom:0}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0;margin:0}.step-number{font-size:11px;color:var(--accent);display:block;margin:0 0 25px;font-variant-numeric:tabular-nums}.steps h3{font-size:16px;letter-spacing:-.35px;margin-bottom:10px}.steps p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.site-footer p{margin:0}.site-footer p a{color:var(--ink)}.copyright{margin-left:18px}.site-footer nav{display:flex;gap:28px}.site-footer nav a{display:flex;align-items:center;min-height:44px}.site-footer a{transition:color .2s}.site-footer [aria-current=page]{color:var(--accent)}
.skip-link{position:fixed;left:20px;top:-80px;padding:14px;background:var(--ink);color:var(--paper);z-index:10}.skip-link:focus{top:20px}
.document-page{max-width:1120px;margin:auto;padding:36px 0 110px;min-height:calc(100vh - 214px)}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted);margin-bottom:43px;transition:color .2s}.document-header>.eyebrow{color:var(--accent);margin-bottom:20px}.document-header h1{font-size:clamp(56px,6.5vw,86px);letter-spacing:-4px;line-height:1.02;margin-bottom:24px}.document-header>p:not(.eyebrow){font-size:18px;max-width:530px;color:var(--muted);line-height:1.6;margin-bottom:22px}.document-date{font-size:11px;color:var(--muted)}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:70px;margin-top:64px}.document-index{position:sticky;top:32px;align-self:start;display:flex;flex-direction:column}.document-index .eyebrow{margin-bottom:15px;color:var(--muted)}.document-index a{font-size:12px;min-height:44px;display:flex;align-items:center;color:var(--muted);border-bottom:1px solid var(--line);transition:color .2s}.document-index a:hover{color:var(--accent)}
.legal-copy section{margin-bottom:45px;scroll-margin-top:35px}.legal-copy section:last-child{margin-bottom:0}.legal-copy h2{font-size:28px;letter-spacing:-.7px;margin-bottom:20px;display:flex;align-items:baseline;gap:12px}.legal-copy h2 span{font-size:12px;color:var(--accent);letter-spacing:0;flex-shrink:0}.legal-copy h3{font-size:17px;margin:24px 0 10px}.legal-copy p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:16px}.legal-copy a,.faq p a{text-decoration:underline;text-underline-offset:3px;color:var(--ink);overflow-wrap:anywhere}
.support-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;margin-top:55px;align-items:start}.contact-card{padding:38px;background:#e5e7d9;border-radius:4px 4px 46px 4px;box-shadow:0 2px 4px #303d2c04,0 16px 35px #303d2c05}.contact-star{display:block;font-size:40px;color:var(--accent);margin-bottom:36px}.contact-card h2{font-size:42px;line-height:1.1;letter-spacing:-1.5px;margin-bottom:22px}.contact-card>p{font-size:15px;color:var(--muted)}.text-button{display:inline-flex;align-items:center;gap:20px;min-height:48px;padding:12px 21px;background:var(--ink);color:var(--paper);border-radius:5px;font-size:13px;transition:background-color .2s,transform .2s}.text-button:hover{background:#43543b}.text-button span{font-size:20px}.email-address{display:block;font-size:12px;min-height:44px;padding:16px 0;overflow-wrap:anywhere}.contact-card .contact-footnote{font-size:11px;margin-top:28px;margin-bottom:0;line-height:1.7}.faq>.eyebrow{color:var(--muted);margin-bottom:14px}.faq h2{font-size:34px;letter-spacing:-1.1px;margin-bottom:24px}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;font-size:16px;padding:22px 0;min-height:64px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:23px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;color:var(--muted);padding-right:20px;margin:0 0 24px;line-height:1.8}
.not-found{padding-top:100px}.not-found h1{font-size:70px;letter-spacing:-3px}.not-found>p{max-width:500px}
@media(min-width:1600px){.hero h1{font-size:124px}.hero-scene{right:0}}
@media(max-width:1100px){.site-shell{padding:0 36px}.hero{min-height:690px}.hero h1{font-size:86px;letter-spacing:-4.8px}.hero h1 em{letter-spacing:-5px}.hero-scene{width:67%;right:-20px;height:620px;top:15px}.hero-copy{padding-top:82px}.model-label{right:10%;bottom:36px}.toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.scene-toggle{width:44px;justify-content:center}.paper-story{gap:34px;grid-template-columns:.8fr 2fr}.steps{gap:18px}.steps h3{font-size:14px}.steps p br{display:none}.story-intro h2{font-size:30px}.header-note{margin-left:0}.legal-layout{gap:40px;grid-template-columns:200px minmax(0,1fr)}.support-layout{gap:40px}.contact-card{padding:30px}}
@media(max-width:760px){.site-shell{padding:0 24px}.site-header{height:90px}.wordmark{font-size:34px;letter-spacing:-2px;gap:7px}.wordmark svg{width:29px;height:34px}.header-note{display:none}.nav-link{font-size:12px;gap:16px}.hero{min-height:850px}.hero-copy{padding:39px 0 32px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:318px;gap:9px}.little-star{font-size:20px}.hero h1{font-size:clamp(51px,9.8vw,74px);letter-spacing:-3.2px;line-height:1.01;margin-bottom:24px}.hero h1 em{letter-spacing:-3.5px}.hero-description{font-size:17px;margin-bottom:22px}.hero-description br{display:none}.hero-scene{top:46px;right:-24px;left:-24px;width:auto;height:420px}.download-caption{font-size:10px}.model-label{display:none}.scene-toggle{top:345px;right:0;bottom:auto}.hero-copy .download-area{gap:11px}.paper-story{grid-template-columns:1fr;gap:30px;padding:33px 0 38px}.story-intro h2{font-size:34px}.story-intro h2 br{display:none}.story-intro .eyebrow{margin-bottom:12px}.steps{grid-template-columns:1fr;gap:0}.steps li{position:relative;padding:19px 0 19px 45px;border-bottom:1px solid var(--line)}.steps li:last-child{border-bottom:0;padding-bottom:0}.step-number{position:absolute;left:0;top:23px;margin:0}.steps h3{font-size:17px;margin-bottom:5px}.steps p{font-size:13px}.site-footer{flex-direction:column;align-items:flex-start;gap:6px;padding:24px 0 20px}.site-footer nav{gap:23px;flex-wrap:wrap}.site-footer nav a{font-size:10px}.document-page{padding:23px 0 65px}.back-link{margin-bottom:25px}.document-header h1{font-size:58px;letter-spacing:-3px}.document-header>.eyebrow{font-size:9px}.document-header>p:not(.eyebrow){font-size:16px}.legal-layout{grid-template-columns:1fr;gap:35px;margin-top:36px}.document-index{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.document-index .eyebrow{grid-column:1/-1;margin:0 0 4px}.document-index a{font-size:11px}.legal-copy h2{font-size:24px;gap:8px}.legal-copy p{font-size:14px}.support-layout{grid-template-columns:1fr;gap:48px;margin-top:36px}.contact-card{padding:29px}.contact-star{margin-bottom:24px}.contact-card h2{font-size:38px}.faq h2{font-size:32px}.faq summary{font-size:15px}.not-found{padding-top:65px}.not-found h1{font-size:48px;letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.store-button:hover{transform:none}}

/* Keep the decorative scene inside the viewport and type legible over paper. */
.hero-scene{overflow:hidden}
.hero h1{text-shadow:0 1px 18px rgba(243,240,232,.5)}
@media(max-width:760px){.hero{min-height:790px}.hero-scene{top:48px;height:380px}.hero-copy .eyebrow{margin-bottom:294px}.hero h1{text-shadow:0 0 18px var(--paper),0 0 6px var(--paper)}}
@media(max-width:760px){.hero-scene{height:350px}.hero-copy .eyebrow{margin-bottom:305px}.scene-toggle{top:320px}}

/* Full product wordmark and a right-aligned desktop character. */
.wordmark{font-size:34px;letter-spacing:-1.9px;flex-shrink:0}
.header-note{margin-left:0}
.hero-scene{right:0}
@media(max-width:1100px){.header-note{display:none}}
@media(max-width:760px){.wordmark{font-size:25px;letter-spacing:-1.4px;gap:6px}.wordmark svg{width:25px;height:30px}.site-header{gap:12px}.nav-link{gap:8px;font-size:11px}.hero-scene{right:-24px}}
@media(max-width:380px){.wordmark{font-size:22px;letter-spacing:-1.2px}.wordmark svg{width:21px}.nav-link{gap:5px;font-size:10px}.nav-link span{font-size:18px}.site-header{gap:8px}}
/* Swap the static fallback only after the first 3D frame is ready. */
.hero-scene canvas,.wizard-fallback{transition:none}
@media(max-width:340px){.wordmark{font-size:21px}.nav-link{white-space:nowrap;gap:5px}}

/* The square poster uses the same orthographic framing as the live camera.
   A 5.2-unit view and minimum 4.5-unit width cap its size at 115.5556%. */
.wizard-fallback{inset:auto;top:0;right:0;width:auto;height:100%;max-width:115.5556%;object-fit:contain;transform:translateX(10%)}
@media(max-width:760px){
  .hero{min-height:840px}
  .hero-copy{text-align:center}
  .hero-copy .eyebrow{justify-content:center;margin-bottom:345px}
  .hero-description{margin-left:auto;margin-right:auto}
  .hero-description br{display:initial}
  .download-area{margin-left:auto;margin-right:auto;align-items:center}
  .wizard-fallback{left:50%;right:auto;transform:translateX(-50%)}
}

/* Papercraft template library and detail pages. */
.papercraft-page{max-width:1280px;margin:auto;padding:36px 0 110px;min-height:calc(100vh - 214px)}
.papercraft-grid{list-style:none;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:44px 28px}
.papercraft-card a{display:flex;flex-direction:column;gap:6px;height:100%}
.papercraft-thumb{display:block;aspect-ratio:1;margin-bottom:12px;background:#fff;border-radius:4px 4px 34px 4px;overflow:hidden;box-shadow:0 2px 4px #303d2c08,0 16px 35px #303d2c0a}
.papercraft-thumb img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s}
.papercraft-card a:hover img{transform:scale(1.04)}
.papercraft-card-name{font-size:16px;letter-spacing:-.3px;line-height:1.3;transition:color .2s}.papercraft-card a:hover .papercraft-card-name{color:var(--accent)}
.papercraft-card-meta{font-size:12px;color:var(--muted)}
.papercraft-empty{margin-top:56px;color:var(--muted)}
.papercraft-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-top:90px;padding-top:32px;border-top:1px solid var(--line)}.papercraft-cta p{margin:0;font-size:22px;letter-spacing:-.6px}
.papercraft-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px;align-items:start}
.papercraft-gallery{display:grid;gap:20px}
.papercraft-figure{margin:0;background:#fff;border-radius:4px 4px 46px 4px;overflow:hidden;box-shadow:0 2px 4px #303d2c08,0 16px 35px #303d2c0a}
.papercraft-figure img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.papercraft-info{position:sticky;top:32px}
.papercraft-info>.eyebrow{color:var(--accent);margin-bottom:20px}
.papercraft-info h1{font-size:clamp(46px,5vw,76px);letter-spacing:-3px;line-height:1.02;margin-bottom:24px;overflow-wrap:anywhere}
.papercraft-description p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:14px}
.papercraft-specs{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin:30px 0 34px}
.papercraft-specs div{padding:14px 0;border-bottom:1px solid var(--line)}
.papercraft-specs dt{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;font-weight:700;color:var(--muted);margin-bottom:4px}
.papercraft-specs dd{margin:0;font-size:17px;font-variant-numeric:tabular-nums}
.papercraft-related{margin-top:100px;padding-top:40px;border-top:1px solid var(--line)}
.papercraft-related h2{font-size:34px;letter-spacing:-1.1px;margin:0}
.papercraft-related .papercraft-grid{margin-top:36px}
@media(max-width:1100px){.papercraft-detail{gap:40px}}
@media(max-width:760px){
  .papercraft-page{padding:23px 0 65px}
  .papercraft-detail{grid-template-columns:1fr;gap:32px}
  .papercraft-info{position:static}
  .papercraft-info h1{font-size:46px;letter-spacing:-2px}
  .papercraft-info .download-area{margin-left:0;align-items:flex-start}
  .papercraft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;margin-top:36px}
  .papercraft-card-name{font-size:14px}.papercraft-card-meta{font-size:11px}
  .papercraft-related{margin-top:64px}.papercraft-related h2{font-size:28px}
  .papercraft-cta{margin-top:60px}.papercraft-cta p{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.papercraft-card a:hover img{transform:none}}

/* Homepage link to the papercraft library, sized to match the App Store badge. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.browse-button{display:inline-flex;align-items:center;gap:14px;height:54px;padding:0 22px;border:1px solid var(--ink);border-radius:9px;font-size:14px;white-space:nowrap;transition:background-color .2s,color .2s,transform .2s}
.browse-button span{font-size:18px;transition:transform .2s}
.browse-button:hover{background:var(--ink);color:var(--paper)}.browse-button:hover span{transform:translateX(3px)}
.browse-button:active{transform:scale(.96)}
@media(max-width:760px){.hero-actions{justify-content:center}}
@media(max-width:400px){.browse-button{padding:0 16px;gap:10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.browse-button:hover span{transform:none}}
/* The catalog header has no back link above it, so give the title its own breathing room. */
.papercraft-page>.document-header{padding-top:48px}
@media(max-width:760px){.papercraft-page>.document-header{padding-top:24px}}
