/* OTRA · legibilidad y pequeños gestos, revisión 10. */
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px}
.site-header>.wordmark{justify-self:start}.main-nav{margin-left:0;justify-content:center;gap:26px;font-size:14px}.header-actions{justify-self:end}
.nav-contact{font-size:14px}.intro-line{font-size:13px}.hero-copy{font-size:17px}.hero-actions .button{font-size:15px;min-height:52px;padding-inline:23px}
.exploration-caption{font-size:13px;color:#626a56;max-width:600px;margin:18px auto 0;padding-inline:18px}
.section-copy{font-size:17px}.service-links a{font-size:16px}.panel-copy>p:not(.control-hint){font-size:16px;line-height:1.7;color:#635b66}
.theme-control button{font-size:13px;min-height:42px}.panel-heading>p{font-size:14px;line-height:1.6;color:#59654d}.device-control>button{font-size:13px;min-height:40px}
.process-panel>p{font-size:16px;line-height:1.65;color:#756047}.process-note b{font-size:15px}.process-note div>span{font-size:12px;line-height:1.6;color:#686355}.note-tag{font-size:10px;line-height:1.25;padding:3px 6px}.process-notes{margin-top:36px}
.work-heading>p{font-size:16px;line-height:1.7;color:var(--muted);max-width:365px}
.faq-section{gap:58px;align-items:start;padding-bottom:88px}.faq-section>.section-title{font-size:clamp(44px,4.7vw,60px);padding-top:14px}
.faq-list{border:0;display:grid;gap:12px;align-content:start}
.faq-list details{border:1px solid #dfdfd3;border-radius:19px;background:linear-gradient(115deg,#fffef8,#f2f2e9);box-shadow:inset 0 1px 1px #fff,0 3px 5px #34402b06,0 12px 18px -15px #34402b2b;overflow:hidden;transition:background .25s,border-color .25s,box-shadow .25s}
.faq-list details:hover{border-color:#bcc5a9;box-shadow:inset 0 1px 1px #fff,0 5px 12px #34402b0c}.faq-list details[open]{background:linear-gradient(115deg,#f3f5e9,#eaeddf);border-color:#c8d0b7}
.faq-list summary{padding:21px 23px;font-size:16px;line-height:1.5;gap:20px}.faq-list summary>span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#e9ecdf;color:#727d60;border:1px solid #d9dfcb;font-size:21px;font-weight:400;transition:transform .3s,background .25s}
.faq-list details[open] summary>span{transform:rotate(45deg);background:#dce3cd;color:#4c5e3d}.faq-list details>p{font-size:16px;line-height:1.75;padding:0 23px 25px;max-width:none;color:#58634c}
.contact-panel{min-height:480px;padding:46px 10%;gap:26px}.contact-panel .contact-decoration{height:300px;scale:.85;margin:auto;transform-origin:center}
.contact-copy .section-title{font-size:clamp(54px,5.3vw,68px)}.contact-copy>.hello{font-size:27px;margin-bottom:14px}.contact-copy>p{font-size:16px;line-height:1.65;margin-top:18px;color:#655f42}.contact-copy>.contact-page-link{margin-top:26px;margin-bottom:0;font-size:15px;min-height:52px;min-width:175px}
.site-footer>p,.site-footer>a:last-of-type{font-size:14px}.site-footer>small{font-size:12px;line-height:1.6}
/* These are finite, lightweight SVG gestures. Nothing loops while browsing. */
.service-links a{--icon-delay:0s}.service-links a:nth-child(2){--icon-delay:.14s}.service-links a:nth-child(3){--icon-delay:.28s}.service-links a:nth-child(4){--icon-delay:.42s}
.service-icon{transform-origin:50% 65%;overflow:visible}.service-links.is-animated .service-icon{animation:icon-greeting 1.2s var(--icon-delay) var(--ease) both}.service-links.is-animated .icon-draw{stroke-dasharray:1;animation:icon-ink .8s calc(var(--icon-delay) + .15s) ease-out both}.service-links .pencil-line{opacity:0}
.service-links.is-animated .pencil-line{animation:icon-underline 1.2s calc(var(--icon-delay) + .15s) ease both}
.service-links a:hover .service-icon,.service-links a:focus-visible .service-icon{animation:icon-hover .8s var(--ease) both;animation-delay:0s}.service-links a:hover .icon-draw,.service-links a:focus-visible .icon-draw{animation:icon-ink .55s ease-out both;animation-delay:0s}.service-links a:hover .pencil-line,.service-links a:focus-visible .pencil-line{animation:icon-underline 1s ease both}
@keyframes icon-greeting{0%,100%{transform:translateY(0) rotate(-3deg)}25%{transform:translateY(-7px) rotate(6deg)}55%{transform:translateY(-3px) rotate(-6deg)}78%{transform:translateY(-5px) rotate(1deg)}}
@keyframes icon-hover{0%,100%{transform:translateY(0) rotate(-3deg)}40%{transform:translateY(-6px) rotate(7deg)}72%{transform:translateY(-2px) rotate(-5deg)}}
@keyframes icon-ink{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes icon-underline{0%{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}30%,70%{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}100%{opacity:0;stroke-dasharray:1;stroke-dashoffset:0}}
:root[data-color-mode=dark] .faq-list details{background:linear-gradient(115deg,#2c2d29,#252724);border-color:#f0e7d024;box-shadow:inset 0 1px 1px #fff5de08,0 3px 7px #0002}
:root[data-color-mode=dark] .faq-list details:hover{border-color:#7c8269;box-shadow:inset 0 1px 1px #fff5de08,0 5px 12px #0003}
:root[data-color-mode=dark] .faq-list details[open]{background:linear-gradient(115deg,#37352f,#2d2e2a);border-color:#858c7166}
:root[data-color-mode=dark] .faq-list summary>span{background:#3b4332;border-color:#7d88674d;color:#dce4ce}
:root[data-color-mode=dark] .faq-list details[open] summary>span{background:#d6ddc5;color:#39472d}
:root[data-color-mode=dark] .faq-list details>p{color:#c8ccbe}
:root[data-color-mode=dark] .exploration-caption{color:#c4c3b5}
/* Shared header and form copy remain comfortable on the contact page too. */
.contact-intro>p:not(.intro-postscript){font-size:16px}.back-link{font-size:14px}.form-heading>p{font-size:14px}.form-field>label,.project-kind>legend{font-size:14px}.form-field>label>span{font-size:12px}.form-field>input,.form-field>textarea,.form-field>select{font-size:16px}.form-field>input::placeholder,.form-field>textarea::placeholder{font-size:14px}.kind-option>span{font-size:13px}.form-status strong{font-size:13px}.form-status p>span{font-size:12px;line-height:1.65}.form-submit{font-size:14px}
@media(max-width:1100px){.main-nav{gap:23px}.contact-panel{padding-inline:7%}.faq-section{gap:36px}.process-panel>p{font-size:15px}.process-note div>span{font-size:12px}.panel-copy>p:not(.control-hint){font-size:15px}}
@media(min-width:781px) and (max-width:900px){.site-header{gap:14px;padding-left:22px}.main-nav{gap:18px;font-size:13px}.nav-contact{font-size:12px;gap:12px}.contact-panel{padding-inline:5%;gap:10px}.contact-panel .contact-decoration{scale:.72}.contact-copy .section-title{font-size:53px}.panel-heading>p{font-size:12px}.process-note b{font-size:14px}.process-note div>span{font-size:12px}.theme-control button{font-size:12px;padding-inline:10px}}
@media(max-width:780px){.site-header{display:flex;gap:12px}.main-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:29px;min-height:40px;padding:9px 5px;background:transparent}.menu-toggle>span{width:16px;height:1px;background:#4a5342;transition:transform .25s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3px) rotate(-45deg)}}
@media(max-width:700px){.intro-line{font-size:13px}.hero-copy{font-size:16px}.hero-actions .button{font-size:14px;min-height:51px;padding-inline:20px}.exploration-caption{font-size:12px;line-height:1.6;padding-inline:20px;margin-top:17px}.possibilities .section-copy{font-size:16px;max-width:330px;line-height:1.6}.service-links>a{font-size:15px;gap:11px}.service-links svg{width:43px;height:43px}.panel-copy>p:not(.control-hint){font-size:16px;max-width:360px}.theme-control button{font-size:13px;min-height:42px}.panel-heading>p{font-size:13px;max-width:140px}.device-control>button{font-size:13px}.process-panel>p{font-size:16px;max-width:300px}.process-note b{font-size:15px}.process-note div>span{font-size:12px;max-width:240px}.note-tag{font-size:10px}.work-heading>p{font-size:16px;max-width:330px}.faq-section{gap:25px;padding:0 0 56px}.faq-section>.section-title{font-size:46px;padding:0 6px}.faq-list{gap:10px}.faq-list details{border-radius:17px}.faq-list summary{font-size:16px;padding:19px 18px;gap:13px}.faq-list summary>span{width:29px;height:29px;font-size:20px}.faq-list details>p{font-size:16px;padding:0 18px 23px}.contact-panel{padding:33px 23px 18px;gap:8px;min-height:0}.contact-copy .section-title{font-size:52px}.contact-copy>.hello{font-size:26px;margin-bottom:14px}.contact-copy>p{font-size:16px;margin-top:18px}.contact-copy>.contact-page-link{font-size:14px;min-height:50px;margin-top:24px;margin-bottom:0}.contact-panel .contact-decoration{height:170px;scale:.62;width:260px;max-width:none;margin:-4px auto 0;transform-origin:center bottom}.site-footer>p,.site-footer>a:last-of-type{font-size:13px}.site-footer>small{font-size:12px}.contact-intro>p:not(.intro-postscript){font-size:16px}.kind-option>span{font-size:13px}.form-heading>p{font-size:14px}.form-field>label,.project-kind>legend{font-size:14px}.form-field>label>span{font-size:12px}.form-status strong{font-size:13px}.form-status p>span{font-size:12px}.form-submit{font-size:14px}}
@media(max-width:370px){.site-header{gap:8px}.nav-contact{font-size:11px;padding-inline:10px;gap:7px}.header-actions{gap:6px}.hero-actions .button{font-size:14px}.possibilities .section-copy{font-size:16px}.panel-heading>p{font-size:12px}.process-note div>span{font-size:12px}.contact-copy .section-title{font-size:46px}.contact-panel{padding-inline:18px}.contact-copy>p{font-size:15px}.faq-section>.section-title{font-size:42px}.faq-list summary{padding-inline:16px;gap:11px}.form-paper{padding-inline:21px}.kind-option>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-links .service-icon,.service-links .icon-draw,.service-links .pencil-line{animation:none!important;transition:none!important}.service-links .icon-draw{stroke-dashoffset:0}.service-links .pencil-line{opacity:0}}

.faq-list summary:focus-visible{outline:2px solid #7f8d69;outline-offset:-6px;border-radius:17px}:root[data-color-mode=dark] .faq-list summary:focus-visible{outline-color:#dfcfb3}

@media(max-width:700px){.contact-panel .contact-stamp{bottom:5px}}

/* Contacto de OTRA y confirmación del recorrido de envío. */
.contact-honeypot{display:none!important}.contact-direct{display:inline-flex;align-items:center;gap:12px;font-size:16px;line-height:1.5;margin-top:17px;color:#5f704b;border-bottom:1px solid #aebc9d;padding-bottom:4px}.contact-direct svg{width:16px;height:16px}.contact-direct:hover{color:#394c27;border-color:currentColor}
.contact-copy>.contact-email{display:block;width:max-content;max-width:100%;margin:14px auto 0;font-size:14px;line-height:1.6;color:#655f42;text-decoration:underline;text-decoration-color:#a49d77;text-underline-offset:4px}.contact-copy>.contact-email:hover{text-decoration-color:currentColor}
/* Contact confirmation: a centered paper card above a quiet backdrop. */
.confirmation-open{overflow:hidden}
.contact-success-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 36px));max-height:calc(100dvh - 40px);overflow:auto;padding:42px;border:1px solid #fffef6;border-radius:28px;background:linear-gradient(125deg,#fffdf6,#f2f0e4);color:#292d25;box-shadow:0 24px 80px #1013113d;text-align:center}
.contact-success-dialog::backdrop{background:#10131170;backdrop-filter:blur(3px)}
.contact-success-dialog[open]{animation:confirmation-enter .24s ease-out}
.success-close{position:absolute;top:13px;right:13px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #89927438;border-radius:50%;background:#ffffff66;color:#68745a;cursor:pointer;transition:background .2s}
.success-close:hover{background:#e8ebdd}.success-close>svg{width:20px;height:20px}
.success-mark{display:grid;place-items:center;width:60px;height:60px;background:#e5ecd7;border:1px solid #bdcdaa;color:#617a48;border-radius:50%;margin:0 auto 22px}.success-mark>svg{width:27px;height:27px}
.success-eyebrow{display:block;font-size:13px;letter-spacing:.04em;color:#68745a;margin-bottom:14px}
.contact-success-dialog h2{font:400 58px/1.02 var(--serif);letter-spacing:-1.2px}.contact-success-dialog h2 em{color:#7d8b69}
.contact-success-dialog>p{font-size:16px;color:#66705a;line-height:1.7;margin-top:22px}
.contact-success-dialog>.success-done{font-size:16px;margin-top:28px;min-height:51px;width:100%;justify-content:center;gap:13px}
.success-close:focus-visible,.success-done:focus-visible{outline:3px solid #8a9c70;outline-offset:4px}
:root[data-color-mode=dark] .contact-direct{color:#d5dcca;border-color:#81906d}:root[data-color-mode=dark] .contact-direct:hover{color:#f2efe7}:root[data-color-mode=dark] .contact-copy>.contact-email{color:#ded0bf;text-decoration-color:#a68f77}
:root[data-color-mode=dark] .contact-success-dialog{background:linear-gradient(125deg,#2c2c2a,#222422);border-color:#f1e6cf29;color:#f2efe7;box-shadow:0 24px 80px #0008}
:root[data-color-mode=dark] .contact-success-dialog::backdrop{background:#05070599}
:root[data-color-mode=dark] .contact-success-dialog h2 em{color:#dfc8b0}
:root[data-color-mode=dark] .contact-success-dialog>p{color:#c2c7b8}
:root[data-color-mode=dark] .success-eyebrow{color:#c9b5d0}
:root[data-color-mode=dark] .success-mark{background:#38333c;border-color:#86748e57;color:#e5d9e7}
:root[data-color-mode=dark] .success-close{background:#ffffff08;border-color:#f1e6cf29;color:#c2c7b8}
:root[data-color-mode=dark] .success-close:hover{background:#ffffff15}
@keyframes confirmation-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){.contact-direct{font-size:16px;gap:9px;margin-top:17px}.contact-copy>.contact-email{font-size:14px;margin-top:14px}.contact-success-dialog{padding:38px 25px 27px;border-radius:24px}.contact-success-dialog h2{font-size:50px}.contact-success-dialog>p{font-size:16px}.success-close{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.contact-success-dialog[open]{animation:none}}
