/* JDI: structural base. Phone rules live in responsive.css. */
:root { --paper:#f6f4ef;--white:#fff;--ink:#202220;--muted:#65665f;--line:#deded5;--gold:#987539;--gold-light:#d5b77d;--dark:#171b1a;--radius:4px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth;scroll-padding-top:100px; }
body { margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased; }
a { color:inherit;text-decoration:none; }
a,button,input,select,textarea { touch-action:manipulation; }
a:hover { text-decoration-color:var(--gold); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
img { max-width:100%;height:auto;display:block; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { font-weight:500;letter-spacing:-.055em;line-height:1.08; }
h1 { font-size:clamp(48px,6.2vw,96px); }
h2 { font-size:clamp(36px,4vw,60px); }
h3 { font-size:30px; }
h4 { font-size:22px; }
em { font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--gold);letter-spacing:-.055em; }
p { margin:0 0 20px; }
h2+p,h3+p { margin-top:20px; }
small,.fine { font-size:12px;line-height:1.6; }
.fine { color:var(--muted);margin:18px 0; }
.muted { color:var(--muted); }
.wrap { width:min(1340px,88%);margin-inline:auto; }
.section { padding-block:105px; }
.section-top { padding:30px 0 90px; }
.eyebrow { font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:700;color:var(--gold);margin-bottom:26px; }
.lead { font-size:19px;line-height:1.65;color:var(--muted);max-width:640px; }
.header { height:106px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:rgba(246,244,239,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30; }
.brand { display:flex;gap:15px;align-items:center;flex-shrink:0; }
.brand img { border-radius:50%; }
.brand span { font-size:18px;line-height:1.3;letter-spacing:-.04em; }
.brand small { display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-top:5px; }
.header nav { display:flex;align-items:center;gap:30px;font-size:13px; }
.header nav>a:not(.btn) { position:relative; }
.header nav>a:not(.btn):after { content:'';position:absolute;left:0;bottom:-8px;height:1px;background:var(--gold);width:0;transition:width .2s; }
.header nav>a:hover:after { width:100%; }
.btn { border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:17px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;font-size:13px;letter-spacing:.01em;transition:background .2s,transform .2s; }
.btn:hover { background:#393e38;transform:translateY(-2px); }
.btn span { font-size:15px; }
.btn.small { font-size:12px;padding:12px 20px;min-height:45px; }
.text-link { display:inline-flex;gap:15px;align-items:center;font-size:13px;border:0;border-bottom:1px solid var(--gold);padding:8px 0;background:none;font-weight:600; }
.text-link:hover { color:var(--gold); }
.actions { display:flex;gap:30px;align-items:center;flex-wrap:wrap; }
.menu-toggle { display:none; }
.hero { display:grid;grid-template-columns:1.15fr 1fr;gap:6%;padding-block:70px 65px;align-items:center;min-height:740px; }
.hero h1 { font-size:clamp(54px,6.25vw,98px);margin-bottom:30px; }
.hero h1 em { white-space:nowrap;font-size:.81em; }
.hero .lead { max-width:510px;font-size:17px;margin-bottom:30px; }
.hero-portrait { position:relative;padding:0 0 32px; }
.portrait-frame { overflow:hidden;border-radius:180px 180px 3px 3px;background:#d0cebf;aspect-ratio: .91; }
.portrait-frame img { height:100%;width:100%;object-fit:cover;object-position:51% 50%; }
.portrait-note { position:absolute;bottom:66px;left:-36px;display:flex;align-items:center;gap:18px;background:var(--paper);border:1px solid var(--line);padding:20px 26px;box-shadow:0 12px 20px #00000008;font-size:12px;line-height:1.6; }
.big-number { font-family:Georgia,serif;font-size:64px;line-height:1;color:var(--gold); }
.big-number span { font:22px Arial;vertical-align:top; }
.portrait-caption { position:absolute;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.13em;color:var(--muted); }
.hero-sign { display:flex;gap:22px;align-items:center;margin-top:40px; }
.signature { font:italic 26px Georgia,serif;color:var(--gold); }
.hero-sign p { font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px;margin:0; }
.live-dot { display:inline-block;width:7px;height:7px;border-radius:100%;background:#7b8b64;margin-right:7px;box-shadow:0 0 0 4px #7b8b6416; }
.expertise-strip { display:flex;justify-content:space-around;align-items:center;gap:20px;padding:22px 6%;border-block:1px solid var(--line);font-size:10px;letter-spacing:.15em; }
.expertise-strip b { color:var(--gold);font-size:20px; }
.section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:55px; }
.section-heading>p { max-width:380px;font-size:15px;color:var(--muted);margin-bottom:4px; }
.service-overview { display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line); }
.service-feature { padding:30px;transition:background .2s;border-right:1px solid var(--line); }
.service-feature:first-child { padding-left:0; }
.service-feature:last-child { border:0; }
.service-feature:hover { background:#edeae2; }
.service-num { display:flex;justify-content:space-between;color:var(--gold);font-size:12px;margin-bottom:50px; }
.service-num span { font-size:25px;line-height:1; }
.service-feature h3 { font-size:29px; }
.service-feature p { font-size:14px;color:var(--muted);margin:22px 0 30px; }
.inline-note { display:flex;justify-content:space-between;font-size:12px;margin-top:20px;color:var(--muted); }
.inline-note a { color:var(--ink);text-decoration:underline;text-underline-offset:4px; }
.dark { background:var(--dark);color:var(--paper); }
.dark em { color:var(--gold-light); }
.dark .eyebrow { color:var(--gold-light); }
.dark .muted,.dark .fine { color:#aaa9a0; }
.dark .text-link { color:var(--paper); }
.project-grid { display:grid;grid-template-columns:1fr 1fr;gap:65px 35px; }
.project-card>a { display:block; }
.project-card .project-caption { display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26;padding:25px 0 20px; }
.project-caption .eyebrow { margin:0 0 12px;font-size:9px; }
.project-caption h3,.project-caption h2 { font-size:31px; }
.project-caption>span { font-size:28px;color:var(--gold-light); }
.project-card>p { font-size:13px;margin-top:15px; }
.device-stage { position:relative;aspect-ratio:1.45;padding:50px 50px 28px 30px;overflow:hidden;background:radial-gradient(ellipse at 70% 15%,color-mix(in srgb,var(--project),transparent 80%),transparent 65%),#212725;border:1px solid #ffffff12;transition:background .3s; }
.device-stage:before { content:'';position:absolute;width:85%;height:1px;background:#ffffff12;left:7%;bottom:15%; }
.desktop-device { position:relative;margin-top:12px;width:92%;filter:drop-shadow(0 15px 16px #0005);transform:perspective(1000px) rotateY(5deg);transition:transform .5s; }
.project-card a:hover .desktop-device { transform:perspective(1000px) rotateY(0deg) translateY(-7px); }
.desktop-screen { border:7px solid #3b3c3a;border-bottom:18px solid #b6b8b4;border-radius:10px 10px 5px 5px;overflow:hidden;background:#101111; }
.desktop-screen img { width:100%;aspect-ratio:1.58;object-fit:cover;object-position:top; }
.device-bar { height:15px;background:#202423;display:flex;gap:3px;align-items:center;padding:0 5px;color:#9d9e97; }
.device-bar i { width:3px;height:3px;background:#687069;border-radius:50%; }
.device-bar span { font-size:4px;margin:auto; }
.desktop-neck { width:13%;height:30px;background:linear-gradient(90deg,#787e7c,#c9cdca,#8b918d);margin:auto;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%); }
.desktop-foot { height:5px;width:32%;border-radius:100% 100% 0 0;background:#a7aeaa;margin:auto;box-shadow:0 4px 8px #0007; }
.phone-device { position:absolute;right:5%;bottom:12%;width:21%;padding:5px;border-radius:21px;background:#343a36;box-shadow:5px 8px 20px #0007;border:1px solid #7b7d77;transform:rotate(4deg);transition:transform .5s; }
.project-card a:hover .phone-device { transform:rotate(0deg) translateY(-5px); }
.phone-screen { overflow:hidden;aspect-ratio:.48;border-radius:16px;background:#080a0a; }
.phone-screen img { width:100%;height:100%;object-fit:cover;object-position:top; }
.phone-island { position:absolute;top:8px;width:32%;height:6px;background:#050707;left:34%;border-radius:10px;z-index:2; }
.phone-home { position:absolute;bottom:9px;width:28%;height:2px;background:#ddd;left:36%;border-radius:5px; }
.stats { display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-block:1px solid var(--line); }
.stats>div { border-right:1px solid var(--line);padding:35px; }
.stats>div:first-child { padding-left:0; }
.stats>div:last-child { border:0; }
.stats strong { font:68px Georgia,serif;letter-spacing:-.07em; }
.stats strong span { color:var(--gold);font-size:36px; }
.stats p { font-size:13px;color:var(--muted);margin:10px 0 0; }
.experience-brands { display:flex;gap:25px;flex-wrap:wrap;justify-content:space-between;margin-top:45px;font-size:17px;font-weight:700;letter-spacing:-.05em;color:#676b63; }
.quote-callout { background:#ece8df;display:flex;gap:60px;align-items:center;justify-content:space-between;padding:60px;margin-bottom:100px;border-left:3px solid var(--gold); }
.quote-callout p:not(.eyebrow) { max-width:470px;font-size:14px;margin:25px 0 0; }
.quote-callout-price { display:grid;gap:22px;max-width:350px; }
.quote-callout-price>span { font-size:10px;letter-spacing:.1em; }
.quote-callout-price small { color:var(--muted); }
footer { padding:75px 6% 30px;background:#e9e7df; }
.footer-top { display:flex;justify-content:space-between;align-items:center;padding-bottom:70px;border-bottom:1px solid #cccabe; }
.footer-top h2 { font-size:clamp(38px,4.5vw,70px); }
.circle-link { width:95px;height:95px;border:1px solid var(--gold);border-radius:100%;display:grid;place-items:center;font-size:35px;color:var(--gold);transition:background .2s; }
.circle-link:hover { background:#ddd6c5; }
.footer-bottom { display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:30px;font-size:11px; }
.footer-bottom .brand span { font-size:15px; }
.footer-bottom .brand small { font-size:7px; }
.mobile-contact { display:none; }
.page-intro { padding-top:80px;padding-bottom:65px; }
.page-intro h1 { font-size:clamp(48px,5.8vw,86px);margin-bottom:30px;max-width:1100px; }
.page-intro h1>em { display:block;margin-top:10px; }
.page-intro .lead { max-width:790px; }
.back { display:inline-block;font-size:12px;margin-bottom:35px;color:var(--muted); }
.catalog-group { margin-bottom:65px; }
.catalog-group>.eyebrow { padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:0; }
.service-row { display:grid;grid-template-columns:1fr 270px;gap:40px;padding:35px 0;border-bottom:1px solid var(--line);align-items:center; }
.service-row h2 { font-size:32px; }
.service-row p { font-size:14px;color:var(--muted);margin:16px 0 0;max-width:640px; }
.service-price { display:flex;flex-direction:column;align-items:flex-end;gap:8px; }
.service-price small { color:var(--muted);font-size:10px; }
.service-price strong { font:34px Georgia,serif;letter-spacing:-.04em; }
.service-price span { font-size:11px;color:var(--gold); }
.service-row:hover h2 { color:var(--gold); }
.steps { display:grid;grid-template-columns:repeat(4,1fr);gap:35px; }
.steps>div { border-top:1px solid var(--line);padding-top:25px; }
.steps span { color:var(--gold);font-size:11px; }
.steps h3 { margin:35px 0 20px; }
.steps p { font-size:14px;color:var(--muted); }
.detail-layout { display:grid;grid-template-columns:1fr 360px;gap:90px;padding-bottom:100px; }
.detail-block { margin-bottom:60px; }
.detail-block h2 { font-size:36px;margin-bottom:25px; }
.detail-block .eyebrow { margin-bottom:20px; }
.check-list { list-style:none;padding:0;margin:0; }
.check-list li { position:relative;padding:13px 0 13px 25px;border-bottom:1px solid var(--line);font-size:15px; }
.check-list li:before { content:'↗';position:absolute;left:0;color:var(--gold); }
.price-panel { background:white;border-top:3px solid var(--gold);padding:30px;height:fit-content;position:sticky;top:130px; }
.price-panel>span { font-size:12px;color:var(--muted); }
.price-panel>strong { display:block;font:47px Georgia,serif;margin:20px 0 5px;letter-spacing:-.06em; }
.price-panel>small { display:block;color:var(--muted); }
hr { border:0;border-top:1px solid var(--line);margin:28px 0; }
.price-panel .btn { width:100%;margin-bottom:16px; }
.price-panel .text-link { font-size:11px; }
.price-panel>p { font-size:13px; }
.price-panel .fine { font-size:11px; }
details { border-block-end:1px solid var(--line); }
summary { cursor:pointer;list-style:none;padding:22px 28px 22px 0;position:relative;font-size:16px;font-weight:500; }
summary:after { content:'+';position:absolute;right:3px;color:var(--gold);font-size:22px;top:15px; }
details[open]>summary:after { content:'−'; }
details>p { font-size:14px;color:var(--muted); }
.full-shot { width:100%;margin-bottom:20px; }
.mobile-shot { max-width:280px;margin:auto auto 20px; }
.project-detail { padding:55px 0; }
.project-detail .device-stage { max-width:1100px;margin:auto;aspect-ratio:1.7; }
.project-detail .desktop-device { width:80%;margin-left:5%; }
.project-detail .phone-device { width:17%;right:10%; }
.prose { max-width:800px;padding-bottom:90px; }
.prose h2 { font-size:32px;margin-bottom:25px;margin-top:45px; }
.prose p { color:var(--muted); }
.brand-samples { display:grid;grid-template-columns:repeat(3,1fr);gap:15px; }
.brand-scene { height:300px;background:#e5e7e6;position:relative;overflow:hidden;--bc:#0095fd;--bb:#071928; }
.brand-scene.teal { --bc:#27d5a8;--bb:#063d3e;background:#e0e9e3; }
.brand-scene.copper { --bc:#c18846;--bb:#151818;background:#e6e0d7; }
.sample-paper { background:#fff;width:68%;height:90%;position:absolute;left:12%;top:10%;padding:25px 16px;transform:rotate(-7deg);box-shadow:0 10px 20px #0002; }
.sample-paper>span { font-size:12px;font-weight:800;color:var(--bb);display:block; }
.sample-paper small { display:block;font-size:5px;letter-spacing:.15em;margin:12px 0 20px; }
.sample-paper h4 { font-size:22px;color:var(--bb);margin-bottom:20px; }
.sample-paper i { display:block;height:2px;background:#ddd;width:80%;margin-top:5px; }
.sample-card { position:absolute;bottom:15%;right:5%;width:78%;aspect-ratio:1.8;background:var(--bb);color:var(--bc);padding:23px;transform:rotate(8deg);box-shadow:0 12px 18px #0003;border-bottom:3px solid var(--bc);display:flex;flex-direction:column;justify-content:center; }
.sample-card>b { font-size:20px;letter-spacing:-.04em;line-height:1; }
.sample-card small { font-size:5px;letter-spacing:.18em;margin-top:8px; }
.sample-card>span { color:#eee;font-size:5px;letter-spacing:.1em;margin-top:22px; }
.about-hero { display:grid;grid-template-columns:1.6fr 1fr;gap:80px;padding-block:80px;align-items:center; }
.about-hero h1 { font-size:clamp(48px,5vw,75px);margin-bottom:30px; }
.about-hero .lead { font-size:16px;margin-bottom:30px; }
.about-hero>img { border-radius:130px 130px 0 0; }
.timeline { margin-top:50px; }
.timeline summary { display:grid;grid-template-columns:200px 1fr;gap:30px; }
.timeline summary>span { font-size:12px;color:var(--gold);padding-top:5px; }
.timeline summary strong { font-weight:500;font-size:24px;letter-spacing:-.03em; }
.timeline summary small { display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:5px; }
.timeline-body { padding-left:230px;padding-bottom:30px;max-width:1000px; }
.timeline-body p { font-size:14px; }
.timeline-body li { font-size:13px; }
.capability-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-block:50px 35px; }
.capability-grid h3 { font-size:26px; }
.capability-grid p { color:#b4b7af;font-size:14px; }
.pills { display:flex;gap:12px;flex-wrap:wrap; }
.pills span { border:1px solid #ffffff26;padding:8px 13px;font-size:11px; }
.education-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px; }
.education-grid h3 { font-size:25px;border-top:1px solid var(--line);padding-top:25px;margin-bottom:30px; }
.education-grid p { font-size:13px; }
.education-grid strong { font-weight:500; }
.education-grid small { display:block;color:var(--muted);font-size:11px;margin-top:7px; }
.testimonial-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px; }
figure { margin:0; }
.quote-mark { font:70px Georgia;color:var(--gold);line-height:1; }
.testimonial-grid blockquote { font-size:14px;margin:10px 0 30px; }
.testimonial-grid figcaption { border-top:1px solid var(--line);padding-top:20px; }
.testimonial-grid figcaption strong,.testimonial-grid figcaption span { display:block;font-size:12px; }
.testimonial-grid figcaption span { color:var(--muted);font-size:11px; }
.company-grid { display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px; }
.company-grid>span { font-size:12px;padding:20px 10px 20px 0;border-top:1px solid var(--line); }
.contact-links { display:flex;flex-direction:column;gap:20px;margin:35px 0;font-size:17px; }
.contact-links>a { text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--gold); }
label { display:block;font-size:12px;font-weight:600;margin-bottom:20px; }
input,textarea,select { width:100%;padding:14px;border:1px solid #cecec4;background:#fff;color:var(--ink);border-radius:0;min-height:49px;margin-top:8px;font-size:15px; }
textarea { resize:vertical; }
input:focus,textarea:focus,select:focus { outline:2px solid var(--gold);outline-offset:2px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--gold);outline-offset:6px; }
.field-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.checkbox { display:flex;gap:12px;align-items:flex-start;font-weight:400; }
.checkbox input { width:17px;height:17px;min-height:17px;margin:3px 0 0; }
.checkbox a { text-decoration:underline; }
.trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.alert { padding:20px 6%;font-size:14px; }
.alert.success { background:#e1eadc;color:#24452e; }
.alert.error { background:#f4e0da;color:#8d3826; }
.quote-layout { display:grid;grid-template-columns:1fr 390px;gap:75px;padding-bottom:100px;align-items:start; }
.quote-step { display:grid;grid-template-columns:40px 1fr;gap:20px;margin-bottom:45px;padding-top:30px;border-top:1px solid var(--line); }
.step-badge { border:1px solid var(--gold);width:32px;height:32px;display:grid;place-items:center;font-size:10px;border-radius:100%;color:var(--gold); }
.quote-step h2 { font-size:30px;margin-bottom:25px; }
.quote-step p { font-size:13px;color:var(--muted); }
#quote-scope { font-size:14px;color:var(--muted);margin-top:25px; }
.quote-option { display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0;margin:0; }
.quote-option span { font-size:13px;font-weight:400; }
.quote-option small { display:block;color:var(--gold);font-size:11px;margin-top:7px; }
.quote-option select { max-width:90px;margin:0; }
.quote-summary { position:sticky;top:125px;background:#ede9e0;padding:30px;border-top:3px solid var(--gold); }
.quote-summary h2 { font-size:35px;margin-bottom:25px; }
.quote-summary p { font-size:13px; }
.quote-summary .fine { font-size:10px; }
.quote-line { display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:12px 0;border-bottom:1px solid #d4d0c5; }
.quote-line b { white-space:nowrap;font-weight:500; }
.quote-total { padding-top:25px;display:flex;flex-direction:column; }
.quote-total span { font-size:11px; }
.quote-total strong { font:45px Georgia;letter-spacing:-.05em;margin:10px 0; }
.quote-total small { font-size:10px; }
#quote-result h3 { font-size:24px;margin-bottom:18px; }
#print-quote { margin-top:20px; }
.skip { position:absolute;left:20px;top:-100px;background:#fff;padding:15px;z-index:100; }
.skip:focus { top:10px; }
.admin-body { background:#efeee8; }
.admin-nav { background:var(--dark);color:var(--paper);padding:20px 5%;display:flex;gap:24px;align-items:center;justify-content:space-between; }
.admin-nav a { font-size:12px; }
.admin-nav form { margin:0; }
.admin-nav button { font-size:12px;background:none;border:1px solid #fff5;color:white;padding:8px 15px; }
.admin-wrap { max-width:1250px;width:90%;margin:45px auto 80px; }
.admin-wrap h1 { font-size:45px;margin-bottom:30px; }
.admin-wrap h2 { font-size:28px;margin:45px 0 25px; }
.admin-wrap h3 { font-size:23px;margin-bottom:20px; }
.admin-grid { display:grid;grid-template-columns:1fr 1fr;gap:25px; }
.admin-panel { background:#fff;padding:25px;border:1px solid var(--line);margin:20px 0; }
.admin-row { padding:18px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line); }
.admin-row a { font-size:13px;text-decoration:underline; }
.admin-row small { color:var(--muted); }
.admin-form { max-width:900px; }
.admin-form .field-grid { grid-template-columns:repeat(2,1fr); }
.option-editor { display:grid;grid-template-columns:1fr 2fr 1fr 70px 35px;gap:10px;padding-bottom:15px;align-items:end; }
.option-editor label { font-size:10px;margin:0; }
.option-editor input { padding:10px;font-size:12px; }
.option-editor button { border:1px solid var(--line);height:45px;background:#fff; }
.login { max-width:440px;margin:10vh auto; }
.login h1 { font-size:45px; }
.login .brand { margin-bottom:35px; }
.login-panel { padding:35px;background:#fff; }
.admin-actions { display:flex;gap:20px;align-items:center;margin:20px 0; }
.admin-actions .btn { font-size:12px; }
.status-form { display:flex;gap:10px;align-items:center; }
.status-form select { width:auto;font-size:12px; }
.status-form button { font-size:11px;padding:10px;border:1px solid var(--line);background:#fff; }
.lead-card { padding:25px;background:white;margin:20px 0;border:1px solid var(--line); }
.lead-card h3 { font-size:23px; }
.lead-card pre { white-space:pre-wrap;font:13px/1.6 Arial; }
.lead-meta { display:flex;gap:20px;flex-wrap:wrap;font-size:12px; }
.audit { max-height:250px;overflow:auto;font-size:11px; }
.audit p { border-bottom:1px solid var(--line);padding:10px 0;margin:0; }
[hidden] { display:none!important; }
@media(min-width:1600px) {
  .hero { gap:9%;padding-top:85px;padding-bottom:85px; }
  .hero-portrait { max-width:520px; }
  .hero h1 { font-size:100px; }
}
@media(max-width:1100px) {
  .header nav { gap:20px; }
  .header .brand span { font-size:16px; }
  .hero h1 { font-size:64px; }
  .hero h1 em { font-size:.8em; }
  .hero { gap:6%;min-height:650px; }
  .hero-sign { margin-top:25px; }
  .portrait-note { padding:15px;left:-20px; }
  .detail-layout { gap:40px;grid-template-columns:1fr 320px; }
  .quote-layout { gap:35px;grid-template-columns:1fr 330px; }
  .device-stage { padding:30px 30px 20px 15px; }
  .footer-bottom { flex-wrap:wrap; }
  .service-feature { padding:25px 20px; }
  .service-feature h3 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important;animation:none!important; }
}
@media print {
  .header,footer,.mobile-contact,.quote-step,.quote-summary #print-quote,.quote-summary>.fine,.skip,.menu-toggle { display:none!important; }
  body { background:white;color:black; }
  .page-intro { padding:20px 0; }
  .page-intro h1 { font-size:32px; }
  .page-intro .lead { font-size:13px; }
  .quote-layout { display:block; }
  .quote-layout>div { display:none; }
  .quote-summary { position:static;background:white;padding:20px;border:1px solid #ccc; }
  .quote-summary:after { content:'JDI · José Durán · Estimación referencial, sujeta a validación de alcance y condiciones tributarias. No constituye contratación.';font-size:10px;display:block;margin-top:25px; }
  .quote-line { break-inside:avoid; }
  .admin-nav { display:none; }
}
