/* A R Fashions — cross-device responsive layer
   Designed for Windows/macOS desktops, laptops, tablets, phones, foldables and TVs. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-width:0;overflow-x:hidden;}
img,video,iframe{max-width:100%;}
button,input,select,textarea{max-width:100%;}

/* Large monitors / TVs: keep content readable instead of stretching it forever. */
@media (min-width:1600px){
  .v16-nav,.v20-intro,.v20-section-head,.v20-category-grid,.v20-process-layout,.v20-process-top,.v20-how-head,.v20-how-grid,.v20-logo-marquee{max-width:1400px}
  .v20-hero-inner{left:max(6vw,90px)}
}
@media (min-width:2200px){
  .v20-hero h1{font-size:clamp(76px,4.8vw,118px)}
  .v20-hero p{font-size:18px}
  .v20-process-display{min-height:640px}
  .v20-category-grid>a{min-height:440px}
}

/* Laptop/tablet landscape: switch to a real hamburger before navigation becomes cramped. */
@media (max-width:1050px){
  .v16-header{height:72px}
  .v16-nav{padding:0 24px}
  .v16-nav nav{display:none!important}
  .v16-menu{display:block!important;width:44px;height:44px;padding:0;border:1px solid #dce2dd;border-radius:2px;color:#06382a;cursor:pointer;font-size:22px;line-height:1;background:#fff}
  .v16-hero{height:calc(100svh - 72px);min-height:620px}
  .v20-hero{height:calc(100svh - 72px);min-height:620px}
  .v20-hero-inner{left:6vw;right:8vw;max-width:720px}
  .v20-process-layout{grid-template-columns:230px 1fr}
  .v20-process-display{grid-template-columns:1fr 1fr}
  .v20-process-text{padding:42px}
}

/* Standard site pages use the same breakpoint as the main navigation. */
@media (min-width:851px) and (max-width:1050px){
  header{height:78px}
  .nav{padding:0 24px}
  .links{display:none!important}
  .hamb{display:block!important;width:44px;height:44px;padding:0;border:1px solid #d5ddd7;background:#fff;color:#06382a;border-radius:2px;cursor:pointer}
  .links.open{display:flex!important;position:absolute;top:78px;left:0;right:0;background:#fff;padding:22px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 12px 28px rgba(0,0,0,.08);z-index:60}
}

/* Tablets / small landscape phones. */
@media (max-width:850px){
  .wrap{width:min(var(--max),calc(100% - 32px));}
  .section{padding:76px 0}
  .pagehead{padding:130px 0 68px}
  .split,.form-layout,.intro{grid-template-columns:1fr;gap:34px}
  .split img{height:min(520px,70vw);min-height:300px}
  .products{grid-template-columns:1fr 1fr}
  .caps{grid-template-columns:1fr 1fr}
  .process{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .two{grid-template-columns:1fr 1fr}
  .footergrid{grid-template-columns:1fr 1fr;gap:32px}
  .v20-category-grid{grid-template-columns:1fr 1fr}
  .v20-process-layout{grid-template-columns:1fr}
  .v20-process-nav{display:grid;grid-template-columns:repeat(4,1fr);padding:0}
  .v20-process-nav button{border-right:1px solid #355047;padding:16px 12px}
  .v20-process-display{grid-template-columns:1fr 1fr;min-height:480px}
  .v20-how-grid{grid-template-columns:1fr 1fr}
  .v20-how-grid article:nth-child(2){border-right:0}
  .v20-factory{grid-template-columns:1fr}
  .v20-factory-image{height:420px}
  .v20-cta{grid-template-columns:1fr}
  .v20-cta-image{height:420px}
  .v20-section-head,.v20-process-top,.v20-how-head{align-items:flex-start}
  .contact-grid,.contact-bottom{grid-template-columns:1fr 1fr}
}

/* Phones portrait, including iPhone/Android and most foldables in single-screen mode. */
@media (max-width:600px){
  .v16-nav{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .v16-brand img{width:96px;height:60px}
  .v20-hero,.v16-hero{min-height:620px;height:calc(100svh - 70px)}
  .v20-hero-bg{background-position:62% center}
  .v20-hero-inner{left:22px;right:22px;top:48%;transform:translateY(-45%)}
  .v20-hero h1{font-size:clamp(46px,14.5vw,70px);letter-spacing:-.065em}
  .v20-hero p{font-size:13px;line-height:1.55;max-width:520px}
  .v20-hero .v16-actions{gap:9px;align-items:stretch;flex-wrap:wrap}
  .v20-hero .v16-btn,.v20-hero .v16-outline{padding:13px 16px;font-size:10px}
  .v20-hero-index{left:22px;bottom:22px}
  .v20-trust{grid-template-columns:1fr;padding:0 20px}
  .v20-trust>div{border-right:0;border-bottom:1px solid #e1e5e1;padding:19px 0}
  .v20-intro{padding:68px 20px;display:block}
  .v20-intro-label{margin-bottom:20px}
  .v20-intro h2,.v20-section-head h2,.v20-process-top h2,.v20-how-head h2{font-size:clamp(38px,11vw,52px)}
  .v20-categories,.v20-process,.v20-how,.v20-clients{padding:68px 20px}
  .v20-section-head{display:block}
  .v20-section-head>a{display:inline-block;margin-top:18px}
  .v20-category-grid{grid-template-columns:1fr;gap:14px;margin-top:34px}
  .v20-category-grid>a{min-height:340px}
  .v20-why{grid-template-columns:1fr}
  .v20-why-photo{min-height:330px}
  .v20-why-copy{padding:66px 22px}
  .v20-why-copy h2{font-size:clamp(40px,11vw,54px);margin-bottom:35px}
  .v20-process{padding-bottom:74px}
  .v20-process-top{display:block}
  .v20-process-top>p{margin-top:18px}
  .v20-process-layout{margin-top:34px}
  .v20-process-nav{grid-template-columns:1fr 1fr}
  .v20-process-nav button{padding:14px 11px;min-height:65px}
  .v20-process-nav button span{font-size:13px}
  .v20-process-display{grid-template-columns:1fr;min-height:0}
  .v20-process-image{height:300px}
  .v20-process-text{padding:32px 24px 38px}
  .v20-process-text h3{font-size:32px}
  .v20-how{padding-top:68px}
  .v20-how-head{display:block}
  .v20-how-grid{grid-template-columns:1fr;margin-top:35px}
  .v20-how-grid article{border-right:0!important;min-height:0;padding:23px 0}
  .v20-how-grid h3{margin-top:26px}
  .v20-factory-copy{padding:62px 22px;min-height:330px}
  .v20-factory-image{height:290px}
  .v20-clients{padding-top:68px}
  .v20-logo-set img{width:108px;height:66px}
  .v20-cta-image{height:290px}
  .v20-cta-copy{padding:62px 22px}
  .v20-cta-copy h2{font-size:clamp(42px,11vw,58px)}
  .v20-footer,.v16-footer{padding-left:22px;padding-right:22px}

  /* Legacy/secondary pages */
  .pagehead{padding:125px 0 62px}
  .pagehead h1{font-size:clamp(42px,12vw,64px)}
  .section{padding:68px 0}
  .products,.caps,.process,.gallery,.footergrid,.two{grid-template-columns:1fr}
  .pimg{height:280px}
  .head{display:block;margin-bottom:32px}
  .head h2{font-size:clamp(38px,11vw,52px)}
  .head p{margin-top:15px}
  .split img{height:330px}
  .formbox{padding:22px}
  .contact{padding:26px 22px}
  .footergrid{gap:26px}
  .client-grid{grid-template-columns:1fr 1fr}
  .client-card{height:140px;padding:16px}
  .client-card img{max-height:80px}

  /* Contact page */
  .contact-main{padding:64px 20px}
  .contact-hero{grid-template-columns:1fr;min-height:0}
  .contact-hero-copy{padding:62px 22px}
  .contact-hero-copy h1{font-size:clamp(43px,12.5vw,62px)}
  .contact-hero-image{height:320px;min-height:320px}
  .contact-grid,.contact-bottom{grid-template-columns:1fr}
  .contact-map,.contact-map iframe{height:320px;min-height:320px}
  .contact-photo-strip{grid-template-columns:1fr}
  .contact-photo-strip img{height:270px;min-height:270px}
  .contact-photo-strip>div{padding:32px 22px}
  .contact-photo-strip h2{font-size:32px}

  .mobile-bar{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));}
}

/* Very narrow phones: prevent buttons/headlines from wrapping awkwardly. */
@media (max-width:380px){
  .v20-hero-inner{left:18px;right:18px}
  .v20-hero h1{font-size:clamp(40px,14vw,54px)}
  .v20-hero p{font-size:12px}
  .v20-hero .v16-actions{display:grid;grid-template-columns:1fr}
  .v20-hero .v16-btn,.v20-hero .v16-outline{width:100%;justify-content:center;text-align:center}
  .v20-process-nav button{padding:12px 8px;font-size:9px}
  .v20-process-nav button span{font-size:12px}
  .contact-links a{width:100%;text-align:center}
  .formbox{padding:18px}
}

/* Landscape phones and short-height tablet/desktop windows. */
@media (max-height:560px) and (orientation:landscape){
  .v20-hero,.v16-hero{min-height:500px;height:calc(100svh - 70px)}
  .v20-hero-inner{top:48%;max-width:700px}
  .v20-hero h1{font-size:clamp(42px,8vw,68px);margin:14px 0}
  .v20-hero p{font-size:12px;margin-bottom:14px;max-width:560px}
  .v20-hero-index,.v20-watch{display:none}
  .contact-hero{min-height:520px}
  .contact-hero-copy{padding:45px 6vw}
  .contact-hero-image{min-height:520px}
}

/* Foldables / dual-screen style viewports: keep columns away from a potential hinge/gutter. */
@media (horizontal-viewport-segments:2){
  .v16-header,.v20-hero,.v20-trust,.v20-intro,.v20-categories,.v20-why,.v20-process,.v20-how,.v20-factory,.v20-clients,.v20-cta,.contact-hero,.contact-main{padding-left:env(viewport-segment-left 0 0);padding-right:env(viewport-segment-left 1 0)}
  .v20-process-layout,.contact-grid{grid-template-columns:1fr}
}

/* Touch devices: eliminate hover-only movement and preserve comfortable tap targets. */
@media (hover:none), (pointer:coarse){
  .v20-category-grid>a:hover img,.v20-process-image:hover img,.p:hover .pimg img{transform:none}
  .contact-links a:hover,.contact-card:hover{transform:none;box-shadow:none}
  .v16-nav nav a,.links a{min-height:42px;display:flex;align-items:center}
  .v20-process-nav button{min-height:54px}
}

/* Safe-area support for notched iPhones and Androids. */
@supports (padding: max(0px)){
  .v16-header,.v20-header{padding-top:max(0px,env(safe-area-inset-top));}
  footer{padding-bottom:max(20px,env(safe-area-inset-bottom));}
}

/* Avoid accidental horizontal scrolling caused by long words/addresses. */
.v20-intro p,.v20-process-text p,.v20-how-grid p,.contact-card p,.copy p,.footergrid p,.footergrid a{overflow-wrap:anywhere;}

/* Grid children are allowed to shrink instead of creating horizontal overflow. */
.v20-hero-inner,.v20-intro>*,.v20-section-head>*,.v20-process-top>*,.v20-process-display>*,.v20-how-head>*,.v20-factory>*,.v20-cta>*,.contact-hero>*,.contact-grid>*,.form-layout>*{min-width:0}

/* Prevent long labels and URLs from forcing desktop-width layouts on narrow screens. */
.v16-nav nav a,.links a,.v20-category-grid h3,.v20-process-nav button,.contact-card h2{overflow-wrap:anywhere}
