/* Arizona Tile Roofing, LLC — one-page site
   Built on the Arizona Tile Roofing design system. All tokens prefixed --atr-. */

@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap");

:root{
  --atr-font-display:"Archivo","Arial Narrow",Helvetica,Arial,sans-serif;
  --atr-font-body:"Source Sans 3","Helvetica Neue",Helvetica,Arial,sans-serif;

  --atr-orange-500:#FF6A14;--atr-orange-600:#E05505;--atr-orange-700:#B84B08;--atr-orange-100:#FFF1E6;
  --atr-sun-400:#FF9A20;--atr-mountain-700:#4E3222;--atr-terracotta-600:#A6432A;
  --atr-charcoal-900:#1C1F22;--atr-charcoal-800:#292D31;--atr-charcoal-700:#33383D;
  --atr-gray-500:#6B7075;--atr-gray-400:#9AA0A6;--atr-gray-200:#E4E6E8;--atr-gray-100:#F4F5F6;
  --atr-white:#FFFFFF;--atr-warm-white:#FBF8F4;--atr-sand-200:#F1E7D9;--atr-sand-400:#DED3C2;
  --atr-success-600:#1E7A4B;--atr-success-100:#E6F2EB;--atr-warning-600:#B47500;--atr-warning-100:#FBF1DC;--atr-error-600:#B3261E;--atr-error-100:#FBE9E7;

  --atr-text-primary:var(--atr-charcoal-900);--atr-text-secondary:var(--atr-gray-500);
  --atr-text-inverse:var(--atr-warm-white);--atr-text-inverse-muted:#B9BEC3;
  --atr-text-on-primary:var(--atr-charcoal-900);

  --atr-space-1:4px;--atr-space-2:8px;--atr-space-3:12px;--atr-space-4:16px;--atr-space-5:20px;--atr-space-6:24px;--atr-space-8:32px;--atr-space-10:40px;--atr-space-12:48px;--atr-space-16:64px;--atr-space-20:80px;--atr-space-24:96px;

  --atr-radius-xs:2px;--atr-radius-sm:3px;--atr-radius-md:5px;--atr-radius-lg:8px;--atr-radius-image:10px;

  --atr-shadow-xs:0 1px 2px rgba(28,31,34,.06);
  --atr-shadow-card:0 1px 2px rgba(28,31,34,.05),0 2px 8px rgba(28,31,34,.05);
  --atr-shadow-card-hover:0 2px 4px rgba(28,31,34,.06),0 8px 20px rgba(28,31,34,.10);
  --atr-shadow-header:0 1px 0 rgba(28,31,34,.10);
  --atr-shadow-raised:0 12px 32px rgba(28,31,34,.18);
  --atr-focus-ring:0 0 0 3px rgba(255,106,20,.45);

  --atr-band-sand:repeating-linear-gradient(to bottom,rgba(166,67,42,.07) 0 2px,transparent 2px 12px);
  --atr-band-dark:repeating-linear-gradient(to bottom,rgba(251,248,244,.055) 0 1px,transparent 1px 9px);
  --atr-rule-orange:4px solid var(--atr-orange-500);

  --atr-container:1240px;--atr-container-narrow:920px;--atr-container-text:680px;
  --atr-gutter:24px;--atr-section-y:96px;--atr-header-h:88px;

  --atr-fast:120ms;--atr-base:180ms;--atr-slow:260ms;
  --atr-ease:cubic-bezier(.2,.6,.3,1);
}
@media (max-width:767px){:root{--atr-gutter:20px;--atr-section-y:64px;--atr-header-h:64px}}
@media (prefers-reduced-motion:reduce){:root{--atr-fast:0ms;--atr-base:0ms;--atr-slow:0ms}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--atr-header-h) + 8px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--atr-warm-white);color:var(--atr-text-primary);font-family:var(--atr-font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--atr-font-display);margin:0;letter-spacing:-.012em;line-height:1.18;text-wrap:balance}
h1{font-size:clamp(34px,4.4vw,58px);font-weight:800;line-height:1.05;letter-spacing:-.022em}
h2{font-size:clamp(28px,3.1vw,40px);font-weight:800;letter-spacing:-.018em}
h3{font-size:clamp(20px,1.7vw,24px);font-weight:700}
h4{font-size:20px;font-weight:600}
p{margin:0 0 var(--atr-space-4);max-width:68ch}
p:last-child{margin-bottom:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--atr-orange-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color var(--atr-fast) var(--atr-ease)}
a:hover{color:var(--atr-charcoal-900);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--atr-orange-500);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--atr-orange-500);color:var(--atr-charcoal-900);font-family:var(--atr-font-display);font-weight:700;padding:12px 18px}
.skip:focus{left:8px;top:8px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- layout ---------- */
.wrap{max-width:var(--atr-container);margin:0 auto;padding-left:var(--atr-gutter);padding-right:var(--atr-gutter)}
.wrap--narrow{max-width:var(--atr-container-narrow)}
.sec{padding:var(--atr-section-y) 0}
.sec--tight{padding:var(--atr-space-10) 0}
.sec--white{background:var(--atr-white)}
.sec--warm{background:var(--atr-sand-200);background-image:var(--atr-band-sand)}
.sec--dark{background:var(--atr-charcoal-900);background-image:var(--atr-band-dark);color:var(--atr-text-inverse)}
.sec--dark h2,.sec--dark h3{color:var(--atr-text-inverse)}
.sec--dark p{color:var(--atr-text-inverse-muted)}

.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--atr-font-display);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--atr-orange-700);margin-bottom:var(--atr-space-3)}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--atr-orange-500);flex:none}
.sec--dark .eyebrow,.hero .eyebrow{color:var(--atr-orange-500)}
.head{margin-bottom:var(--atr-space-12);max-width:760px}
.head--center{margin-left:auto;margin-right:auto;text-align:center}
.head--center .eyebrow{justify-content:center}
.head--center .eyebrow::before{display:none}
.lede{font-size:20px;color:var(--atr-text-secondary);max-width:56ch;margin-top:var(--atr-space-4)}
.head--center .lede{margin-left:auto;margin-right:auto}
.sec--dark .lede{color:var(--atr-text-inverse-muted)}

