/* ============================================================================
   Better Devices — shared site styles
   Ported from the Claude Design prototype <style> blocks (Homepage, Nav, Footer,
   Contact). The prototype expressed hover/focus states via proprietary
   `style-hover` / `style-focus` attributes; those are reproduced here as real
   CSS :hover / :focus rules keyed on classes added in the templates.
   All lengths are in CSS pixels as authored in the source design.
   ========================================================================== */

*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background-color:#000000;
  color:#ffffff;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* WordPress admin bar must not offset the fixed nav / hero. */
html{scroll-behavior:auto;}
img{max-width:100%;}
a{color:inherit;}

::selection{background:#ffbe0b;color:#000000;}

h1,h2,h3{font-family:'Hanken Grotesk',sans-serif;font-weight:700;}

/* ── Keyframes ─────────────────────────────────────────────────────────── */
@keyframes bd-rise{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
@keyframes bd-heroin{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
@keyframes bd-qfade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes bd-blink{0%,100%{opacity:1;}50%{opacity:.15;}}
@keyframes bd-menu-in{from{opacity:0;transform:translateY(-8px) scale(.985);}to{opacity:1;transform:none;}}

@media (prefers-reduced-motion:no-preference){
  .reveal{animation:bd-rise both;animation-timeline:view();animation-range:entry 2% cover 22%;}
}
.hi{opacity:0;animation:bd-heroin 1s cubic-bezier(.2,.7,.2,1) forwards;}

/* ── Shared utility classes ───────────────────────────────────────────── */
.eyebrow{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;}
.arrow{display:inline-block;transition:transform .25s;}
.arrowwrap:hover .arrow{transform:translateX(5px);}
.icard{transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.icard:hover{transform:translateY(-8px);}
.icard:hover .ishot{opacity:.9;}
.alink{display:inline-flex;align-items:center;gap:9px;transition:gap .3s cubic-bezier(.2,.7,.2,1);}
.alink:hover{gap:16px;}
.mono{font-family:'Hanken Grotesk',sans-serif;}

.btn-line{position:relative;letter-spacing:0.03em;border-radius:10px !important;box-shadow:0 1px 2px rgba(0,0,0,0.16),inset 0 0 0 1px rgba(255,255,255,0.04);transition:background .45s cubic-bezier(.2,.7,.2,1),color .45s ease,border-color .45s ease,box-shadow .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1);}
.btn-line:hover{background:#ffbe0b;color:#000000;border-color:#ffbe0b;transform:translateY(-2px);box-shadow:0 16px 38px -12px rgba(255,190,11,0.6),0 3px 8px rgba(0,0,0,0.22);}
.btn-line:active{transform:translateY(0);box-shadow:0 5px 14px -6px rgba(255,190,11,0.55);}

/* Hero play/pause toggle. */
.bd-playbtn{transition:border-color .2s;}
.bd-playbtn:hover{border-color:#ffffff !important;}

/* Testimonial carousel prev/next buttons. */
.qbtn{transition:background .2s,color .2s,border-color .2s;}
.qbtn:hover{background:#ffbe0b !important;color:#000000 !important;border-color:#ffbe0b !important;}

/* ── Navigation ───────────────────────────────────────────────────────── */
.bd-menu{animation:bd-menu-in .26s cubic-bezier(.2,.7,.2,1) both;transform-origin:top center;}
.bd-menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:16px;}
.bd-mi{transition:background .3s ease,transform .3s cubic-bezier(.2,.7,.2,1);}
.bd-mi:hover{transform:translateX(3px);background:rgba(255,190,11,0.09);}

/* Mega-menu open on hover (CSS replacement for the prototype's JS state). */
.bd-navitem{position:relative;height:74px;display:flex;align-items:center;}
.bd-navitem .bd-menu{display:none;}
.bd-navitem:hover .bd-menu{display:grid;}
.bd-menu a.bd-sublink{transition:background .25s ease;}
.bd-menu a.bd-sublink:hover{background:rgba(255,190,11,0.1);}
.bd-menu a.bd-grouptitle:hover{opacity:0.85;}

.bd-navlink:hover{color:#ffbe0b !important;}
.bd-cta:hover{background:#ffbe0b !important;color:#000000 !important;border-color:#ffbe0b !important;}

/* ── Footer ───────────────────────────────────────────────────────────── */
.ftr-link{transition:color .25s;}
.ftr-link:hover{color:#ffffff !important;}
.ftr-mail:hover{color:#ffbe0b !important;}
.ftr-input{transition:border-color .3s;}
.ftr-input:focus{border-color:#ffbe0b !important;}
.ftr-submit{transition:background .3s;}
.ftr-submit:hover{background:#ffd35e !important;}
input::placeholder,textarea::placeholder{color:#7A7268;}

/* ── Contact page ─────────────────────────────────────────────────────── */
.ln{transition:color .25s,background .25s,border-color .25s;}
.finD{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(242,241,237,0.2);padding:14px 0;color:#F2F1ED;font-size:17px;font-family:'Hanken Grotesk',sans-serif;outline:none;transition:border-color .25s;}
.finD:focus{border-bottom-color:#ffbe0b;}

/* Contact page suppresses the footer's contact block (form shown in-page instead). */
.bd-no-footer-form .bd-footer-contact{display:none !important;}

/* ── Legal pages (Imprint, Privacy Policy) ────────────────────────────── */
.bd-legal{max-width:820px;margin:0 auto;padding:160px 40px 120px;color:#C7D3DA;font-size:16px;line-height:1.75;}
.bd-legal .bd-legal-eyebrow{color:#ffbe0b;font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;display:block;margin-bottom:16px;}
.bd-legal h1{margin:0 0 12px;font-size:clamp(40px,6vw,64px);line-height:1.02;letter-spacing:-0.03em;color:#ffffff;font-weight:800;text-transform:uppercase;}
.bd-legal .bd-legal-lead{color:#8b9aa4;font-size:18px;line-height:1.6;margin:0 0 40px;}
.bd-legal h2{margin:48px 0 14px;font-size:24px;line-height:1.25;letter-spacing:-0.01em;color:#ffffff;font-weight:700;}
.bd-legal h3{margin:28px 0 8px;font-size:17px;color:#ffffff;font-weight:700;}
.bd-legal p{margin:0 0 18px;}
.bd-legal a{color:#ffbe0b;text-decoration:none;}
.bd-legal a:hover{text-decoration:underline;}
.bd-legal ul{margin:0 0 18px;padding-left:22px;}
.bd-legal li{margin:0 0 8px;}
.bd-legal address{font-style:normal;line-height:1.8;color:#F2F1ED;}
.bd-legal .bd-legal-hr{border:0;border-top:1px solid rgba(255,255,255,0.1);margin:40px 0;}
.bd-legal strong{color:#F2F1ED;}

/* ── Scroll-film service rail (right-side vertical progress, clickable) ── */
.bd-film-nav{position:absolute;right:44px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:26px;align-items:flex-end;}
.bd-film-navitem{display:flex;align-items:center;justify-content:flex-end;gap:16px;background:none;border:0;padding:0;cursor:pointer;font-family:'Hanken Grotesk',sans-serif;}
.bd-film-navlabel{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;color:rgba(16,16,16,0.38);white-space:nowrap;transition:color .35s ease,opacity .35s ease;}
.bd-film-navbar{display:block;width:3px;height:20px;border-radius:3px;background:rgba(16,16,16,0.18);transition:height .4s cubic-bezier(.2,.7,.2,1),background .35s ease;}
.bd-film-navitem:hover .bd-film-navlabel{color:rgba(16,16,16,0.75);}
.bd-film-navitem:hover .bd-film-navbar{background:rgba(16,16,16,0.4);}
.bd-film-navitem.is-active .bd-film-navlabel{color:#101010;font-weight:800;}
.bd-film-navitem.is-active .bd-film-navbar{height:46px;background:#ffbe0b;}
@media (max-width:900px){.bd-film-nav{display:none;}}

/* ── Insights teaser "stack" card (service pages): image → title → date ── */
.bd-ins-card{display:flex;flex-direction:column;background:#0A1019;border:1px solid rgba(255,255,255,0.08);border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.bd-ins-card:hover{transform:translateY(-6px);}
.bd-ins-imgwrap{aspect-ratio:16/11;overflow:hidden;background:#080C13;}
.bd-ins-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;}
.bd-ins-body{padding:26px 28px 30px;display:flex;flex-direction:column;gap:14px;}
.bd-ins-title{margin:0;font-size:20px;line-height:1.28;letter-spacing:-0.01em;color:#ffffff;font-weight:700;transition:color .3s ease;}
.bd-ins-card:hover .bd-ins-title{color:#ffbe0b;}
.bd-ins-date{font-size:13px;letter-spacing:0.04em;color:#7E878E;}

/* ── Blog index (real WordPress posts via Query Loop) ─────────────────── */
.bd-blog{max-width:1320px;margin:0 auto;padding:0 40px 120px;}

/* Blog filter widgets: search + categories + tag cloud */
.bd-blog-tools{display:flex;flex-wrap:wrap;gap:24px 32px;justify-content:space-between;align-items:center;margin:0 0 20px;}
.bd-blog .wp-block-search{margin:0;max-width:420px;flex:1 1 260px;}
.bd-blog .wp-block-search__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.bd-blog .wp-block-search__inside-wrapper{border:1px solid rgba(255,255,255,0.18);border-radius:10px;overflow:hidden;background:#0A1019;display:flex;}
.bd-blog .wp-block-search__input{background:transparent;border:0;color:#F2F1ED;font-family:'Hanken Grotesk',sans-serif;font-size:15px;padding:13px 16px;outline:none;flex:1;}
.bd-blog .wp-block-search__input::placeholder{color:#7E878E;}
.bd-blog .wp-block-search__button{background:#ffbe0b;color:#000000;border:0;font-weight:700;font-family:'Hanken Grotesk',sans-serif;padding:0 22px;margin:0;cursor:pointer;transition:background .25s;}
.bd-blog .wp-block-search__button:hover{background:#ffd35e;}
.bd-blog ul.wp-block-categories{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
.bd-blog ul.wp-block-categories li{margin:0;}
.bd-blog ul.wp-block-categories a{display:inline-block;padding:8px 16px;border:1px solid rgba(255,255,255,0.18);border-radius:999px;color:#C7D3DA;text-decoration:none;font-size:13px;letter-spacing:0.02em;transition:border-color .25s,color .25s;}
.bd-blog ul.wp-block-categories a:hover{border-color:#ffbe0b;color:#ffbe0b;}
.bd-blog .bd-tags{margin:0 0 44px;}
.bd-blog .bd-tags-label{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#ffbe0b;margin:0 0 12px;}
.bd-blog .wp-block-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;}
.bd-blog .wp-block-tag-cloud a{display:inline-block;padding:6px 12px;border:1px solid rgba(255,255,255,0.12);border-radius:8px;color:#9FB2BE;text-decoration:none;font-size:13px !important;transition:border-color .25s,color .25s;}
.bd-blog .wp-block-tag-cloud a:hover{border-color:#ffbe0b;color:#ffbe0b;}
/* Search / archive title */
.bd-blog .wp-block-query-title{font-size:clamp(34px,5vw,60px);line-height:1.02;letter-spacing:-0.03em;color:#ffffff;font-weight:800;margin:0 0 24px;}
.bd-blog .wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.bd-blog li.wp-block-post{background:#0A1019;border:1px solid rgba(255,255,255,0.10);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.7,.2,1);}
.bd-blog li.wp-block-post:hover{transform:translateY(-8px);}
.bd-blog .wp-block-post-featured-image{margin:0;aspect-ratio:16/10;overflow:hidden;background:#080C13;}
.bd-blog .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;display:block;}
.bd-blog .wp-block-post-terms{padding:22px 26px 0;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#ffbe0b;}
.bd-blog .wp-block-post-terms a{color:#ffbe0b;text-decoration:none;}
.bd-blog .wp-block-post-title{margin:12px 26px 0;font-size:21px;line-height:1.25;letter-spacing:-0.01em;font-weight:700;}
.bd-blog .wp-block-post-title a{color:#ffffff;text-decoration:none;}
.bd-blog .wp-block-post-title a:hover{color:#ffbe0b;}
.bd-blog .wp-block-post-excerpt{margin:12px 26px 0;font-size:15px;line-height:1.6;color:#9FB2BE;}
.bd-blog .wp-block-post-excerpt p{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.bd-blog .wp-block-post-excerpt__more-link{display:inline-block;margin-top:8px;color:#ffbe0b;font-weight:700;font-size:13px;}
.bd-blog .wp-block-post-date{margin:14px 26px 26px;font-size:12px;letter-spacing:0.06em;color:#7E878E;}
.bd-blog .wp-block-query-pagination{margin-top:48px;display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;}
.bd-blog .wp-block-query-pagination a,.bd-blog .wp-block-query-pagination .wp-block-query-pagination-numbers{color:#C7D3DA;text-decoration:none;font-size:14px;}
.bd-blog .wp-block-query-pagination a:hover{color:#ffbe0b;}
.bd-blog .wp-block-query-no-results{color:#9FB2BE;}
@media (max-width:900px){.bd-blog .wp-block-post-template{grid-template-columns:1fr;}}

/* ── Single post (on-brand article) ───────────────────────────────────── */
.bd-article{max-width:820px;margin:0 auto;padding:150px 40px 120px;color:#C7D3DA;}
.bd-article .wp-block-post-terms{color:#ffbe0b;font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:16px;}
.bd-article .wp-block-post-terms a{color:#ffbe0b;text-decoration:none;}
.bd-article > h1,.bd-article .wp-block-post-title{font-size:clamp(32px,5vw,52px);line-height:1.08;letter-spacing:-0.02em;color:#ffffff;font-weight:800;margin:0 0 16px;}
.bd-article .bd-article-meta{color:#7E878E;font-size:14px;letter-spacing:0.04em;margin:0 0 28px;}
.bd-article .wp-block-post-featured-image{margin:0 0 36px;border-radius:16px;overflow:hidden;}
.bd-article .wp-block-post-featured-image img{width:100%;height:auto;display:block;}
.bd-article .wp-block-post-content{font-size:17px;line-height:1.8;}
.bd-article .wp-block-post-content h2{color:#ffffff;font-size:28px;line-height:1.25;margin:44px 0 12px;font-weight:700;}
.bd-article .wp-block-post-content h3{color:#ffffff;font-size:21px;margin:32px 0 10px;font-weight:700;}
.bd-article .wp-block-post-content p{margin:0 0 20px;}
.bd-article .wp-block-post-content a{color:#ffbe0b;}
.bd-article .wp-block-post-content img{max-width:100%;height:auto;border-radius:10px;margin:8px 0;}
.bd-article .wp-block-post-content ul,.bd-article .wp-block-post-content ol{padding-left:22px;margin:0 0 20px;}
.bd-article .wp-block-post-content li{margin-bottom:8px;}
.bd-article .wp-block-post-content blockquote{border-left:3px solid #ffbe0b;margin:24px 0;padding:6px 0 6px 20px;color:#ffffff;}
.bd-article .wp-block-post-content strong{color:#F2F1ED;}
.bd-article .wp-block-post-content table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px;}
.bd-article .wp-block-post-content th,.bd-article .wp-block-post-content td{border:1px solid rgba(255,255,255,0.14);padding:10px 14px;text-align:left;vertical-align:top;}
.bd-article .wp-block-post-content th{color:#ffffff;background:rgba(255,255,255,0.04);font-weight:700;}
.bd-article .wp-block-post-content figure{margin:0 0 24px;overflow-x:auto;}
.bd-article .bd-article-back{display:inline-block;margin-top:48px;color:#ffbe0b;text-decoration:none;font-weight:700;font-size:14px;}

/* ── Responsive: collapse the wide grids on narrow screens ────────────── */
@media (max-width:900px){
  .bd-collapse{grid-template-columns:1fr !important;}
  .bd-hero-grid{grid-template-columns:1fr !important;}
}
