:root{--ink:#171714;--ink2:#24241f;--paper:#e8dfca;--paper2:#d6c9ab;--red:#922e26;--gold:#b39862;--muted:#9b927f;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:#eee9dc;font-family:var(--sans);font-size:14px;line-height:1.75}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 clamp(24px,7vw,112px);display:flex;align-items:center;justify-content:space-between;background:#171714;position:relative;z-index:10;border-bottom:1px solid #ffffff18}.brand{display:flex;gap:13px;align-items:center}.brand-emblem{width:56px;height:56px;flex:0 0 56px;border-radius:50%;overflow:hidden;border:1px solid var(--gold);background:#fff;display:block}.brand-emblem img{width:100%;height:100%;object-fit:contain;object-position:center top;display:block}.brand strong{display:block;font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.05}.brand small{display:block;color:#b4aa93;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-top:5px}.primary-nav{display:flex;gap:clamp(20px,3vw,48px);align-items:center}.primary-nav a,footer nav a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d4ccbb;transition:color .2s}.primary-nav a:hover,footer nav a:hover{color:var(--gold)}.menu-toggle{display:none}.hero{height:min(780px,calc(100vh - 84px));min-height:620px;position:relative;overflow:hidden;background:#24231e}.hero-art,.hero-art:after{position:absolute;inset:0}.hero-art .landscape-layer{width:100%;height:100%;object-fit:cover;opacity:.66;filter:sepia(.42) brightness(.68)}.hero-art .dojo-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;opacity:.88;filter:sepia(.18) brightness(.78);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 40%,#0009 58%,transparent 82%);mask-image:linear-gradient(90deg,#000 0%,#000 40%,#0009 58%,transparent 82%)}.hero-art:after{content:"";background:linear-gradient(90deg,#17171466 0%,#17171483 31%,#17171445 65%,#17171422 100%),linear-gradient(0deg,#171714 0%,transparent 42%)}.hero-sun{position:absolute;width:360px;height:360px;border-radius:50%;background:#9a342a;opacity:.75;right:22%;top:14%;mix-blend-mode:multiply}.hero-copy{position:absolute;left:clamp(32px,12vw,190px);top:17%;z-index:2;max-width:565px}.eyebrow{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#d3b875;display:flex;align-items:center;gap:12px;margin:0 0 22px}.eyebrow span{height:1px;width:34px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(54px,7vw,99px);line-height:.89;letter-spacing:-.035em;margin:0 0 26px}h1 em,h2 em{font-weight:400;color:#c0a66b}h1 em{font-size:.8em}.hero-role{color:var(--gold);font-size:11px;letter-spacing:.25em;text-transform:uppercase;margin:0 0 15px}.hero-intro{font-family:var(--serif);font-size:22px;max-width:410px;color:#ddd5c3;line-height:1.35;margin-bottom:28px}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid #b39862;padding-bottom:9px}.text-link span,.button span{margin-left:24px;color:var(--gold)}.portrait-frame{position:absolute;z-index:2;right:clamp(8%,13vw,240px);top:12%;width:clamp(240px,25vw,360px);height:68%;border:1px solid #d0b77a;padding:12px}.portrait-inner{width:100%;height:100%;background:linear-gradient(145deg,#bbb097,#524c3e 77%);border:1px solid #171714;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;color:#fff4dd;overflow:hidden}.portrait-inner:before{content:"";position:absolute;inset:12px;border:1px solid #ffffff55}.portrait-inner:after{content:"";position:absolute;bottom:-65px;width:75%;height:48%;background:#211f19;border-radius:48% 48% 0 0}.portrait-kanji{font:120px var(--serif);opacity:.24;position:absolute;top:9%;right:10%}.portrait-icon{font-size:44px;color:#dfc47e;opacity:.8}.portrait-inner p{z-index:1;font-family:var(--serif);font-size:23px;line-height:1.12;margin:14px 0}.portrait-inner small{z-index:1;text-transform:uppercase;letter-spacing:.18em;font-size:8px}.frame-caption{position:absolute;bottom:-30px;left:0;font-family:var(--serif);color:#d8c9a6;font-size:15px}.hero-bottom{position:absolute;z-index:3;bottom:28px;left:clamp(32px,7vw,112px);right:clamp(32px,7vw,112px);display:flex;justify-content:space-between;align-items:center;color:#c7b999;font-size:8px;letter-spacing:.21em}.hero-bottom i{color:var(--red);font-style:normal}.section-paper{color:#282820;background-color:var(--paper);background-image:radial-gradient(ellipse at 12% 19%,#fff8 0,transparent 39%),repeating-linear-gradient(3deg,transparent 0 5px,#8a76500b 6px 7px)}.intro{min-height:480px;padding:105px max(9vw,50px);display:grid;grid-template-columns:1fr 1.35fr .6fr;gap:6vw;align-items:center;position:relative;overflow:hidden}.intro-mark{height:270px;border-right:1px solid #897d65;display:flex;align-items:center;justify-content:center;position:relative}.intro-mark img{position:relative;z-index:1;width:min(215px,80%);height:215px;object-fit:contain;mix-blend-mode:multiply;opacity:.88}.intro-mark i{position:absolute;width:160px;height:160px;border:1px solid #9a3328;border-radius:50%;opacity:.55}.eyebrow.dark{color:#7e2e27}.intro h2,.section-heading h2{font-size:clamp(48px,6vw,76px);line-height:1;margin-bottom:4px}.intro .subhead{font-family:var(--serif);font-size:26px;color:#7d3027;margin-bottom:23px}.intro-copy>p:not(.eyebrow):not(.subhead){max-width:570px;color:#555044;font-size:13px}.button{display:inline-flex;align-items:center;padding:13px 18px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-top:15px}.button-dark{background:#24241f;color:#eee5d1}.button-dark span{color:#c4a968}.intro-stamp{justify-self:center;width:125px;height:125px;border:2px solid #942f28;color:#942f28;transform:rotate(-9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:42px var(--serif)}.intro-stamp small{font:8px var(--sans);letter-spacing:.2em;text-transform:uppercase;line-height:1.5}.timeline-section{padding:115px 7vw 100px;background:var(--ink);position:relative}.section-heading{text-align:center;margin:0 auto 80px;max-width:620px}.section-heading .eyebrow{justify-content:center}.section-heading h2{font-size:70px}.section-heading h2 em{color:#bd9f62}.section-heading>p:last-child{color:#aaa28f;font-size:12px}.timeline{position:relative;max-width:1140px;margin:auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(#a23930,#b49b69 50%,#a23930);opacity:.8}.timeline-item{display:grid;grid-template-columns:1fr 72px 1fr;align-items:center;min-height:355px;margin-bottom:55px;position:relative}.timeline-photo{grid-column:1;grid-row:1;padding-right:26px}.timeline-card{grid-column:3;grid-row:1}.timeline-item.reverse .timeline-photo{grid-column:3;padding:0 0 0 26px}.timeline-item.reverse .timeline-card{grid-column:1;grid-row:1}.timeline-dot{grid-column:2;grid-row:1;width:15px;height:15px;background:var(--red);border:3px solid #d0b87f;border-radius:50%;justify-self:center;z-index:2;box-shadow:0 0 0 7px #171714}.photo-placeholder{min-height:280px;aspect-ratio:1.3;background:linear-gradient(135deg,#676253,#302f29);border:1px solid #a59264;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;color:#ded3b9;overflow:hidden}.photo-placeholder:before,.photo-placeholder:after{content:"";position:absolute;width:160%;height:1px;background:#c5ae7755;transform:rotate(-30deg)}.photo-placeholder:after{transform:rotate(30deg)}.photo-placeholder span{font-family:var(--serif);font-size:76px;color:#d4bd83;opacity:.72;z-index:1}.photo-placeholder p{z-index:1;max-width:260px;font-family:var(--serif);font-size:18px;line-height:1.2;margin:6px 0}.photo-placeholder small{z-index:1;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:#c4b89f}.timeline-card{min-height:280px;padding:32px 35px 28px;position:relative;overflow:hidden}.dark-card{background:#24241f;border:1px solid #48443a;color:#e8dfca}.paper-card{background:#e8dfca;color:#292920}.period{display:block;color:#b49358;letter-spacing:.2em;font-size:9px;margin-bottom:7px}.paper-card .period{color:#8c352b}.timeline-card h3{font-size:31px;line-height:1.05;margin-bottom:16px;max-width:90%}.timeline-card ul{padding-left:16px;margin:0;max-width:95%;font-size:11px;line-height:1.65}.timeline-card li{padding:0 0 8px 2px}.timeline-card li::marker{color:var(--red)}.timeline-card b{font-weight:700}.timeline-card>p{max-width:93%;font-size:12px}.card-kanji{position:absolute;right:15px;bottom:-23px;font:98px var(--serif);opacity:.07}.verify{color:#a94a3d;font-size:10px}.timeline-card .note{font-size:10px;color:#aaa18d;border-top:1px solid #ffffff22;padding-top:10px}.editorial-note{max-width:900px;margin:55px auto 0;border-left:2px solid var(--red);padding:14px 20px;color:#b5ac99;font-size:11px}.editorial-note span{color:#d0b777;text-transform:uppercase;letter-spacing:.16em;font-size:9px;margin-right:12px}.closing{min-height:525px;position:relative;overflow:hidden;padding:105px 14vw;display:flex;align-items:center}.closing-art{position:absolute;inset:0;opacity:.4}.closing-art img{width:100%;height:100%;object-fit:cover;filter:sepia(.35)}.closing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e8dfca 0%,#e8dfcae8 47%,#e8dfca30 100%)}.closing-sun{position:absolute;z-index:1;width:320px;height:320px;border-radius:50%;background:#99342b;opacity:.67;right:21%;top:21%;mix-blend-mode:multiply}.closing-copy{position:relative;z-index:2;max-width:530px}.closing h2{font-size:clamp(53px,7vw,83px);line-height:.9;margin-bottom:23px}.closing h2 em{color:#853329}.closing-copy>p:not(.eyebrow){max-width:480px;color:#4e4a3f;font-size:13px}.button-red{background:#8f3028;color:#f3e8d2}.button-red span{color:#e4c478}.closing-seal{position:absolute;z-index:2;right:13%;bottom:16%;font:70px var(--serif);color:#8e3027;text-align:center;transform:rotate(9deg);border:2px solid #8e3027;padding:8px 16px;line-height:1}.closing-seal small{font:9px var(--sans);letter-spacing:.3em}footer{padding:50px clamp(28px,8vw,130px) 24px;display:grid;grid-template-columns:1.2fr 2fr 1fr auto;gap:35px;align-items:start;background:#151512}footer nav{display:flex;gap:18px;flex-wrap:wrap;padding-top:12px}.footer-brand strong{font-size:21px}.social{display:grid;gap:6px;color:#b7ad98;font-size:10px}.social span{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#766e5d;margin-bottom:4px}.social a:hover{color:var(--gold)}.social-facebook{display:inline-flex;align-items:center;gap:8px;width:max-content}.social-icon{width:15px;height:15px;fill:#c7b376;flex:none}.social-facebook:hover .social-icon{fill:var(--gold)}.back-top{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#c7b376;padding-top:12px}.copyright{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:18px;color:#817a6a;font-size:9px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.primary-nav{gap:18px}.primary-nav a{font-size:9px}.hero-copy{left:8%;top:15%}.portrait-frame{right:7%;width:29vw}.intro{grid-template-columns:.6fr 1.6fr;gap:5vw;padding-left:7vw;padding-right:7vw}.intro-stamp{display:none}.timeline-section{padding-left:4vw;padding-right:4vw}.timeline-item{grid-template-columns:1fr 48px 1fr}.timeline-photo{padding-right:18px}.timeline-item.reverse .timeline-photo{padding-left:18px}.timeline-card{padding:27px 24px}.timeline-card ul{font-size:10px}footer{grid-template-columns:1fr 2fr;row-gap:28px}.social{grid-column:1}.back-top{justify-self:end;grid-column:2;grid-row:2}.copyright{grid-row:3}}
@media(max-width:620px){.site-header{height:72px;padding:0 22px}.brand strong{font-size:20px}.brand-emblem{width:46px;height:46px;flex-basis:46px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:#d0bd8c}.primary-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:17px 24px 24px;background:#1d1d19;flex-direction:column;align-items:flex-start;gap:15px;border-top:1px solid #ffffff20}.primary-nav.open{display:flex}.primary-nav a{font-size:10px}.hero{height:auto;min-height:760px}.hero-art .landscape-layer{object-position:62% center}.hero-art .dojo-layer{object-position:38% center}.hero-art:after{background:linear-gradient(90deg,#171714dd,#17171455),linear-gradient(0deg,#171714,transparent 65%)}.hero-sun{width:250px;height:250px;right:6%;top:17%}.hero-copy{top:9%;left:26px;right:24px}.eyebrow{font-size:8px;margin-bottom:17px}h1{font-size:58px;max-width:440px}h1 em{font-size:.72em}.hero-intro{font-size:20px;max-width:320px}.portrait-frame{width:190px;height:260px;top:auto;right:30px;bottom:90px;padding:7px}.portrait-kanji{font-size:80px}.portrait-icon{font-size:30px}.portrait-inner p{font-size:17px}.frame-caption{font-size:12px;bottom:-25px}.hero-bottom{left:22px;right:22px;bottom:20px;font-size:7px;letter-spacing:.12em}.hero-bottom span:first-child{display:none}.intro{padding:72px 27px;display:block}.intro-mark{height:100px;width:100%;border-right:0;border-bottom:1px solid #897d65;margin-bottom:35px}.intro-mark img{width:105px;height:100px}.intro-mark i{width:90px;height:90px}.intro h2{font-size:57px}.intro .subhead{font-size:22px}.intro-copy>p:not(.eyebrow):not(.subhead){font-size:12px}.timeline-section{padding:78px 22px}.section-heading{margin-bottom:53px}.section-heading h2{font-size:56px}.section-heading>p:last-child{font-size:11px}.timeline:before{left:8px}.timeline-item,.timeline-item.reverse{display:grid;grid-template-columns:26px 1fr;gap:0;min-height:0;margin-bottom:43px}.timeline-dot{grid-column:1;grid-row:1;width:13px;height:13px;margin-top:5px}.timeline-photo,.timeline-item.reverse .timeline-photo{grid-column:2;grid-row:1;padding:0 0 17px}.timeline-card,.timeline-item.reverse .timeline-card{grid-column:2;grid-row:2;padding:25px 22px;min-height:0}.photo-placeholder{min-height:205px;aspect-ratio:1.55}.photo-placeholder span{font-size:56px}.photo-placeholder p{font-size:16px}.timeline-card h3{font-size:28px}.timeline-card ul{font-size:10px}.timeline-card>p{font-size:11px}.editorial-note{margin-top:30px;padding-left:14px;font-size:10px}.editorial-note span{display:block;margin-bottom:6px}.closing{min-height:550px;padding:76px 29px 210px}.closing:after{background:linear-gradient(90deg,#e8dfcaee,#e8dfcac7 55%,#e8dfca66)}.closing-sun{width:230px;height:230px;right:2%;top:40%}.closing h2{font-size:59px}.closing-copy>p:not(.eyebrow){font-size:12px}.closing-seal{right:12%;bottom:8%;font-size:50px}footer{padding:40px 25px 20px;grid-template-columns:1fr 1fr;gap:24px 10px}footer nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}.social{grid-column:1;grid-row:3}.back-top{grid-column:2;grid-row:3;align-self:end}.copyright{grid-row:4}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.logo-stamp{border:0!important;transform:none!important;padding:0!important;overflow:hidden}.logo-stamp img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;mix-blend-mode:multiply}
/* Cierre editorial: composición equilibrada y responsive */
.closing{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:clamp(32px,7vw,100px);align-items:center;padding:96px clamp(8vw,14vw,210px);min-height:500px}
.closing-art{opacity:.2}
.closing:after{background:linear-gradient(90deg,#e8dfcaee 0%,#e8dfcae8 60%,#e8dfcacc 100%)}
.closing-sun{display:none}
.closing-copy{grid-column:1;grid-row:1;max-width:580px}
.closing-copy .eyebrow{margin-bottom:18px}
.closing h2{font-size:clamp(54px,6vw,76px);margin-bottom:22px}
.closing-copy>p:not(.eyebrow){max-width:490px;line-height:1.8}
.closing .button-red{margin-top:12px;padding:15px 20px}
.closing-seal.logo-stamp{position:relative;grid-column:2;grid-row:1;right:auto;bottom:auto;justify-self:center;width:clamp(205px,20vw,260px);height:clamp(205px,20vw,260px);background:#fff;border:1px solid #a4382e!important;border-radius:50%;padding:12px!important;box-shadow:0 18px 42px #45331e24;z-index:2}
.closing-seal.logo-stamp img{border-radius:50%;object-fit:contain}
@media(max-width:700px){.closing{grid-template-columns:1fr;gap:32px;padding:70px 28px 58px;min-height:0}.closing-copy{grid-column:1;grid-row:1}.closing-seal.logo-stamp{grid-column:1;grid-row:2;width:175px;height:175px;justify-self:start;margin-left:4px}.closing h2{font-size:56px}.closing-art{opacity:.13}.closing:after{background:#e8dfcae8}}
/* El cierre toma el paisaje fotográfico del dojo de Okinawa */
.closing-art{opacity:.5}
.closing-art img{object-fit:cover;object-position:center 56%;filter:sepia(.16) saturate(.78) brightness(1.08)}
.closing:after{background:linear-gradient(90deg,#e8dfcae8 0%,#e8dfcadc 39%,#e8dfcab0 69%,#e8dfca6b 100%)}
@media(max-width:700px){.closing-art{opacity:.48}.closing-art img{object-position:38% center}.closing:after{background:linear-gradient(180deg,#e8dfcad9 0%,#e8dfcaad 48%,#e8dfcacb 100%)}}
.closing-seal.calligraphy-logo{position:relative;grid-column:2;grid-row:1;right:auto;bottom:auto;justify-self:center;width:clamp(220px,22vw,285px);height:clamp(240px,24vw,315px);overflow:hidden;z-index:2;border:0;background:transparent;box-shadow:none;transform:none}
.closing-seal.calligraphy-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
@media(max-width:700px){.closing-seal.calligraphy-logo{grid-column:1;grid-row:2;width:190px;height:205px;justify-self:start;margin-left:0}}
.closing-seal.calligraphy-logo img{-webkit-mask-image:radial-gradient(ellipse 88% 91% at 50% 50%,#000 67%,transparent 100%);mask-image:radial-gradient(ellipse 88% 91% at 50% 50%,#000 67%,transparent 100%);mix-blend-mode:normal;filter:none}

.brand .brand-motto{margin-top:2px;color:#c2a96d;font-size:8px;letter-spacing:.18em;text-transform:none;font-style:italic}
.timeline-section{background-color:var(--ink);background-image:linear-gradient(180deg,rgba(23,23,20,.9),rgba(23,23,20,.94)),url("assets/okinawa-dojo.png");background-size:cover;background-position:center 42%;background-attachment:fixed}
@media(max-width:700px){.timeline-section{background-attachment:scroll;background-position:38% center}}

/* Logos sin marcos que recorten sus trazos o el escudo */
.intro-mark i{display:none}
.intro-stamp.logo-stamp{width:170px;height:170px;border:0!important;transform:none!important;padding:0!important;overflow:visible;background:transparent}
.intro-stamp.logo-stamp img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