/* ---------- buttons ---------- */
.btn{font-family:var(--atr-font-display);font-size:17px;font-weight:700;letter-spacing:.02em;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:2px solid transparent;border-radius:var(--atr-radius-sm);padding:17px 30px;min-height:52px;cursor:pointer;text-decoration:none;transition:background-color var(--atr-fast) var(--atr-ease),border-color var(--atr-fast) var(--atr-ease),color var(--atr-fast) var(--atr-ease),transform var(--atr-fast) var(--atr-ease)}
.btn:active{transform:scale(.985)}
.btn:focus-visible{box-shadow:var(--atr-focus-ring)}
.btn--primary{background:var(--atr-orange-500);border-color:var(--atr-orange-500);color:var(--atr-text-on-primary)}
.btn--primary:hover{background:var(--atr-orange-600);border-color:var(--atr-orange-600);color:var(--atr-text-on-primary);text-decoration:none}
.btn--outline{background:transparent;border-color:var(--atr-charcoal-900);color:var(--atr-charcoal-900)}
.btn--outline:hover{background:var(--atr-charcoal-900);color:var(--atr-text-inverse);text-decoration:none}
.btn--ondark{background:transparent;border-color:rgba(251,248,244,.55);color:var(--atr-text-inverse)}
.btn--ondark:hover{background:rgba(251,248,244,.10);border-color:var(--atr-text-inverse);color:var(--atr-text-inverse);text-decoration:none}
.btn--lg{font-size:19px;padding:20px 38px;min-height:60px}
.btn--sm{font-size:15px;padding:11px 20px;min-height:44px}
.btn--block{width:100%}
.btn iconify-icon{font-size:20px}
.textlink{font-family:var(--atr-font-display);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.btnrow{display:flex;flex-wrap:wrap;gap:var(--atr-space-4)}

/* ---------- utility bar ---------- */
.util{background:var(--atr-charcoal-900);color:var(--atr-text-inverse);font-size:14px}
.util__in{display:flex;align-items:center;justify-content:space-between;gap:var(--atr-space-5);min-height:44px;flex-wrap:wrap}
.util ul{list-style:none;display:flex;gap:var(--atr-space-6);margin:0;padding:0;flex-wrap:wrap}
.util li{display:flex;align-items:center;gap:8px}
.util iconify-icon{color:var(--atr-orange-500);font-size:16px}
.util a{color:inherit;text-decoration:none;font-family:var(--atr-font-display);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.util a:hover{color:var(--atr-orange-500)}
@media (max-width:860px){.util__in{justify-content:center;padding-top:8px;padding-bottom:8px}.util li:nth-child(3){display:none}}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:100;background:var(--atr-white);box-shadow:var(--atr-shadow-header)}
.hdr__in{display:flex;align-items:center;gap:var(--atr-space-8);min-height:var(--atr-header-h)}
.hdr__logo{flex:none;display:block;padding:8px 0;text-decoration:none;color:var(--atr-charcoal-900)}
/* Header lockup: the logo's own wordmark, cropped from the full mark.
   The complete logo (house, sun, mountains, tagline) is used in the footer. */
.wordmark{height:46px;width:auto;display:block;transition:opacity var(--atr-fast) var(--atr-ease)}
.hdr__logo:hover .wordmark{opacity:.82}
.nav{margin-left:auto;display:flex;align-items:center;gap:var(--atr-space-6)}
.nav a{font-family:var(--atr-font-display);font-size:16px;font-weight:600;color:var(--atr-charcoal-900);text-decoration:none;padding:10px 0;border-bottom:3px solid transparent;white-space:nowrap;transition:border-color var(--atr-fast) var(--atr-ease),color var(--atr-fast) var(--atr-ease)}
.nav a:hover,.nav a.is-active{border-bottom-color:var(--atr-orange-500);color:var(--atr-charcoal-900)}
.hdr__cta{flex:none;display:flex;align-items:center;gap:var(--atr-space-4)}
.hdr__phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--atr-font-display);font-size:21px;font-weight:800;color:var(--atr-charcoal-900);text-decoration:none;white-space:nowrap}
.hdr__phone iconify-icon{color:var(--atr-orange-500);font-size:20px}
.hdr__phone:hover{color:var(--atr-orange-700)}
.burger{display:none;width:48px;height:48px;background:none;border:1px solid var(--atr-gray-200);border-radius:var(--atr-radius-sm);cursor:pointer;place-items:center;color:var(--atr-charcoal-900)}
.burger iconify-icon{font-size:26px}
.mnav{display:none;border-top:1px solid var(--atr-gray-200);background:var(--atr-white)}
.mnav.is-open{display:block}
.mnav ul{list-style:none;margin:0;padding:var(--atr-space-2) 0 var(--atr-space-5)}
.mnav a{display:block;padding:15px 0;font-family:var(--atr-font-display);font-size:18px;font-weight:700;color:var(--atr-charcoal-900);text-decoration:none;border-bottom:1px solid var(--atr-gray-200)}
.mnav .btn{margin-top:var(--atr-space-5)}
@media (max-width:1100px){.nav{display:none}.burger{display:grid}.hdr__cta{margin-left:auto}}
@media (max-width:640px){.wordmark{height:34px}.hdr__cta .btn{display:none}.hdr__phone{font-size:18px}}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--atr-charcoal-900);isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.hero__in{display:grid;grid-template-columns:1.08fr 452px;gap:var(--atr-space-16);align-items:center;padding-block:var(--atr-space-20)}
.hero h1{color:var(--atr-text-inverse);max-width:19ch;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.hero__lede{font-size:20px;color:var(--atr-text-inverse);max-width:50ch;margin-top:var(--atr-space-5);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.hero__meta{display:flex;flex-wrap:wrap;gap:var(--atr-space-3) var(--atr-space-6);margin-top:var(--atr-space-8);list-style:none;padding:0}
.hero__meta li{display:flex;align-items:center;gap:8px;font-family:var(--atr-font-display);font-size:15px;font-weight:600;color:var(--atr-text-inverse)}
.hero__meta iconify-icon{color:var(--atr-orange-500);font-size:19px}
.hero .btnrow{margin-top:var(--atr-space-8)}
@media (max-width:1023px){.hero__in{grid-template-columns:1fr;gap:var(--atr-space-12);padding-block:var(--atr-space-16)}}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,31,34,.95) 0%,rgba(28,31,34,.86) 40%,rgba(28,31,34,.55) 72%,rgba(28,31,34,.42) 100%),linear-gradient(to top,rgba(28,31,34,.55) 0%,rgba(28,31,34,0) 45%)}
@media (max-width:1023px){
  /* Below the desktop breakpoint the hero stacks and gets very tall — pin the skyline
     to a band at the top so the city and mountain horizon stay visible instead of
     being blown up into a vertical slice of downtown. */
  .hero__bg{bottom:auto;height:clamp(300px,52vw,520px)}
  .hero__bg img{object-position:50% 58%}
  .hero__bg::after{background:linear-gradient(to bottom,rgba(28,31,34,.55) 0%,rgba(28,31,34,.72) 55%,var(--atr-charcoal-900) 100%)}
}

