/* ======================================================================
   ARCHER PRASANTA / FULL RESTORATION — STUDIO PREMIUM
   Isolated page styles. No header, footer or other-page overrides.
   01 Foundation | 02 Hero | 03 Approach | 04 Scope | 05 Process
   06 Gallery | 07 Questions | 08 Invitation | 09 Motion & responsive
   ====================================================================== */

/* 01 / FOUNDATION — BRAND REFERENCES & RESPONSIVE 1700PX CONTENT */
.afr-main { --afr-paper:#F7F5EF; --afr-white:#FFFDF8; --afr-stone:#EAE7DF; --afr-ink:#252D2C; --afr-muted:#606963; --afr-line:#28332B26; --afr-navy:#111A3D; --afr-cyan:#6FEFFF; --afr-copper:#8D5D42; color:var(--afr-ink); background:var(--afr-paper); font-family:Inter,Arial,Helvetica,sans-serif; isolation:isolate; overflow:clip; }
.afr-main *, .afr-main *::before, .afr-main *::after { box-sizing:border-box; }
.afr-main [hidden] { display:none!important; }
.afr-main :is(h1,h2,h3,p,figure,ul,ol) { margin:0; }
.afr-main :is(h1,h2,h3) { font-family:inherit; font-weight:500; color:inherit; text-transform:none; }
.afr-main h2 { font-size:clamp(38px,4.25vw,72px); line-height:1.07; letter-spacing:-.06em; }
.afr-main h2 em { font-style:normal; color:var(--afr-copper); }
.afr-main p { font-size:15px; line-height:1.8; color:var(--afr-muted); }
.afr-main a { color:inherit; text-decoration:none; }
.afr-main img { display:block; max-width:100%; height:auto; }
.afr-main :is(button,summary) { cursor:pointer; }
.afr-main :is(a,button,summary):focus-visible { outline:3px solid #128090; outline-offset:5px; }
.afr-main section { scroll-margin-top:110px; }
.afr-wrap { width:min(1700px,calc(100% - 112px)); margin-inline:auto; }
.afr-section { padding-block:100px; }
.afr-main .afr-label { display:block; color:var(--afr-copper); font:600 10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.13em; margin-bottom:23px; }
.afr-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.afr-main .afr-button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-height:58px; padding:17px 23px; border:1px solid #B4F7FF; border-radius:4px; background:var(--afr-cyan); color:var(--afr-navy); font-size:12px; font-weight:700; box-shadow:0 3px 0 #3295A1,0 12px 24px #06142325,inset 0 1px 0 #FFFFFF80; transition:transform .25s,box-shadow .25s; }
.afr-button>span { font-size:23px; line-height:1; font-weight:400; }
.afr-main .afr-link { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:44px; font-size:12px; font-weight:600; }
.afr-link>span { font-size:22px; color:var(--afr-copper); font-weight:400; }
.afr-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:48px; }
.afr-heading>p { max-width:335px; }
.afr-heading>div { min-width:0; }

/* 02 / HERO — CINEMATIC IMAGE, GRAPHITE & WARM METAL */
.afr-hero { position:relative; isolation:isolate; overflow:hidden; background:#131C1F; color:#F7F4ED; }
.afr-main .afr-hero-image { position:absolute; z-index:-3; right:0; top:0; width:75%; height:100%; max-width:none; object-fit:cover; object-position:62% center; }
.afr-hero::before { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,#131C1F 8%,#131C1FEF 30%,#131C1F85 58%,#131C1F0D 90%),linear-gradient(0deg,#131C1FF0,transparent 55%); }
.afr-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,#09121538,transparent 40%); pointer-events:none; }
.afr-hero-inner { min-height:760px; padding-top:24px; position:relative; display:flex; flex-direction:column; }
.afr-breadcrumb { display:flex; gap:13px; align-items:center; flex-wrap:wrap; font-size:10px; line-height:1.6; color:#BFC9C7; }
.afr-breadcrumb a { min-height:32px; display:inline-flex; align-items:center; }
.afr-breadcrumb [aria-current] { color:#F0F1EB; }
.afr-hero-copy { padding-block:79px 96px; width:82%; }
.afr-hero .afr-label { color:#BCD0CF; }
.afr-dot { width:6px; height:6px; border-radius:50%; background:var(--afr-cyan); display:inline-block; margin:0 10px 1px 0; box-shadow:0 0 0 4px #6FEFFF15; }
.afr-main h1 { font-size:clamp(59px,6.5vw,116px); font-weight:550; line-height:1.02; letter-spacing:-.066em; text-shadow:0 8px 32px #00000028; }
.afr-main h1 em { font-style:normal; color:#D0B698; }
.afr-main .afr-hero-intro { max-width:480px; margin-top:29px; font-size:16px; color:#C5CFCD; line-height:1.8; }
.afr-hero .afr-actions { margin-top:32px; }
.afr-hero .afr-link>span { color:#D0B698; }
.afr-hero :is(a,button):focus-visible { outline-color:var(--afr-cyan); }
.afr-hero-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:25px; padding-block:25px; border-top:1px solid #F4F6ED26; color:#B8C9C6; font:9px/1.6 ui-monospace,monospace; letter-spacing:.13em; }
.afr-hero-plaque { position:absolute; right:4px; bottom:105px; width:282px; padding:27px; border:1px solid #E9F2E936; border-radius:5px; color:#F3F3E9; background:linear-gradient(140deg,#FFFFFF0D,transparent),#23312CEB; box-shadow:6px 8px 0 #030B0A66,0 26px 45px #0004,inset 0 1px 0 #FFFFFF26; transform:perspective(1000px) rotateY(-9deg) rotateZ(2deg); }
.afr-hero-plaque::before { content:""; position:absolute; top:11px; right:11px; width:5px; height:5px; border:1px solid #C7CFC48A; border-radius:50%; }
.afr-hero-plaque .afr-label { font-size:8px; margin-bottom:15px; color:#B7C6BE; }
.afr-hero-plaque strong { display:block; font-size:28px; font-weight:450; line-height:1.1; letter-spacing:-.035em; }
.afr-hero-plaque>div { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:17px; margin-top:22px; border-top:1px solid #F5F5DF26; font:8px/1.6 ui-monospace,monospace; letter-spacing:.1em; color:#C5CDBF; }
.afr-hero-plaque b { color:#D0B698; font-size:24px; font-weight:400; }
.afr-page-nav { background:#E9E7DF; border-bottom:1px solid #C9CFC1; }
.afr-page-nav>.afr-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:14px; }
.afr-page-nav .afr-wrap>span { font:9px/1.5 ui-monospace,monospace; color:#657063; letter-spacing:.11em; }
.afr-page-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:11px; font-weight:550; }

/* 03 / APPROACH — THREE PRACTICAL PRINCIPLES */
.afr-overview-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:start; }
.afr-overview-copy { padding-top:36px; }
.afr-main .afr-lead { font-size:22px; line-height:1.5; letter-spacing:-.025em; color:var(--afr-ink); margin-bottom:23px; }
.afr-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; margin-top:55px; }
.afr-principles>div { display:grid; grid-template-columns:31px 1fr; column-gap:18px; padding-top:24px; border-top:1px solid var(--afr-line); }
.afr-principles span { color:var(--afr-copper); font:11px/1.6 ui-monospace,monospace; grid-row:span 2; padding-top:4px; }
.afr-principles h3 { font-size:25px; letter-spacing:-.04em; margin-bottom:12px; }
.afr-principles p { font-size:13px; }

/* 04 / SCOPE — PHOTO CARDS WITH CONDITION-LED WORK */
.afr-scope { background:var(--afr-stone); border-block:1px solid #26322A0A; }
.afr-scope-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.afr-scope-card { min-width:0; display:flex; flex-direction:column; background:var(--afr-white); border:1px solid #FFFFFF; border-radius:5px; box-shadow:0 3px 0 #CECEC5,0 15px 30px #25372B0A; transform:perspective(1200px) rotateX(var(--afr-rx,0deg)) rotateY(var(--afr-ry,0deg)); transition:transform .3s,box-shadow .3s; }
.afr-scope-photo { position:relative; flex-shrink:0; margin:7px 7px 0; border-radius:3px; overflow:hidden; aspect-ratio:1.35; background:#CCD2C9; }
.afr-scope-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#07181B60,transparent 45%); pointer-events:none; }
.afr-main .afr-scope-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.afr-scope-photo>span { position:absolute; top:16px; left:16px; z-index:1; color:#F8F9F1; font:9px/1.5 ui-monospace,monospace; letter-spacing:.13em; }
.afr-scope-copy { display:flex; flex:1; flex-direction:column; padding:26px 23px 23px; }
.afr-scope-copy .afr-label { font-size:9px; margin-bottom:11px; }
.afr-scope-copy h3 { font-size:clamp(23px,2vw,34px); line-height:1.12; letter-spacing:-.045em; margin-bottom:18px; }
.afr-scope-copy>p:not(.afr-label) { font-size:13px; margin-bottom:25px; }
.afr-scope-copy ul { list-style:none; padding:17px 0 0; margin-top:auto; border-top:1px solid var(--afr-line); }
.afr-scope-copy li { position:relative; padding-left:12px; font-size:11px; color:#5A665E; line-height:1.65; }
.afr-scope-copy li+li { margin-top:9px; }
.afr-scope-copy li::before { content:""; position:absolute; top:.65em; left:0; width:3px; height:3px; border-radius:50%; background:var(--afr-copper); }
.afr-scope-note { display:flex; align-items:start; gap:16px; margin-top:30px; padding:20px 23px; border:1px solid #D1D3C7; border-radius:4px; }
.afr-scope-note>span { font-size:23px; color:var(--afr-copper); }
.afr-scope-note>p { font-size:12px; }

/* 05 / PROCESS — NATIVE DISCLOSURES & RAISED RESTORATION DOSSIER */
.afr-process-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:95px; align-items:start; }
.afr-steps { border-top:1px solid var(--afr-line); }
.afr-step { border-bottom:1px solid var(--afr-line); }
.afr-step summary { display:grid; grid-template-columns:36px 1fr 30px; gap:20px; align-items:center; list-style:none; padding-block:26px; }
.afr-main summary::-webkit-details-marker { display:none; }
.afr-step-no { font:11px/1.6 ui-monospace,monospace; color:var(--afr-copper); align-self:start; padding-top:4px; }
.afr-step-title { font-size:25px; letter-spacing:-.04em; line-height:1.2; font-weight:500; }
.afr-step-title small { display:block; margin-top:9px; color:#6C776C; font:9px/1.6 ui-monospace,monospace; letter-spacing:.1em; }
.afr-plus { display:grid; place-items:center; width:29px; height:29px; border:1px solid var(--afr-line); border-radius:50%; color:var(--afr-copper); font-size:19px; font-weight:400; transition:transform .25s; flex-shrink:0; }
.afr-main details[open]>summary .afr-plus { transform:rotate(45deg); }
.afr-step-answer { padding:0 45px 26px 56px; }
.afr-step-answer p { font-size:14px; }
.afr-dossier { margin-top:6px; padding:9px; border:1px solid #C9CCC0; background:#E0E4D9; border-radius:5px; box-shadow:7px 8px 0 #C8CEC199,0 24px 45px #25322814; transform:rotate(1.4deg); }
.afr-dossier-photo { position:relative; height:250px; overflow:hidden; border-radius:2px; background:#C9D1C3; }
.afr-main .afr-dossier-photo img { width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.afr-dossier-photo>span { position:absolute; left:16px; bottom:16px; background:#111A3DE6; color:#F8F8F1; border:1px solid #FFFFFF30; border-radius:2px; padding:9px 12px; font:8px/1.5 ui-monospace,monospace; letter-spacing:.12em; }
.afr-dossier-paper { padding:31px 30px 20px; background:#F5F5EC; border:1px solid #FFF; margin-top:9px; border-radius:3px; }
.afr-dossier-paper .afr-label { font-size:9px; margin-bottom:18px; }
.afr-dossier-paper h3 { font-size:clamp(25px,2.6vw,41px); line-height:1.07; letter-spacing:-.045em; }
.afr-dossier-paper ul { list-style:none; padding:25px 0; }
.afr-dossier-paper li { padding-block:12px; border-bottom:1px solid var(--afr-line); font-size:12px; color:#526052; }
.afr-account-note p { font-size:12px; }
.afr-account-note .afr-link { margin-top:9px; width:100%; }

/* 06 / GALLERY — TWO-PHOTO VIEWER & DETAIL STUDIES */
.afr-gallery { background:#E1E6DD; border-block:1px solid #C9D0C4; }
.afr-gallery h2 em { color:#61725F; }
.afr-comparison { border:1px solid #FFFFFF; background:#F5F6EF; padding:26px; border-radius:6px; box-shadow:0 4px 0 #C5CEBE,0 20px 40px #273D2410; }
.afr-comparison-head { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:2px 4px 25px; }
.afr-comparison-head .afr-label { font-size:8px; margin-bottom:8px; color:#66755C; }
.afr-comparison h3 { font-size:24px; line-height:1.2; letter-spacing:-.03em; }
.afr-photo-controls { display:flex; gap:5px; padding:5px; background:#E5E9DE; border:1px solid #D2DACB; border-radius:4px; flex-shrink:0; }
.afr-main .afr-photo-controls button { min-height:43px; border:1px solid transparent; padding:10px 17px; border-radius:3px; color:#4E5E4C; background:transparent; font:600 11px/1.4 Inter,Arial,sans-serif; }
.afr-main .afr-photo-controls button[aria-pressed="true"] { background:var(--afr-navy); color:var(--afr-cyan); box-shadow:0 2px 5px #111A3D22; }
.afr-photo-stage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.afr-photo-stage.is-single { grid-template-columns:minmax(0,1fr); }
.afr-photo-stage figure { min-width:0; background:#D2D9CD; border:1px solid #CBD2C6; border-radius:3px; overflow:hidden; }
.afr-main .afr-photo-stage img { width:100%; height:clamp(280px,26vw,455px); object-fit:contain; }
.afr-photo-stage.is-single img { height:clamp(320px,35vw,560px); }
.afr-photo-stage figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 19px; border-top:1px solid #C6D0BE; background:#E4E9DD; color:#40523C; font:9px/1.5 ui-monospace,monospace; letter-spacing:.08em; }
.afr-photo-stage figcaption>span:last-child { color:#65725F; font-size:8px; }
.afr-main .afr-preview-note { margin-top:18px; font-size:11px; text-align:center; color:#64725C; }
.afr-detail-gallery { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:25px; margin-top:47px; }
.afr-detail-gallery figure { min-width:0; }
.afr-main .afr-detail-gallery img { width:100%; height:clamp(240px,28vw,390px); object-fit:cover; border-radius:3px; border:1px solid #CDDAC3; }
.afr-detail-gallery figure:first-child img { object-position:center 50%; }
.afr-detail-gallery figcaption { margin-top:20px; }
.afr-detail-gallery figcaption>span { display:block; font:9px/1.6 ui-monospace,monospace; color:#69785F; letter-spacing:.1em; }
.afr-detail-gallery strong { display:block; color:#2F3D2F; font-size:17px; font-weight:450; letter-spacing:-.02em; margin-top:9px; }

/* 07 / QUESTIONS — AVAILABLE WITH OR WITHOUT JAVASCRIPT */
.afr-faq-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.afr-faq header>p:last-child { margin-top:26px; max-width:380px; }
.afr-faq-list { border-top:1px solid var(--afr-line); }
.afr-faq details { border-bottom:1px solid var(--afr-line); }
.afr-faq summary { display:flex; align-items:center; justify-content:space-between; gap:26px; padding-block:25px; list-style:none; font-size:15px; font-weight:500; line-height:1.55; }
.afr-faq details>p { padding:0 46px 25px 0; font-size:14px; }

/* 08 / INVITATION & RELATED SERVICES */
.afr-invitation { padding-block:79px; background:radial-gradient(ellipse at 0% 70%,#2B3C57,transparent 65%),var(--afr-navy); color:#F5F4EE; }
.afr-invitation-inner { display:flex; gap:60px; align-items:center; justify-content:space-between; }
.afr-invitation .afr-label { color:#B3C7D5; }
.afr-invitation h2 { font-size:clamp(38px,4.7vw,80px); }
.afr-invitation h2 em { color:var(--afr-cyan); }
.afr-invitation h2+p { margin-top:25px; color:#C1CDD6; }
.afr-invitation-actions { max-width:300px; flex-shrink:0; }
.afr-invitation-actions .afr-button { width:100%; }
.afr-invitation-actions>span { display:block; margin-top:21px; color:#ADBDCB; font-size:11px; line-height:1.7; }
.afr-invitation a:focus-visible { outline-color:var(--afr-cyan); }
.afr-related { padding-block:35px; background:#E9E6DE; }
.afr-related>.afr-wrap { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.afr-related .afr-label { font-size:8px; margin-bottom:0; }
.afr-related-links { display:flex; gap:36px; }
.afr-related-links .afr-link { border-left:1px solid var(--afr-line); padding-left:28px; }

/* 09 / MOTION & RESPONSIVE BEHAVIOUR */
.afr-main [data-afr-reveal].is-in-view { animation:afr-arrive .65s ease both; }
@keyframes afr-arrive { from { opacity:.4; translate:0 18px; } to { opacity:1; translate:0 0; } }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .afr-main .afr-button:hover { transform:translateY(-2px); box-shadow:0 5px 0 #3295A1,0 15px 27px #06142330; }
  .afr-main .afr-link:hover { text-decoration:underline; text-underline-offset:5px; }
  .afr-page-nav a:hover { color:var(--afr-copper); }
  .afr-scope-card:hover { box-shadow:0 5px 0 #C9CEC1,0 23px 40px #25372B20; }
  .afr-scope-card:hover img { transform:scale(1.04); }
}
@media(min-width:1800px) { .afr-hero-inner { min-height:850px; }.afr-hero-copy { padding-top:104px; }.afr-hero-plaque { bottom:118px; width:300px; } }
@media(max-width:1200px) {
  .afr-wrap { width:calc(100% - 64px); }
  .afr-hero-inner { min-height:730px; }
  .afr-hero-copy { padding-block:70px 95px; }
  .afr-hero-plaque { width:235px; padding:23px; bottom:115px; }
  .afr-hero-plaque strong { font-size:25px; }
  .afr-hero .afr-actions { gap:25px; }
  .afr-overview-grid { gap:45px; }
  .afr-scope-grid { gap:18px; }
  .afr-scope-copy { padding:22px 17px; }
  .afr-scope-copy h3 { font-size:25px; }
  .afr-process-grid,.afr-faq-grid { gap:50px; }
  .afr-dossier-paper { padding:25px 23px 20px; }
  .afr-related-links { gap:22px; }
  .afr-related-links .afr-link { padding-left:22px; gap:18px; }
}
@media(max-width:1100px) { .afr-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; } }
@media(max-width:1000px) {
  .afr-section { padding-block:78px; }
  .afr-main h1 { font-size:clamp(59px,8.3vw,80px); }
  .afr-hero-copy { width:100%; padding-bottom:42px; }
  .afr-hero-plaque { position:relative; bottom:auto; right:auto; width:260px; margin:0 10px 40px auto; }
  .afr-main .afr-hero-image { width:100%; object-position:67% center; }
  .afr-hero::before { background:linear-gradient(90deg,#131C1FF7,#131C1FC7 40%,#131C1F48),linear-gradient(0deg,#131C1F,transparent 55%); }
  .afr-hero-bottom { font-size:8px; }
  .afr-page-nav .afr-wrap>span { display:none; }
  .afr-overview-grid { grid-template-columns:1fr; gap:30px; }
  .afr-overview-copy { padding-top:0; max-width:620px; }
  .afr-principles { gap:25px; }
  .afr-principles>div { grid-template-columns:22px 1fr; gap:12px; }
  .afr-heading { align-items:start; flex-direction:column; gap:25px; margin-bottom:35px; }
  .afr-heading>p { max-width:520px; }
  .afr-main h2 { font-size:clamp(38px,5.8vw,60px); }
  .afr-scope-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
  .afr-scope-photo { aspect-ratio:1.7; }
  .afr-scope-copy { padding:27px 25px; }
  .afr-scope-copy h3 { font-size:31px; }
  .afr-process-grid { gap:35px; grid-template-columns:1.1fr .9fr; }
  .afr-step summary { grid-template-columns:25px 1fr 27px; gap:13px; }
  .afr-step-title { font-size:21px; }
  .afr-step-answer { padding-left:38px; padding-right:10px; }
  .afr-dossier-photo { height:215px; }
  .afr-dossier-paper { padding:26px 20px 20px; }
  .afr-dossier-paper h3 { font-size:28px; }
  .afr-comparison { padding:20px; }
  .afr-comparison-head { align-items:start; flex-direction:column; gap:20px; }
  .afr-detail-gallery { gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .afr-main .afr-detail-gallery img { height:240px; }
  .afr-detail-gallery strong { font-size:15px; }
  .afr-faq-grid { grid-template-columns:1fr; gap:35px; }
  .afr-faq header>p:last-child { max-width:500px; }
  .afr-invitation-inner { flex-direction:column; align-items:start; gap:32px; }
  .afr-invitation-actions { width:300px; max-width:100%; }
  .afr-related>.afr-wrap { align-items:start; flex-direction:column; gap:24px; }
  .afr-related-links { width:100%; justify-content:space-between; }
  .afr-related-links .afr-link:first-child { border-left:0; padding-left:0; }
}
@media(max-width:700px) {
  .afr-wrap { width:calc(100% - 40px); }
  .afr-section { padding-block:65px; }
  .afr-main .afr-label { font-size:9px; letter-spacing:.1em; margin-bottom:19px; }
  .afr-hero-inner { padding-top:18px; }
  .afr-breadcrumb { font-size:9px; gap:10px; }
  .afr-main h1 { font-size:clamp(44px,8.4vw,62px); }
  .afr-hero-copy { padding-block:62px 40px; }
  .afr-main .afr-hero-intro { font-size:14px; max-width:440px; margin-top:25px; }
  .afr-hero .afr-actions { gap:20px; }
  .afr-hero-plaque { width:250px; bottom:auto; padding:25px; }
  .afr-hero-plaque .afr-label { font-size:8px; margin-bottom:12px; }
  .afr-hero-plaque strong { font-size:26px; }
  .afr-hero-bottom { flex-direction:column; align-items:start; gap:11px; padding-block:21px; font-size:8px; line-height:1.8; }
  .afr-page-nav>.afr-wrap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 12px; padding-block:8px; }
  .afr-page-nav a { font-size:10px; }
  .afr-main h2 { font-size:clamp(34px,6.6vw,45px); }
  .afr-main .afr-lead { font-size:20px; }
  .afr-overview-copy>p:last-child { font-size:14px; }
  .afr-principles { grid-template-columns:1fr; gap:25px; margin-top:35px; }
  .afr-principles>div { grid-template-columns:30px 1fr; gap:8px 18px; padding-top:22px; }
  .afr-principles h3 { margin-bottom:0; }
  .afr-principles p { grid-column:2; }
  .afr-heading>p { font-size:14px; }
  .afr-scope-copy { padding:24px 18px; }
  .afr-scope-copy h3 { font-size:27px; }
  .afr-scope-copy .afr-label { font-size:8px; }
  .afr-process-grid { grid-template-columns:1fr; gap:40px; }
  .afr-step summary { padding-block:24px; grid-template-columns:29px 1fr 28px; gap:15px; }
  .afr-step-title { font-size:23px; }
  .afr-step-title small { font-size:8px; }
  .afr-step-answer { padding-left:44px; }
  .afr-dossier { max-width:520px; margin-inline:4px; }
  .afr-dossier-photo { height:260px; }
  .afr-dossier-paper { padding:27px 25px 20px; }
  .afr-dossier-paper h3 { font-size:34px; }
  .afr-main .afr-photo-stage img { height:235px; }
  .afr-photo-stage figcaption>span:last-child { display:none; }
  .afr-photo-stage figcaption { padding:13px; }
  .afr-detail-gallery { grid-template-columns:1fr 1fr; gap:27px 17px; margin-top:35px; }
  .afr-detail-gallery figure:first-child { grid-column:1/-1; }
  .afr-detail-gallery figure:first-child img { height:340px; object-position:center 63%; }
  .afr-main .afr-detail-gallery img { height:235px; }
  .afr-detail-gallery figcaption { margin-top:15px; }
  .afr-detail-gallery figcaption>span { font-size:8px; }
  .afr-faq summary { gap:19px; font-size:15px; }
  .afr-faq details>p { padding-right:15px; font-size:13px; }
  .afr-faq header>p:last-child { margin-top:24px; font-size:14px; }
  .afr-invitation { padding-block:65px; }
  .afr-invitation h2 { font-size:clamp(36px,7vw,49px); }
  .afr-invitation h2+p { font-size:14px; margin-top:21px; }
  .afr-related-links { gap:15px; flex-wrap:wrap; }
  .afr-related-links .afr-link { font-size:11px; }
}
@media(max-width:480px) {
  .afr-wrap { width:calc(100% - 36px); }
  .afr-main h1 { font-size:clamp(37px,9.1vw,46px); }
  .afr-hero-copy { padding-top:47px; padding-bottom:34px; }
  .afr-hero .afr-actions { flex-direction:column; align-items:stretch; gap:15px; margin-top:27px; }
  .afr-hero .afr-link { justify-content:flex-start; }
  .afr-main .afr-button { width:100%; }
  .afr-main .afr-hero-image { object-position:68% center; }
  .afr-hero-plaque { right:auto; bottom:auto; width:calc(100% - 12px); max-width:270px; }
  .afr-scope-grid { grid-template-columns:1fr; }
  .afr-scope-photo { aspect-ratio:1.5; }
  .afr-scope-copy { padding:26px 22px; }
  .afr-scope-copy h3 { font-size:32px; }
  .afr-scope-copy>p:not(.afr-label) { font-size:14px; }
  .afr-scope-copy li { font-size:12px; }
  .afr-scope-note { padding:18px; gap:11px; }
  .afr-step-title { font-size:21px; }
  .afr-step summary { grid-template-columns:25px 1fr 27px; gap:12px; }
  .afr-step-answer { padding-left:37px; }
  .afr-step-answer p { font-size:13px; }
  .afr-dossier-paper { padding:25px 20px 17px; }
  .afr-dossier-paper h3 { font-size:29px; }
  .afr-comparison { padding:12px; }
  .afr-comparison-head { padding:7px 2px 17px; gap:18px; }
  .afr-comparison h3 { font-size:22px; }
  .afr-comparison .afr-label { font-size:8px; margin-bottom:9px; }
  .afr-photo-controls { width:100%; gap:3px; padding:4px; }
  .afr-main .afr-photo-controls button { flex:1; min-height:44px; padding:9px 8px; font-size:10px; }
  .afr-photo-stage { grid-template-columns:1fr; gap:13px; }
  .afr-main .afr-photo-stage img { height:auto; aspect-ratio:4/3; }
  .afr-photo-stage.is-single img { height:auto; aspect-ratio:4/3; }
  .afr-photo-stage figcaption>span:last-child { display:inline; font-size:7px; }
  .afr-photo-stage figcaption { font-size:8px; gap:10px; }
  .afr-main .afr-preview-note { font-size:10px; line-height:1.7; padding-inline:4px; margin-top:14px; }
  .afr-detail-gallery figure:first-child img { height:300px; }
  .afr-main .afr-detail-gallery img { height:185px; }
  .afr-detail-gallery strong { font-size:14px; line-height:1.4; }
  .afr-related-links { display:grid; grid-template-columns:1fr; gap:0; }
  .afr-related-links .afr-link { border-left:0; padding:12px 0; border-top:1px solid var(--afr-line); font-size:12px; min-height:53px; }
  .afr-invitation-actions { width:100%; max-width:none; }
}
@media(prefers-reduced-motion:reduce) {
  .afr-main *, .afr-main *::before, .afr-main *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .afr-main [data-afr-depth] { transform:none!important; }
}
