:root{--bg:#000;--fg:#fff;--accent:#fff387;--ink:#262626;--maxw:953px}
*{box-sizing:border-box}
html{font-size:14.6667px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,sans-serif;font-weight:500;font-size:1.125rem;line-height:1.875}
main{max-width:var(--maxw);margin:0 auto;padding:2.625rem 1.5rem 4rem}
a{color:inherit}
img{display:block;max-width:100%;height:auto}

.bg{position:fixed;inset:0;z-index:-1;background:#000 url(/video/bg-poster.jpg) center/cover no-repeat}
.bg video{width:100%;height:100%;object-fit:cover}
.bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.569)}

.hero{display:flex;align-items:center;gap:3.5rem;padding:2.75rem 0 1rem}
.photo{flex:0 0 40%}
.photo img{width:100%;aspect-ratio:340/440;object-fit:cover;border-radius:1.625rem;box-shadow:0 1.75rem 3.75rem rgba(82,88,94,.25)}
.intro{flex:1}
.hi{margin:0 0 .75rem!important;color:var(--accent);font-size:1.25rem!important;font-weight:500}
h1{margin:0 0 1.5rem;font-size:2.625rem;line-height:1.1;font-weight:600;letter-spacing:-.0095em}
.intro p{margin:.5rem 0;font-size:1.125rem}
.intro .or{margin-top:.5rem}
hr{border:0;margin:.75rem 0;height:1px}
.btn{display:inline-flex;align-items:center;gap:.75rem;padding:0 2.063rem;height:4.125rem;border-radius:.875rem;background:var(--accent);color:#000;text-decoration:none;font-size:1.125rem;font-weight:500;line-height:1;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-2px);background:#fff7a8}
.btn svg{width:1.4em;height:1.4em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.work{padding:1rem 0 3rem;text-align:center}
.label{margin:1.875rem 0;font-size:1.125rem;font-weight:200;letter-spacing:.29em;line-height:1}
.work img{margin:0 auto;width:min(100%,642px)}

.contact{max-width:46rem;margin:0 auto;padding-top:3rem;scroll-margin-top:1rem}
.contact h2{margin:0 0 1rem;font-size:2rem;font-weight:500;line-height:1.375}
.contact>p{margin:1rem 0}
form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.375rem}
form input,form textarea{width:100%;border:0;border-radius:0;background:#fff;color:#000;font:400 .875rem/1.875 Inter,sans-serif;padding:0 1.27rem;height:3.625rem}
form textarea{height:10rem;padding-top:1rem;padding-bottom:1.27rem;resize:vertical}
form input:focus,form textarea:focus{outline:3px solid var(--accent);outline-offset:0}
form button{height:4.375rem;border:0;border-radius:.75rem;background:var(--accent);color:var(--ink);font:500 1.375rem/1 Inter,sans-serif;cursor:pointer;transition:background .15s ease}
form button:hover{background:#fff7a8}
form button[disabled]{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.status{margin:0;min-height:1.875rem;font-size:1.125rem}
.status.ok{color:var(--accent)}
.status.err{color:#ff9d9d}

.thanks{min-height:100vh;display:grid;place-content:center;text-align:center;padding:2rem}
.thanks h1{margin-bottom:1rem}

@media (max-width:736px){
  main{padding:2.625rem 1.5rem 3rem}
  .hero{flex-direction:column;align-items:stretch;gap:1.75rem}
  .photo{flex:none;width:11.375rem;align-self:center}
  .photo img{aspect-ratio:148.5/166.8}
  h1{font-size:1.875rem;margin-bottom:1.25rem}
  .hi{font-size:1.125rem!important}
  .intro p{font-size:.875rem;line-height:1.5}
  .intro .or{font-size:1.125rem;line-height:1.875}
  .btn{width:100%;justify-content:center;font-size:1rem}
  .label{font-size:.75rem}
  .contact>p{font-size:1.125rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.contact .perk{margin:-.25rem 0 1rem;color:var(--accent);font-size:1rem}

/* Site footer (all pages) */
.site-foot{max-width:var(--maxw);margin:0 auto;padding:2.5rem 1.5rem 3rem;border-top:1px solid rgba(255,255,255,.15);font-size:.95rem;line-height:1.7;color:rgba(255,255,255,.75);display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between}
.site-foot nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.site-foot a{text-decoration:none;color:inherit}
.site-foot a:hover{color:var(--accent)}
.site-foot .also a{text-decoration:underline;text-underline-offset:2px}

/* FAQ */
.faq{max-width:46rem;margin:0 auto;padding-top:3rem}
.faq h2{margin:0 0 1rem;font-size:2rem;font-weight:500;line-height:1.375}
.faq details{border-top:1px solid rgba(255,255,255,.18);padding:.9rem 0}
.faq details:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--accent);font-weight:400;font-size:1.4em;line-height:1.2}
.faq details[open] summary::after{content:'–'}
.faq details p{margin:.6rem 0 .2rem;color:rgba(255,255,255,.85)}

/* Inner pages */
.page-head{max-width:var(--maxw);margin:0 auto;padding:1.5rem 1.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.page-head .home{text-decoration:none;font-weight:600;font-size:1.125rem}
.page-head .cta{color:#000;background:var(--accent);text-decoration:none;padding:.45rem 1rem;border-radius:.6rem;font-size:1rem;white-space:nowrap}
.article{max-width:44rem}
.article h1{font-size:2.5rem;margin-top:1rem}
.article h2{font-size:1.5rem;font-weight:600;margin:2.5rem 0 .75rem;line-height:1.3}
.article h3{font-size:1.2rem;font-weight:600;margin:1.75rem 0 .5rem}
.article p,.article li{color:rgba(255,255,255,.88)}
.article ul,.article ol{padding-left:1.25rem}
.article li{margin:.35rem 0}
.article .lede{font-size:1.3rem;line-height:1.6;color:#fff}
.article .crumbs{font-size:.9rem;color:rgba(255,255,255,.6);margin:0}
.article .crumbs a{color:inherit}
.article .meta{color:rgba(255,255,255,.6);font-size:.95rem}
.article blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--accent);color:#fff}
.article .end-cta{margin-top:3rem;padding:2rem;border-radius:1rem;background:rgba(255,255,255,.06)}
.article .end-cta p{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1.5rem 0;padding:0;list-style:none}
.cards li{margin:0}
.cards a{display:block;height:100%;padding:1.25rem 1.4rem;border-radius:1rem;background:rgba(255,255,255,.06);text-decoration:none;transition:background .15s ease}
.cards a:hover{background:rgba(255,255,255,.11)}
.cards strong{display:block;font-size:1.15rem;margin-bottom:.35rem;color:#fff}
.cards span{color:rgba(255,255,255,.75);font-size:1rem;line-height:1.55}
table.credits{width:100%;border-collapse:collapse;margin:1rem 0;font-size:1rem}
table.credits th,table.credits td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid rgba(255,255,255,.15);vertical-align:top}
table.credits th{color:var(--accent);font-weight:500}
@media (max-width:736px){
  .article h1{font-size:1.875rem}
  .article .lede{font-size:1.1rem}
  .page-head .cta{font-size:.9rem}
  .site-foot{font-size:.9rem}
}