/* ---------- form ---------- */
.form{background:var(--atr-white);border:1px solid var(--atr-gray-200);border-top:var(--atr-rule-orange);border-radius:var(--atr-radius-md);box-shadow:var(--atr-shadow-raised);padding:var(--atr-space-8)}
.form h2{font-size:26px}
.form__sub{font-size:15px;color:var(--atr-text-secondary);margin:var(--atr-space-2) 0 var(--atr-space-6)}
.field{display:flex;flex-direction:column;margin-bottom:var(--atr-space-5)}
.field:last-of-type{margin-bottom:var(--atr-space-6)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--atr-space-5)}
label{font-family:var(--atr-font-display);font-size:15px;font-weight:700;letter-spacing:.02em;margin-bottom:8px}
label .req{color:var(--atr-orange-700)}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;font-family:var(--atr-font-body);font-size:17px;line-height:1.4;color:var(--atr-charcoal-900);background:var(--atr-white);border:1px solid var(--atr-gray-400);border-radius:var(--atr-radius-sm);padding:14px 16px;min-height:50px;transition:border-color var(--atr-fast) var(--atr-ease),box-shadow var(--atr-fast) var(--atr-ease)}
textarea{min-height:auto;resize:vertical;line-height:1.55}
select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236B7075' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:46px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--atr-orange-500);box-shadow:var(--atr-focus-ring)}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--atr-error-600)}
.hint{font-size:13px;color:var(--atr-text-secondary);margin-top:8px}
.err{font-size:13px;font-weight:600;color:var(--atr-error-600);margin-top:8px;display:none}
.err.is-shown{display:block}
.radios{display:flex;gap:var(--atr-space-4);flex-wrap:wrap}
.radios label{display:inline-flex;align-items:center;gap:8px;font-weight:400;font-family:var(--atr-font-body);font-size:16px;margin:0;cursor:pointer;min-height:44px}
input[type=radio],input[type=checkbox]{accent-color:var(--atr-orange-500);width:20px;height:20px;min-height:0;flex:none;margin:0}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.4;color:var(--atr-text-secondary);cursor:pointer}
.check input{margin-top:2px}
.drop{display:flex;align-items:center;gap:12px;padding:18px;border:2px dashed var(--atr-gray-400);border-radius:var(--atr-radius-sm);background:var(--atr-gray-100);cursor:pointer;transition:border-color var(--atr-fast) var(--atr-ease),background-color var(--atr-fast) var(--atr-ease)}
.drop:hover{border-color:var(--atr-orange-500);background:var(--atr-orange-100)}
.drop iconify-icon{color:var(--atr-orange-700);font-size:24px}
.drop b{font-family:var(--atr-font-display);font-weight:600}
.drop span{color:var(--atr-text-secondary);font-size:15px}
.drop input{display:none}
.legal{font-size:12px;line-height:1.5;color:var(--atr-text-secondary);margin-top:var(--atr-space-4);max-width:58ch}
.notice{display:none;gap:12px;padding:18px;border-radius:var(--atr-radius-sm);background:var(--atr-warning-100);border-left:4px solid var(--atr-warning-600);margin-bottom:var(--atr-space-5);font-size:15px}
.notice.is-shown{display:flex}
.notice iconify-icon{color:var(--atr-warning-600);font-size:24px;flex:none}
.notice b{font-family:var(--atr-font-display);display:block;margin-bottom:2px;color:var(--atr-charcoal-900)}
.form--dark{background:var(--atr-charcoal-800);border-color:rgba(251,248,244,.18);box-shadow:none}
.form--dark h2,.form--dark label,.form--dark .drop b{color:var(--atr-text-inverse)}
.form--dark .check,.form--dark .legal,.form--dark .form__sub,.form--dark .hint{color:var(--atr-text-inverse-muted)}
.form--dark .drop{background:rgba(251,248,244,.06);border-color:rgba(251,248,244,.3)}
.form--dark .drop span{color:var(--atr-text-inverse-muted)}
.form--dark .drop iconify-icon{color:var(--atr-orange-500)}
@media (max-width:520px){.row2{grid-template-columns:1fr}.form{padding:var(--atr-space-6)}}

