/* Common responsive safeguards for every page in the THEPEEAK static site. */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip}
body{min-width:320px;max-width:100%;overflow-x:clip}
img,video,svg,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
.wrap{width:min(100% - 40px,1240px)}
.foot{padding:38px 0 48px}
.foot .wrap{gap:22px;flex-wrap:wrap}
.footer{padding:38px 0 46px}
.footer-row{gap:24px}
@media(max-width:900px){
 .layout-grid,.clarity-grid,.contact-grid,.intro-grid,.method-grid,.legal-layout,.infra-layout{grid-template-columns:1fr;gap:34px}
 .service-grid,.showcase-grid,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px)}
 .head .wrap{gap:12px}
 .head .nav{max-width:calc(100vw - 160px);overflow-x:auto;white-space:nowrap;gap:12px;padding:8px 1px;scrollbar-width:none}
 .head .nav::-webkit-scrollbar{display:none}
 .head .nav a{flex:0 0 auto}
 .foot{padding:34px 0 50px}
 .foot .wrap{align-items:flex-start;flex-direction:column;gap:16px}
 .footer{padding:34px 0 46px}
 .footer-row{align-items:flex-start;flex-direction:column;gap:17px}
 .footer-links{width:100%;gap:12px 18px;line-height:1.8}
 .footer-links a{padding:3px 0}
 .footer-row small{order:initial;width:auto}
 .contact-page{padding:120px 0 80px}
 .contact-grid,.contact-form{grid-template-columns:1fr}
 .contact-form .field,.contact-form .consent,.contact-form .form-status,.contact-form button{grid-column:1}
 .contact-form input,.contact-form select,.contact-form textarea{min-width:0}
 .contact-page .actions,.actions{gap:10px}
 .actions .btn{max-width:100%;white-space:normal}
 .work-preview-grid,.showcase-grid,.content-grid,.service-grid{grid-template-columns:1fr}
 .work-preview-card,.showcase-card,.content-card{min-width:0}
 .section-bar,.showcase-heading,.work-preview-head{align-items:flex-start;flex-direction:column}
 .dialog-media{grid-template-columns:1fr}
 .form-grid{grid-template-columns:1fr}
 .field.wide{grid-column:1}
 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-top h1,.section-bar h2{overflow-wrap:anywhere}
 .account-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px 18px}
}
@media(max-width:420px){
 .wrap{width:calc(100% - 30px)}
 .brand-logo{width:132px}
 .hero-content{padding-inline:20px}
 .hero h1{font-size:clamp(54px,13vw,74px)}
 .hero-meta{flex-wrap:wrap;gap:14px 18px}
 .service-card-content{width:80%;padding:20px 16px}
 .service-card h3{font-size:26px}
 .metric-grid{grid-template-columns:1fr 1fr}
 .metric{min-width:0}
 .editor-actions,.account-settings-actions{flex-wrap:wrap}
 .editor-actions>* ,.account-settings-actions>*{flex:1 1 140px}
 .footer-links{gap:10px 14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
.account-settings-button{border:1px solid #aeb8bf;background:transparent;color:inherit;padding:10px 13px;font:600 10px Inter,Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.account-settings-button:hover{border-color:#ff6a00;color:#ff6a00}
.account-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:28px;border:1px solid #dfe4e7;background:#f7f8fa;color:#101820;box-shadow:0 24px 90px #0006;overflow:auto}
.account-dialog::backdrop{background:#05090bc9;backdrop-filter:blur(4px)}
.account-settings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #dbe1e5}
.account-settings-head span,.account-divider{color:#f06a14;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.account-settings-head h2{margin:8px 0 0;color:#0b2d5b;font:700 32px/1 var(--display,Arial,sans-serif)}
.account-settings-close{border:0;background:none;color:#52616a;font-size:25px;cursor:pointer}
.account-dialog label{display:grid;gap:7px;margin:13px 0;color:#53616c;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.account-dialog input{width:100%;min-height:44px;padding:11px;border:1px solid #cfd8de;background:#fff;color:#101820;font:14px Inter,Arial,sans-serif}
.account-divider{margin-top:24px;padding-top:17px;border-top:1px solid #dbe1e5}
.account-help{margin:6px 0 12px;color:#697680;font-size:11px;line-height:1.6}
.account-settings-status{min-height:20px;color:#0b2d5b;font-size:12px}
.account-settings-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:13px;border-top:1px solid #dbe1e5}
.account-settings-actions button{min-height:42px;padding:10px 14px;border:1px solid #aeb8bf;background:transparent;color:#0b2d5b;font:700 10px Inter,Arial,sans-serif;cursor:pointer}
.account-settings-actions button[type=submit]{border-color:#ff6a00;background:#ff6a00;color:white}
.admin-user .account-settings-button{color:#0b2d5b}
.client-head .account-settings-button{color:#0b2d5b}
@media(max-width:420px){.account-dialog{padding:22px 16px}.account-settings-head h2{font-size:27px}}

/* Small phones, narrow foldables, landscape phones, and text zoom. */
html,body{width:100%;min-width:0;max-width:100%}
main,header,footer,section,article,nav,form,fieldset,dialog{min-width:0}
button,input,select,textarea{min-width:0}
@media(max-width:520px){
 .wrap{width:calc(100% - 32px)}
 .head .wrap{min-width:0}
 .head .nav{min-width:0;max-width:calc(100vw - 150px)}
 .head .nav a,.navlinks a,.side-link{min-height:44px}
 .menu-toggle{min-width:44px;min-height:44px}
 .navlinks.open{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
 .hero-stage{height:auto;min-height:max(620px,100svh);max-height:none}
 .hero-content{padding:104px 18px 34px}
 .hero h1{font-size:clamp(42px,13.5vw,68px);line-height:.9;overflow-wrap:anywhere}
 .legal-hero h1,.showcase-hero h1,.admin-top h1,.section-bar h2,.card-title{overflow-wrap:anywhere}
 .hero-copy{font-size:14px}
 .hero-actions .btn{flex:1 1 100%;width:100%;min-height:46px}
 .hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;font-size:8px;letter-spacing:.08em}
 .hero-meta>*{min-width:0;overflow-wrap:anywhere}
 .intro,.services,.method,.contact,.work-preview,.statement{padding-block:clamp(58px,16vw,78px)}
 .section-head{display:block}
 .section-head .lede{margin-top:18px}
 .service-card{aspect-ratio:auto;min-height:300px}
 .service-card-content{width:100%;padding:26px 22px}
 .service-card .service-number{margin-bottom:22px}
 .service-card h3{font-size:clamp(25px,8vw,32px);overflow-wrap:anywhere}
 .service-card p{font-size:12px}
 .hero[data-index] h1{font-size:clamp(38px,10vw,54px);line-height:.95;overflow-wrap:anywhere}
 .web-steps,.growth-path,.brand-orbit,.visual-board,.software-flow{grid-template-columns:1fr}
 .infra-mark{min-height:280px}
 .infra-mark strong{font-size:clamp(42px,13vw,58px)}
 .contact-points a,.contact-form .btn,.btn,.button{min-height:44px}
 .public-filter,.filter,.auth-tabs button,.upload-control,.text-button,.icon-button,.eye-button,.faq summary{min-height:44px}
 .eye-button{min-width:44px}
 .faq summary{display:flex;align-items:center}
 .work-preview-head,.section-bar,.showcase-heading{gap:16px}
 .work-preview-link,.showcase-heading .button{min-height:44px;display:inline-flex;align-items:center}
 .foot-main{grid-template-columns:1fr}
 .foot-description,.footer-brand-block{grid-column:auto}
 .legal-hero h1,.showcase-hero h1{font-size:clamp(38px,11vw,60px);overflow-wrap:anywhere}
 .legal-layout{gap:26px}
 .toc{grid-template-columns:1fr 1fr;gap:6px}
 .toc a{min-height:44px;padding:12px 9px;overflow-wrap:anywhere}
 .policy h2{font-size:clamp(27px,8vw,34px);overflow-wrap:anywhere}
 .showcase-dialog,.portfolio-preview,.invoice-preview-dialog{max-height:calc(100dvh - 12px)}
 .dialog-close,.preview-close{min-width:44px;min-height:44px}
 .inline-update{grid-template-columns:1fr}
 .inline-update p{grid-column:auto}
 .side-nav{scroll-snap-type:x proximity;padding-bottom:3px}
 .side-link{flex:0 0 auto;scroll-snap-align:start;padding:10px 12px}
 .side-link span{display:none}
 .admin-main{min-width:0}
 .admin-top h1,.section-bar h2{font-size:clamp(30px,9vw,36px)}
 .editor,.invoice-editor{width:calc(100% - 12px);max-width:none;max-height:calc(100dvh - 12px)}
 .editor form,.invoice-editor form{max-height:calc(100dvh - 12px);padding-inline:14px}
 .editor-actions,.account-settings-actions{gap:8px}
 .editor-actions>* ,.account-settings-actions>*{flex:1 1 125px}
 .invoice-meta-fields{grid-template-columns:1fr}
 .invoice-parties{grid-template-columns:1fr}
 .invoice-lines-table{min-width:620px}
 .invoice-screen-actions{position:sticky;bottom:0}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 28px)}
 .brand-logo{width:122px}
 .head .nav{max-width:calc(100vw - 136px);gap:9px}
 .hero-content{padding-inline:14px}
 .hero h1{font-size:clamp(39px,12.8vw,46px)}
 .hero-meta{grid-template-columns:1fr 1fr;row-gap:14px}
 .hero-meta>*:last-child{grid-column:1/-1}
 .metric-grid{grid-template-columns:1fr}
 .toc{grid-template-columns:1fr}
 .auth-right{padding-inline:16px}
 .showcase-dialog,.portfolio-preview{padding:16px}
}
@media(max-width:760px) and (max-height:500px){
 .hero-stage{min-height:560px}
 .auth-shell{min-height:100svh}
 .auth-visual{height:240px;min-height:220px}
 .auth-right{padding-top:28px;padding-bottom:28px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Consistent site footer: clear navigation, contact details and copyright. */
.foot{padding:54px 0 22px;background:#080d0f;color:#d4dbe0}
.foot .wrap{display:block;max-width:1240px}
.foot-main{display:grid;grid-template-columns:1.2fr 1fr 1.3fr 1.1fr;gap:30px;padding-bottom:34px}
.foot-brand{display:flex;flex-direction:column;gap:10px;color:#fff;text-decoration:none}
.foot-brand strong{font:800 27px/1 var(--display,Arial,sans-serif);letter-spacing:.04em}
.foot-brand span,.foot-description{color:#8e9aa3;font-size:11px;line-height:1.7}
.foot-description{max-width:290px;margin:0}
.foot-nav,.foot-contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.foot-nav a,.foot-contact a{color:#d4dbe0;font-size:11px;line-height:1.5;text-decoration:none}
.foot-nav a:hover,.foot-contact a:hover,.foot-bottom a:hover{color:#ff6a00}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:17px;border-top:1px solid #ffffff24;color:#85919a;font-size:10px}
.foot-bottom a{color:#aab3b9;text-decoration:none}
.legal-footer-links{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:12px 24px}
.legal-footer-links a{color:#d6d9e0;font-size:10px;text-decoration:none}
@media(max-width:760px){.foot{padding:40px 0 22px}.foot-main{grid-template-columns:1fr 1fr;gap:26px 18px}.foot-description{grid-column:1/-1}.foot-bottom{gap:12px 18px}.legal-footer-links{gap:12px 17px}}
@media(max-width:460px){.foot-main{grid-template-columns:1fr}.foot-description{grid-column:auto}.foot-bottom{align-items:flex-start;flex-direction:column}.legal-footer-links{display:grid;grid-template-columns:1fr 1fr}}

/* THEPEEAK transparent vertical logo lockup. */
img[src$="thepeeak-logo.png"],img[src$="thepeeak-logo-horizontal.png"]{width:146px;height:96px;max-height:none;object-fit:contain;object-position:center;display:block;filter:none;opacity:1}
.auth-brand img[src$="thepeeak-logo.png"],.auth-brand img[src$="thepeeak-logo-horizontal.png"]{width:146px;height:100px}
.auth-top{padding:5px 9px;background:#061522;border-radius:9px}
.client-head{background:#061522;padding:8px 12px;border-radius:12px}
.auth-top img[src$="thepeeak-logo.png"],.auth-top img[src$="thepeeak-logo-horizontal.png"]{width:126px;height:84px;filter:none}
.admin-brand img[src$="thepeeak-logo.png"],.admin-brand img[src$="thepeeak-logo-horizontal.png"]{width:134px;height:90px}
.client-head img[src$="thepeeak-logo.png"],.client-head img[src$="thepeeak-logo-horizontal.png"]{width:138px;height:92px}
@media(max-width:760px){img[src$="thepeeak-logo.png"],img[src$="thepeeak-logo-horizontal.png"]{width:122px;height:82px}.auth-brand img[src$="thepeeak-logo.png"],.auth-brand img[src$="thepeeak-logo-horizontal.png"]{width:104px;height:70px}.admin-brand img[src$="thepeeak-logo.png"],.admin-brand img[src$="thepeeak-logo-horizontal.png"]{width:112px;height:76px}.client-head img[src$="thepeeak-logo.png"],.client-head img[src$="thepeeak-logo-horizontal.png"]{width:124px;height:82px}}