/* ---------- trust strip ---------- */
.trust{background:var(--atr-white);border-bottom:1px solid var(--atr-gray-200)}
.trust ul{list-style:none;margin:0;padding:var(--atr-space-8) 0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--atr-space-6)}
.trust li{display:flex;align-items:center;gap:12px;font-family:var(--atr-font-display);font-size:17px;font-weight:600}
.trust iconify-icon{color:var(--atr-orange-500);font-size:28px;flex:none}
@media (max-width:900px){.trust ul{grid-template-columns:1fr 1fr;gap:var(--atr-space-5)}.trust li{font-size:15px}}
@media (max-width:480px){.trust ul{grid-template-columns:1fr}}

/* ---------- cards ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--atr-space-6)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--atr-space-6)}
@media (max-width:960px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid3,.grid2{grid-template-columns:1fr}}

.svc{background:var(--atr-white);border:1px solid var(--atr-gray-200);border-top:4px solid var(--atr-gray-200);border-radius:var(--atr-radius-md);box-shadow:var(--atr-shadow-card);padding:var(--atr-space-8);display:flex;flex-direction:column;transition:border-color var(--atr-base) var(--atr-ease),box-shadow var(--atr-base) var(--atr-ease),transform var(--atr-base) var(--atr-ease)}
.svc:hover{border-top-color:var(--atr-orange-500);box-shadow:var(--atr-shadow-card-hover);transform:translateY(-2px)}
.svc iconify-icon{color:var(--atr-orange-500);font-size:42px}
.svc h3{margin-top:var(--atr-space-4)}
.svc p{font-size:16px;color:var(--atr-text-secondary);margin-top:var(--atr-space-2)}
.svc .textlink{margin-top:var(--atr-space-5);font-size:16px}
.svc__tag{align-self:flex-start;margin-bottom:var(--atr-space-3);font-family:var(--atr-font-display);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--atr-warning-100);color:#7A5000;padding:4px 8px;border-radius:var(--atr-radius-xs)}

/* ---------- expertise ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--atr-space-16);align-items:center}
.split--rev{grid-template-columns:.95fr 1.05fr}
@media (max-width:900px){.split,.split--rev{grid-template-columns:1fr;gap:var(--atr-space-10)}}
.photo{border-radius:var(--atr-radius-image);overflow:hidden;background:var(--atr-mountain-700)}
.photo img{width:100%;height:100%;object-fit:cover}
.checks{list-style:none;margin:var(--atr-space-6) 0 0;padding:0;display:grid;gap:var(--atr-space-4)}
.checks li{display:flex;gap:14px;align-items:flex-start}
.checks iconify-icon{color:var(--atr-orange-500);font-size:22px;flex:none;margin-top:3px}
.checks b{font-family:var(--atr-font-display);display:block}
.checks span{color:var(--atr-text-secondary);font-size:16px}
.sec--dark .checks span{color:var(--atr-text-inverse-muted)}

/* ---------- owner ---------- */
.owner__card{background:var(--atr-white);border:1px solid var(--atr-sand-400);border-left:var(--atr-rule-orange);border-radius:var(--atr-radius-md);padding:var(--atr-space-6);margin-top:var(--atr-space-8)}
.owner__card p{font-size:16px;margin:0}
.owner__name{margin-top:var(--atr-space-4);font-family:var(--atr-font-display)}
.owner__name b{display:block;font-size:20px}
.owner__name span{font-size:15px;color:var(--atr-text-secondary)}

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--atr-space-6)}
@media (max-width:960px){.gal{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.gal{grid-template-columns:1fr}}
.proj{background:var(--atr-white);border:1px solid var(--atr-gray-200);border-radius:var(--atr-radius-md);box-shadow:var(--atr-shadow-card);overflow:hidden;transition:box-shadow var(--atr-base) var(--atr-ease)}
.proj:hover{box-shadow:var(--atr-shadow-card-hover)}
.proj__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.proj__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--atr-slow) var(--atr-ease)}
.proj:hover .proj__img img{transform:scale(1.03)}
.proj__tag{position:absolute;top:12px;left:12px;background:var(--atr-orange-500);color:var(--atr-text-on-primary);font-family:var(--atr-font-display);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:var(--atr-radius-xs)}
.proj__body{padding:var(--atr-space-5) var(--atr-space-6) var(--atr-space-6)}
.proj__body h3{font-size:19px}
.proj__loc{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:15px;color:var(--atr-text-secondary)}
.proj__loc iconify-icon{color:var(--atr-orange-500);font-size:17px}
.ph-note{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--atr-font-display);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7A5000;background:var(--atr-warning-100);padding:5px 9px;border-radius:var(--atr-radius-xs)}

/* before / after */
.ba{position:relative;border-radius:var(--atr-radius-image);overflow:hidden;border:1px solid var(--atr-sand-400);aspect-ratio:4/3;background:var(--atr-mountain-700);touch-action:pan-y}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;background:var(--atr-orange-500);pointer-events:none}
.ba__handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:var(--atr-orange-500);box-shadow:0 2px 8px rgba(0,0,0,.35)}
.ba__handle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:12px;height:12px;border-right:3px solid var(--atr-charcoal-900);border-bottom:3px solid var(--atr-charcoal-900);z-index:1}
.ba__tag{position:absolute;top:12px;font-family:var(--atr-font-display);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:var(--atr-radius-xs)}
.ba__tag--b{left:12px;background:var(--atr-charcoal-900);color:var(--atr-text-inverse)}
.ba__tag--a{right:12px;background:var(--atr-orange-500);color:var(--atr-text-on-primary)}
.ba input[type=range]{position:absolute;left:0;bottom:14px;width:100%;margin:0;accent-color:var(--atr-orange-500);cursor:ew-resize;z-index:2}

/* ---------- process ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--atr-space-8)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:var(--atr-space-6)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.steps li{padding-top:var(--atr-space-5);border-top:2px solid rgba(251,248,244,.2)}
.steps .num{font-family:var(--atr-font-display);font-size:30px;font-weight:800;line-height:1;color:var(--atr-orange-500)}
.steps h3{margin-top:var(--atr-space-3);font-size:20px}
.steps p{margin-top:var(--atr-space-2);font-size:16px}

/* ---------- reviews ---------- */
.rev{background:var(--atr-white);border:1px solid var(--atr-sand-400);border-left:var(--atr-rule-orange);border-radius:var(--atr-radius-md);box-shadow:var(--atr-shadow-card);padding:var(--atr-space-8);display:flex;flex-direction:column}
.rev__stars{display:flex;gap:3px;margin-bottom:var(--atr-space-4);color:var(--atr-gray-400)}
.rev__stars iconify-icon{font-size:20px}
.rev__ph{font-family:var(--atr-font-display);font-size:15px;font-weight:700;letter-spacing:.06em;color:#7A5000;background:var(--atr-warning-100);border-radius:var(--atr-radius-xs);padding:14px 16px;margin-bottom:var(--atr-space-4)}
.rev p{font-size:19px;line-height:1.45;color:var(--atr-text-secondary)}
.rev footer{margin-top:auto;padding-top:var(--atr-space-5);font-size:15px;color:var(--atr-text-secondary)}
.rev footer b{font-family:var(--atr-font-display);color:var(--atr-charcoal-900);display:block}

/* ---------- service area ---------- */
.area__list{list-style:none;margin:0 0 var(--atr-space-6);padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--atr-space-3) var(--atr-space-6)}
.area__list li{display:flex;align-items:center;gap:10px;font-family:var(--atr-font-display);font-size:18px;font-weight:600}
.area__list iconify-icon{color:var(--atr-orange-500);font-size:20px}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--atr-gray-200)}
.faq details{border-bottom:1px solid var(--atr-gray-200)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--atr-space-5);padding:var(--atr-space-5) 0;min-height:52px;font-family:var(--atr-font-display);font-size:19px;font-weight:600;transition:color var(--atr-fast) var(--atr-ease)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--atr-orange-700)}
.faq details[open] summary{color:var(--atr-orange-700)}
.faq summary iconify-icon{color:var(--atr-orange-500);font-size:24px;flex:none;transition:transform var(--atr-base) var(--atr-ease)}
.faq details[open] summary iconify-icon{transform:rotate(180deg)}
.faq p{padding:0 var(--atr-space-12) var(--atr-space-6) 0;color:var(--atr-text-secondary)}

/* ---------- final cta ---------- */
.final{text-align:center}
.final h2{max-width:22ch;margin:0 auto;font-size:clamp(30px,3.6vw,46px)}
.final .btnrow{justify-content:center;margin-top:var(--atr-space-8)}
.final__meta{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:var(--atr-space-3) var(--atr-space-6);margin:var(--atr-space-10) 0 0;padding:0}
.final__meta li{display:flex;align-items:center;gap:8px;font-family:var(--atr-font-display);font-size:15px;font-weight:600;color:var(--atr-text-inverse)}
.final__meta iconify-icon{color:var(--atr-orange-500);font-size:19px}

/* ---------- footer ---------- */
.ftr{background:var(--atr-charcoal-900);background-image:var(--atr-band-dark);color:var(--atr-text-inverse);border-top:var(--atr-rule-orange)}
.ftr__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:var(--atr-space-10);padding:var(--atr-space-16) 0 var(--atr-space-10)}
.ftr img{width:250px;height:auto;max-width:100%;margin-bottom:var(--atr-space-5)}
.ftr p{font-size:15px;color:var(--atr-text-inverse-muted);max-width:34ch}
.ftr h2{font-family:var(--atr-font-display);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--atr-space-4)}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{font-size:15px;color:var(--atr-text-inverse-muted);margin-bottom:10px}
.ftr li a{color:inherit;text-decoration:none}
.ftr li a:hover{color:var(--atr-orange-500)}
.ftr__phone{display:inline-flex;align-items:center;gap:10px;font-family:var(--atr-font-display);font-size:24px;font-weight:800;color:var(--atr-text-inverse);text-decoration:none}
.ftr__phone iconify-icon{color:var(--atr-orange-500);font-size:22px}
.social{display:flex;gap:12px;margin-top:var(--atr-space-5);list-style:none;padding:0}
.social a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(251,248,244,.18);border-radius:var(--atr-radius-sm);color:var(--atr-text-inverse);text-decoration:none;transition:border-color var(--atr-fast) var(--atr-ease),color var(--atr-fast) var(--atr-ease)}
.social a:hover{border-color:var(--atr-orange-500);color:var(--atr-orange-500)}
.social iconify-icon{font-size:20px}
.ftr__bar{border-top:1px solid rgba(251,248,244,.18)}
.ftr__bar div{display:flex;justify-content:space-between;gap:var(--atr-space-5);flex-wrap:wrap;padding:var(--atr-space-5) 0;font-size:12px;color:var(--atr-text-inverse-muted)}
.ftr__bar a{color:inherit;text-decoration:none;margin-left:var(--atr-space-5)}
.ftr__bar a:hover{color:var(--atr-orange-500)}
@media (max-width:900px){.ftr__grid{grid-template-columns:1fr 1fr;gap:var(--atr-space-8)}}
@media (max-width:520px){.ftr__grid{grid-template-columns:1fr}.ftr__bar div{justify-content:flex-start}.ftr__bar a{margin:0 var(--atr-space-5) 0 0}}

/* ---------- mobile sticky bar ---------- */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--atr-charcoal-900);box-shadow:0 -2px 12px rgba(28,31,34,.3)}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;font-family:var(--atr-font-display);font-size:17px;font-weight:700;text-decoration:none;color:var(--atr-text-inverse)}
.mbar a+a{background:var(--atr-orange-500);color:var(--atr-text-on-primary)}
.mbar iconify-icon{font-size:21px}
.mbar a:first-child iconify-icon{color:var(--atr-orange-500)}
@media (max-width:767px){.mbar{display:flex}body{padding-bottom:64px}}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity 420ms var(--atr-ease),transform 420ms var(--atr-ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
