@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@400;500;600;700&display=swap');
:root{--paper:#f8f4f1;--white:#fffdfb;--ink:#392f35;--muted:#74696e;--line:#e6dcd9;--coral:#ce746d;--coral-dark:#a95759;--lavender:#b9a5bd;--blush:#ecd9d5;--serif:'Noto Serif TC','Songti TC',serif;--sans:'DM Sans','Noto Sans TC',sans}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#e9b4ae;color:#31282c}.page-width{width:min(1380px,calc(100% - 100px));margin-inline:auto}.skip{position:absolute;left:-9999px;top:0;z-index:1000;background:#fff;padding:8px}.skip:focus{left:10px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(25px,4.1vw,72px);position:relative;z-index:20;background:rgba(248,244,241,.96);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{width:48px;height:48px;border:1px solid var(--coral);border-radius:50%;display:grid;place-items:center;color:var(--coral-dark);font-family:Georgia,serif;font-size:18px;letter-spacing:-4px;padding-right:4px;position:relative}.brand-mark span{position:absolute;right:-4px;top:-8px;color:var(--coral);font-size:18px;letter-spacing:0}.brand-copy{font:700 14px/1.1 var(--sans);letter-spacing:.15em}.brand-copy small{display:block;color:var(--muted);font:500 9px/1.6 var(--sans);letter-spacing:.22em;margin-top:4px}.site-header nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,38px)}.site-header nav a{font-size:14px;font-weight:600;transition:color .2s}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--coral-dark)}.site-header .nav-contact{background:var(--ink);color:#fff;padding:11px 18px;white-space:nowrap}.site-header .nav-contact:hover,.site-header .nav-contact:focus-visible{background:var(--coral-dark);color:#fff}.nav-contact span{margin-left:15px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f9f6f2 0%,#f5ece9 65%,#f0e1df 100%)}.hero-grid{min-height:660px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.hero-copy{padding:70px 0 84px;position:relative;z-index:2}.eyebrow{font:700 11px/1.3 var(--sans);letter-spacing:.19em;color:var(--coral-dark);margin:0 0 26px}.eyebrow .rule{display:inline-block;width:24px;border-top:1px solid currentColor;vertical-align:middle;margin-right:9px}.hero-intro{font-size:14px;font-weight:600;letter-spacing:.06em;margin:0 0 14px}.hero-intro span{font-weight:500;color:var(--coral-dark);margin-left:5px}.hero h1,.section h2,.contact-section h2{font-family:var(--serif);font-weight:600;letter-spacing:.035em;line-height:1.36}.hero h1{font-size:clamp(43px,4.3vw,72px);margin:0 0 25px;white-space:nowrap}.hero h1 em,.contact-section em{font-style:normal;color:var(--coral-dark)}.hero-lead{max-width:565px;color:#62595f;font-size:15px;line-height:2.05;margin:0 0 34px}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 19px;font-size:14px;font-weight:700;transition:transform .22s,background .22s,box-shadow .22s}.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:0 10px 26px #8c5f5b25}.button-solid{background:var(--coral-dark);color:#fff}.button-solid:hover{background:#914449}.text-link{border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:14px;font-weight:700}.text-link span{margin-left:32px}.hero-foot{margin-top:65px;display:flex;align-items:center;gap:18px;font-size:10px;color:#8b7d81;letter-spacing:.14em}.hero-foot-line{width:48px;height:1px;background:#beaba9}.hero-art{height:620px;position:relative;min-width:0}.hero-halo{position:absolute;width:490px;height:490px;border-radius:50%;background:#ead2cf;right:4%;top:7%}.hero-halo:before{content:'';position:absolute;inset:35px;border:1px solid #ffffff80;border-radius:50%}.hero-image{position:absolute;background:#fff;padding:9px;box-shadow:0 22px 50px #6d4b4c2e;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-image-forest{width:56%;height:45%;left:8%;top:14%;transform:rotate(-6deg)}.hero-image-travel{width:70%;height:50%;right:-3%;bottom:10%;transform:rotate(5deg)}.hero-image-travel img{object-position:left center}.hero-stamp{position:absolute;left:2%;bottom:12%;width:124px;height:124px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;gap:5px;transform:rotate(-13deg);box-shadow:0 10px 25px #ac6e6b33}.hero-stamp span{font:700 11px/1.4 var(--sans);letter-spacing:.13em}.hero-stamp b{font-size:19px}.hero-art-caption{position:absolute;right:3%;top:8%;writing-mode:vertical-rl;letter-spacing:.18em;font-size:9px;font-weight:700;color:#9e8081}.scroll-note{position:absolute;right:4%;bottom:25px;font-size:9px;letter-spacing:.17em;font-weight:700;color:#927b7d}.scroll-note span{margin-left:13px;font-size:16px}.ticker{overflow:hidden;background:var(--coral-dark);color:#fff;white-space:nowrap;font:600 11px/1 var(--sans);letter-spacing:.25em;padding:15px 0}.ticker div{width:max-content;margin:auto}.ticker span{color:#f1c4bd;margin:0 24px}.section{padding-top:110px;padding-bottom:110px;scroll-margin-top:88px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:14px}.section h2{font-size:clamp(28px,3vw,46px);margin:0}.section h2 span{color:var(--coral-dark)}.section-heading>p{width:min(350px,35%);margin:0 0 4px;color:var(--muted);font-size:14px;line-height:1.9;border-left:1px solid #d7b5b1;padding-left:22px}.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.feature-card{background:var(--white);border:1px solid var(--line)}.feature-image{height:330px;display:block;position:relative;overflow:hidden;background:#d8d0cf}.feature-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.feature-image:hover img{transform:scale(1.06)}.feature-forest .feature-image img{object-position:center}.feature-travel .feature-image img{object-position:center top}.image-arrow{position:absolute;right:20px;bottom:20px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);font-size:20px;transition:background .2s,color .2s}.feature-image:hover .image-arrow{background:var(--coral-dark);color:#fff}.feature-body{padding:28px 31px 25px}.work-meta{display:flex;justify-content:space-between;color:var(--coral-dark);font:700 10px var(--sans);letter-spacing:.13em;margin:0 0 12px}.feature-body h3{font:600 clamp(23px,2.2vw,32px)/1.45 var(--serif);margin:0 0 10px}.feature-body>p:not(.work-meta){color:var(--muted);font-size:14px;line-height:1.9;min-height:50px}.work-bottom{border-top:1px solid var(--line);padding-top:16px;margin-top:23px;display:flex;justify-content:space-between;gap:12px;font-size:13px}.work-bottom span{color:#988b8e}.work-bottom a{font-weight:700}.work-bottom a:hover{color:var(--coral-dark)}.work-disclosure,.archive-note{color:#9c8d90;font-size:11px;margin:22px 0 0}.data-section{background:#f0e8e5}.data-highlight{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;margin-bottom:26px}.data-highlight-main{min-height:375px;background:#45383e;color:#fff;padding:35px 40px;position:relative;overflow:hidden}.data-highlight-main>span{font:700 11px var(--sans);letter-spacing:.15em;color:#ebafa8}.data-highlight-main h3{font:500 34px/1.5 var(--serif);position:relative;z-index:2;margin:40px 0 9px}.data-highlight-main p{max-width:450px;color:#e4d7d9;font-size:14px;position:relative;z-index:2}.data-highlight-main a{display:inline-block;border-bottom:1px solid #ebafa8;color:#ffe5df;font-size:13px;font-weight:700;margin-top:16px;padding-bottom:5px;position:relative;z-index:2}.chart-art{position:absolute;width:55%;height:80%;right:-4%;bottom:-13%;display:flex;align-items:flex-end;gap:14px;transform:rotate(-20deg);opacity:.64}.chart-art i{flex:1;border-radius:80px 80px 0 0;background:linear-gradient(#e2a29e,#796575);height:var(--h)}.chart-art i:nth-child(1){--h:25%}.chart-art i:nth-child(2){--h:46%}.chart-art i:nth-child(3){--h:39%}.chart-art i:nth-child(4){--h:72%}.chart-art i:nth-child(5){--h:58%}.chart-art i:nth-child(6){--h:90%}.chart-art i:nth-child(7){--h:77%}.data-highlight-aside{background:#dbc5c3;padding:32px 36px;display:flex;flex-direction:column;align-items:flex-start}.big-number{font:400 110px/1 Georgia,serif;color:#fff8f3}.data-highlight-aside p:first-of-type{font-size:11px;letter-spacing:.17em;font-weight:700;margin:8px 0 16px}.data-highlight-aside p:nth-of-type(2){font-size:14px;line-height:1.9;max-width:280px}.data-highlight-aside a{margin-top:auto;border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:13px;font-weight:700}.data-list{border-top:1px solid #cdbfbd}.data-item{display:grid;grid-template-columns:55px 1fr 130px 30px;gap:15px;align-items:center;border-bottom:1px solid #cdbfbd;padding:18px 12px;transition:background .2s,padding .2s}.data-item:hover,.data-item:focus-visible{background:#fffaf6;padding-left:22px}.data-no{font:500 20px Georgia,serif;color:var(--coral-dark)}.data-item-main b{display:block;font:600 17px/1.4 var(--serif)}.data-item-main small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.data-tag{font-size:10px;letter-spacing:.11em;color:#9c7377}.data-arrow{font-size:21px}.data-item.is-extra{display:none}.data-list.expanded .data-item.is-extra{display:grid}.show-more{display:block;border:1px solid #a88d91;background:transparent;color:var(--ink);font-size:13px;font-weight:700;padding:10px 24px;margin:25px auto 0;cursor:pointer;transition:background .2s,color .2s}.show-more:hover{background:var(--ink);color:#fff}.show-more span{margin-left:10px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.archive-grid figure{margin:0;min-width:0}.archive-grid figure>div{aspect-ratio:1.5;background:#eee7e4;padding:18px;display:grid;place-items:center;overflow:hidden}.archive-grid img{width:100%;height:100%;object-fit:contain;filter:saturate(.9);transition:transform .3s}.archive-grid figure:hover img{transform:scale(1.045)}.archive-grid figcaption{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:13px}.archive-grid b{font-size:14px}.archive-grid span{font-size:10px;color:#9b8d90;text-align:right}.about-section{background:var(--white)}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px}.about-title{position:relative;overflow:hidden}.about-title .eyebrow{margin-bottom:17px}.about-title h2{position:relative;z-index:1}.about-monogram{display:block;font:400 clamp(180px,22vw,330px)/1 Georgia,serif;color:#f6eae7;letter-spacing:-.1em;margin-top:34px;white-space:nowrap}.about-monogram span{font-size:.4em;color:#e8d5d5;vertical-align:middle}.about-content{padding-top:39px}.about-lead{font:500 19px/2 var(--serif);margin:0 0 36px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);padding-top:20px}.about-columns h3{font-size:14px;margin:0 0 10px;color:var(--coral-dark)}.about-columns p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.skill-tags span{font-size:11px;border:1px solid #d9cbc9;padding:6px 11px;color:#776a6d}.contact-section{background:#c97770;color:#fff;padding:78px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:end}.contact-section .eyebrow{color:#ffe3db;margin-bottom:17px}.contact-section h2{font-size:clamp(36px,4vw,60px);margin:0}.contact-section em{color:#ffe7df}.contact-grid>div:last-child{padding-bottom:5px}.contact-grid>div:last-child p{font-size:14px;margin:0 0 16px}.contact-email{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffffa8;font:600 clamp(18px,2.1vw,29px)/1.5 var(--sans);padding-bottom:12px;word-break:break-word}.contact-email:hover{color:#ffe9dd}.contact-links{display:flex;gap:27px;margin-top:22px}.contact-links a{font:700 10px var(--sans);letter-spacing:.12em}.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:70px;font-size:10px;color:#948688;letter-spacing:.1em}.site-footer a{color:var(--ink);font-weight:700}
@media(max-width:1100px){.page-width{width:calc(100% - 70px)}.hero-grid{min-height:620px}.hero h1{font-size:clamp(38px,4.2vw,58px)}.hero-art{height:540px}.hero-stamp{width:100px;height:100px}.site-header nav{gap:15px}.site-header nav a{font-size:13px}.archive-grid{gap:18px}.archive-grid figcaption{display:block}.archive-grid span{display:block;text-align:left}}
@media(max-width:760px){.page-width{width:calc(100% - 38px)}.site-header{height:72px;padding:0 19px}.brand-mark{width:42px;height:42px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:0;background:none;width:38px;height:38px;cursor:pointer}.menu-toggle span{height:1px;width:22px;background:var(--ink)}.site-header nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 15px 20px #3b252010}.site-header nav.open{display:flex}.site-header .nav-contact{align-self:flex-start}.hero-grid{display:flex;flex-direction:column;min-height:0;gap:0}.hero-copy{padding:58px 0 0}.hero h1{font-size:clamp(39px,9vw,61px)}.hero-lead{font-size:14px}.hero-foot{display:none}.hero-art{height:410px;width:100%;margin-top:0}.hero-halo{width:330px;height:330px;right:9%;top:6%}.hero-image-forest{left:4%;top:11%;width:58%;height:49%}.hero-image-travel{right:1%;bottom:12%;width:68%;height:44%}.hero-stamp{left:3%;bottom:10%;width:76px;height:76px}.hero-stamp span{font-size:8px}.hero-stamp b{font-size:14px}.hero-art-caption{right:1%;top:9%;font-size:7px}.scroll-note{display:none}.section{padding-top:72px;padding-bottom:72px}.section-heading{display:block;margin-bottom:28px}.section h2{font-size:clamp(27px,7vw,37px)}.section-heading>p{width:auto;max-width:560px;margin:18px 0 0;padding-left:15px}.featured-grid,.data-highlight,.about-grid,.contact-grid{grid-template-columns:1fr}.feature-image{height:250px}.feature-body{padding:23px}.data-highlight-main{min-height:330px}.data-highlight-aside{min-height:250px}.big-number{font-size:85px}.archive-grid{grid-template-columns:repeat(2,1fr);gap:18px}.archive-grid figure>div{padding:10px}.about-grid{gap:0}.about-content{padding-top:15px}.about-monogram{display:none}.contact-grid{gap:25px}.site-footer{flex-wrap:wrap;padding:20px 0}.ticker{font-size:9px}}
@media(max-width:480px){.hero h1{white-space:normal;font-size:clamp(36px,9vw,44px)}.hero-art{height:300px}.hero-halo{width:235px;height:235px}.hero-image{padding:5px}.hero-stamp{width:65px;height:65px;bottom:6%}.hero-actions{gap:21px}.button{gap:18px}.text-link span{margin-left:12px}.archive-grid{gap:13px}.archive-grid figcaption{padding-top:8px}.archive-grid b{font-size:11px}.archive-grid span{font-size:9px}.data-item{grid-template-columns:32px 1fr 18px;gap:8px;padding:13px 3px}.data-no{font-size:16px}.data-item-main b{font-size:14px}.data-item-main small{font-size:11px}.data-tag{display:none}.data-arrow{font-size:17px}.about-columns{grid-template-columns:1fr}.contact-section{padding:63px 0}.contact-email{font-size:18px}.site-footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Portfolio update: typographic cover and dedicated inner pages */
.site-header nav a[aria-current="page"]{color:var(--coral-dark)}
.hero-art-typographic{isolation:isolate}.hero-art-typographic .hero-halo{width:510px;height:510px;right:1%;top:8%;background:radial-gradient(circle at 35% 30%,#f2ded9,#e7c8c5 65%,#e6cbd0)}.hero-art-typographic .hero-halo:before{inset:28px}.hero-art-initial{position:absolute;z-index:1;left:5%;top:19%;font:400 clamp(135px,19vw,290px)/1 Georgia,serif;color:#fff8f4;letter-spacing:-.12em;white-space:nowrap;text-shadow:0 5px 20px #b77f8222}.hero-art-initial span{font-size:.38em;color:#cf8b88;vertical-align:middle}.hero-art-word{position:absolute;z-index:2;font:600 clamp(25px,4vw,58px)/1.1 var(--serif);letter-spacing:.12em;white-space:nowrap}.hero-art-word-one{top:21%;left:20%;color:#6e4d59;transform:rotate(-6deg)}.hero-art-word-two{top:57%;right:4%;color:#fffaf7;transform:rotate(5deg);text-shadow:0 2px 12px #8f606566}.hero-art-line{position:absolute;left:19%;right:8%;top:52%;height:1px;background:#fff9f3;transform:rotate(-14deg)}.hero-art-small{position:absolute;left:22%;bottom:17%;font:700 11px/1.7 var(--sans);letter-spacing:.18em;color:#8c6975}.hero-art-typographic .hero-stamp{left:2%;bottom:8%;z-index:3}.hero-art-typographic .hero-art-caption{right:0}.about-preview{padding-block:82px}.about-preview .about-monogram{font-size:clamp(125px,15vw,230px);margin-top:5px}.about-preview .about-content{padding-top:33px}.about-preview .about-lead{font-size:17px;line-height:1.85;margin-bottom:25px}.about-summary{padding-top:18px}.about-more{display:inline-flex;justify-content:space-between;gap:30px;margin-top:25px;border-bottom:1px solid var(--coral-dark);padding-bottom:7px;color:var(--coral-dark);font-size:14px;font-weight:700}.about-more:hover{color:var(--ink)}.credential-strip{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:30px;border-top:1px solid var(--line);padding-top:16px}.credential-strip span{font-size:9px;letter-spacing:.14em;color:#9b878d}.credential-strip b{font-size:11px;font-weight:600;border:1px solid #dfc9c7;color:#8c676c;padding:5px 9px}.show-more{width:max-content;text-decoration:none}.show-more:hover{color:#fff}
.inner-hero{background:linear-gradient(120deg,#f8f4f1,#f1e4e2);overflow:hidden}.inner-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;min-height:425px;align-items:center;gap:50px;padding-block:70px}.inner-hero h1{font:600 clamp(38px,4.4vw,65px)/1.4 var(--serif);letter-spacing:.04em;margin:0 0 23px}.inner-hero h1 em{font-style:normal;color:var(--coral-dark)}.inner-hero-grid>div:first-child>p:last-child{max-width:650px;color:var(--muted);font-size:14px;line-height:2}.inner-hero-number{font:400 clamp(160px,19vw,290px)/.8 Georgia,serif;color:#ddc5c3;text-align:right;letter-spacing:-.08em}.inner-hero-number span{display:block;font:700 14px var(--sans);letter-spacing:.29em;color:var(--coral-dark);margin-top:22px}.inner-hero-monogram{font:400 clamp(150px,19vw,290px)/1 Georgia,serif;letter-spacing:-.13em;color:#ddc5c3;text-align:center;white-space:nowrap}.inner-hero-monogram span{font-size:.33em;vertical-align:middle;color:#bd8d96}.projects-section{padding-block:85px}.projects-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:var(--white);border:1px solid var(--line);padding:28px;min-height:285px;display:flex;flex-direction:column;scroll-margin-top:35px;transition:transform .22s,box-shadow .22s}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #98777a17}.project-card-top{display:flex;justify-content:space-between;color:var(--coral-dark);font-size:10px;font-weight:700;letter-spacing:.12em}.project-card-top span:last-child{font-size:18px;line-height:1}.project-card h2{font:600 21px/1.5 var(--serif);margin:23px 0 10px}.project-card p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 20px}.project-card a{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;font-size:13px;font-weight:700}.project-card a:hover{color:var(--coral-dark)}.project-end{background:#eee0dc;padding:60px 0}.project-end-grid{display:flex;justify-content:space-between;align-items:center;gap:25px}.project-end h2{font:600 clamp(26px,2.7vw,40px)/1.5 var(--serif);margin:0}.project-end h2 span{color:var(--coral-dark)}
.story-section{padding-block:85px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line);padding-top:24px}.story-grid p{font:400 16px/2.1 var(--serif);color:#665a60;margin:0}.timeline-section{background:#f0e8e5;padding-block:85px}.timeline{border-top:1px solid #d4c1c0}.timeline article{display:grid;grid-template-columns:240px 1fr;gap:30px;border-bottom:1px solid #d4c1c0;padding:21px 12px}.timeline time{font:700 13px var(--sans);color:var(--coral-dark);letter-spacing:.08em;padding-top:8px}.timeline h3{font:600 19px/1.5 var(--serif);margin:0}.timeline h3 span{font:500 14px var(--sans);color:#837479}.timeline p{font-size:14px;color:var(--muted);margin:7px 0 0}.learning-section{padding-block:85px}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.learning-grid article{background:var(--white);border:1px solid var(--line);padding:30px}.learning-grid article>span{font-size:10px;letter-spacing:.15em;color:var(--coral-dark);font-weight:700}.learning-grid h3{font:600 25px var(--serif);margin:13px 0 20px}.learning-grid p{font-size:14px;color:var(--muted);line-height:2}.learning-grid b{color:var(--ink)}.learning-grid .learning-note{font-size:11px;color:#9c8d90}.credentials-section{background:#fffdfb;padding-block:85px}.credential-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.credential-cards article{border:1px solid #ddc9c9;padding:27px;display:flex;align-items:center;gap:23px;background:linear-gradient(125deg,#fbf7f4,#f4e9e6)}.credential-icon{width:88px;height:88px;flex:none;display:grid;place-items:center;border:1px solid #c98e91;border-radius:50%;color:var(--coral-dark);font:500 27px Georgia,serif}.credential-cards p{font-size:9px;letter-spacing:.16em;color:var(--coral-dark);margin:0}.credential-cards h3{font:600 22px var(--serif);margin:6px 0}.credential-cards div>span{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.projects-gallery{grid-template-columns:repeat(2,1fr)}.hero-art-initial{top:24%}.hero-art-word-one{left:14%}}
@media(max-width:760px){.hero-art-typographic{height:300px;margin-top:10px}.hero-art-typographic .hero-halo{width:290px;height:290px;right:8%;top:2%}.hero-art-initial{font-size:170px;top:16%;left:14%}.hero-art-word{font-size:31px}.hero-art-word-one{top:20%;left:24%}.hero-art-word-two{top:58%;right:10%}.hero-art-small{bottom:12%;left:25%;font-size:8px}.hero-art-typographic .hero-stamp{left:5%;bottom:5%}.about-preview{padding-block:65px}.about-preview .about-content{padding-top:0}.credential-strip{gap:8px}.inner-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:65px;gap:10px}.inner-hero-number,.inner-hero-monogram{display:none}.inner-hero h1{font-size:clamp(34px,7vw,48px)}.projects-gallery,.story-grid,.learning-grid,.credential-cards{grid-template-columns:1fr}.project-card{min-height:245px}.timeline article{grid-template-columns:1fr;gap:4px}.timeline time{padding-top:0}.project-end-grid{display:block}.project-end .button{margin-top:22px}.story-grid{gap:18px}.story-grid p{font-size:14px}}
@media(max-width:480px){.hero-art-typographic{height:260px}.hero-art-typographic .hero-halo{width:245px;height:245px;right:4%}.hero-art-initial{font-size:125px;top:28%;left:12%}.hero-art-word{font-size:24px}.hero-art-word-one{left:25%;top:21%}.hero-art-word-two{top:58%;right:2%}.hero-art-small{left:32%;bottom:10%;font-size:7px}.hero-art-typographic .hero-stamp{width:60px;height:60px;bottom:8%}.credential-cards article{padding:18px;gap:14px}.credential-icon{width:66px;height:66px;font-size:22px}.credential-cards h3{font-size:17px}}
.credential-cards article{display:block;padding:12px;background:#fffdfb}.credential-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1.36;background:#f6f1ef;overflow:hidden}.credential-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.credential-image:hover img,.credential-image:focus-visible img{transform:scale(1.02)}.credential-info{display:flex;align-items:center;gap:20px;padding:18px 10px 8px}.credential-info .credential-icon{width:66px;height:66px;font-size:22px}.credential-info h3{margin:4px 0}
@media(max-width:480px){.credential-cards article{padding:8px}.credential-info{gap:12px;padding:15px 6px 6px}.credential-info .credential-icon{width:56px;height:56px;font-size:18px}}

/* Detailed data and automation portfolio */
.projects-section{padding-top:78px}.project-jump{display:flex;flex-wrap:wrap;gap:8px;margin:-5px 0 42px}.project-jump a{border:1px solid #d8c6c5;background:#fffaf8;color:#765d63;padding:8px 13px;font-size:11px;font-weight:700;transition:background .2s,color .2s}.project-jump a:hover,.project-jump a:focus-visible{background:var(--coral-dark);color:#fff}.projects-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.project-phase{grid-column:1/-1;display:flex;align-items:baseline;gap:22px;border-bottom:1px solid #d5c4c2;padding:20px 0 13px;margin-top:22px;scroll-margin-top:25px}.project-phase:first-child{margin-top:0}.project-phase span{font:700 11px var(--sans);letter-spacing:.14em;color:var(--coral-dark)}.project-phase h2{font:600 clamp(21px,2vw,28px)/1.4 var(--serif);margin:0}.project-entry{background:var(--white);border:1px solid var(--line);padding:30px;min-width:0;scroll-margin-top:30px;display:flex;flex-direction:column}.project-entry.has-media{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:28px}.project-entry-main{display:flex;flex-direction:column;min-width:0}.project-entry-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.project-index{font:400 38px/1 Georgia,serif;color:var(--coral-dark)}.project-type{font-size:10px;font-weight:700;letter-spacing:.13em;color:#9d727b}.project-entry h3{font:600 clamp(21px,2.1vw,30px)/1.45 var(--serif);margin:18px 0 12px}.project-description{font-size:14px;line-height:1.95;color:#655c62;margin:0 0 19px}.project-tools{border-top:1px solid var(--line);padding:13px 0;display:flex;gap:20px;font-size:13px;line-height:1.7}.project-tools b{color:var(--coral-dark);white-space:nowrap}.project-tools span{color:#706368}.project-note{background:#f6eae7;border-left:2px solid var(--coral);padding:12px 15px;margin:0 0 16px;font-size:11px;line-height:1.8;color:#65565d}.project-note b{display:block;color:var(--coral-dark);font-size:11px;letter-spacing:.06em;margin-bottom:2px}.project-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:16px}.project-actions a,.project-actions button{appearance:none;border:1px solid #c9adae;background:transparent;color:#694d55;padding:9px 12px;font-size:11px;font-weight:700;line-height:1.5;cursor:pointer;text-align:left;transition:background .2s,color .2s}.project-actions a:first-child{background:var(--coral-dark);border-color:var(--coral-dark);color:#fff}.project-actions a:hover,.project-actions a:focus-visible,.project-actions button:hover,.project-actions button:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}.project-actions span{margin-left:10px}.project-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;min-width:0}.project-images:has(figure:only-child){grid-template-columns:1fr}.project-images figure{margin:0;min-width:0;display:flex;flex-direction:column;background:#f0e9e8;border:1px solid #eadfdc;padding:7px}.project-images img{width:100%;height:240px;object-fit:contain;background:#fff}.project-images:has(figure:only-child) img{height:295px}.project-images figcaption{font-size:10px;line-height:1.5;color:#8d7b80;padding:8px 4px 2px}.projects-disclaimer{color:#96878b;font-size:11px;margin:26px 0 0}#project-11{grid-column:1/-1;background:linear-gradient(125deg,#fffdfb,#f4e6e4)}#project-11 .project-entry-main{max-width:850px}
.line-qr-dialog{width:min(450px,calc(100% - 30px));max-height:calc(100% - 30px);border:0;background:#fffdfb;box-shadow:0 22px 70px #3f303960;padding:28px;text-align:center;color:var(--ink)}.line-qr-dialog::backdrop{background:#30282bbd}.line-qr-dialog .dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:var(--muted);font-size:28px;width:38px;height:38px;cursor:pointer}.line-qr-dialog .eyebrow{margin:3px 0 10px}.line-qr-dialog h2{font:600 21px/1.5 var(--serif);margin:0 0 14px}.line-qr-dialog img{width:min(240px,65vw);height:auto;margin:auto;border:9px solid #fff;box-shadow:0 0 0 1px var(--line)}.line-qr-dialog p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8}.line-qr-dialog>a{display:inline-block;background:var(--coral-dark);color:#fff;padding:10px 16px;font-size:13px;font-weight:700}
@media(max-width:850px){.project-entry.has-media{grid-template-columns:1fr}.project-images img{height:210px}.project-images:has(figure:only-child) img{height:280px}}
@media(max-width:650px){.projects-gallery{grid-template-columns:1fr}.project-entry.has-media,#project-11,.project-phase{grid-column:1}.project-entry{padding:22px}.project-phase{display:block}.project-phase h2{margin-top:7px}.project-images{grid-template-columns:1fr}.project-images img,.project-images:has(figure:only-child) img{height:auto;max-height:290px}.project-jump{gap:6px}.project-jump a{font-size:10px;padding:7px 9px}}

/* 2026 portfolio refinement: a compact first impression and consistent chapters. */
.site-header{height:78px}.brand-mark{width:50px;height:50px;padding:0;letter-spacing:0;border:1px solid #c47372;background:#fff9f6;box-shadow:inset 0 0 0 4px #fff9f6,inset 0 0 0 5px #e5b4ae}.brand-mark:before{content:'';position:absolute;inset:-4px;border:1px solid #e6b8b1;border-radius:50%;clip-path:polygon(0 0,80% 0,80% 100%,0 100%)}.brand-mark .brand-initials{position:static;display:block;font:500 19px/1 Georgia,serif;color:#a95053;letter-spacing:-.11em;transform:translateX(-1px)}.brand-mark .brand-initials span{position:static;font:inherit;letter-spacing:inherit;color:inherit}.brand-mark i{position:absolute;right:-8px;top:-10px;font:normal 14px/1 Georgia,serif;color:#cf7771;background:var(--paper);padding:2px}.brand-copy{font-size:15px}.brand-copy small{font-size:9.5px}.site-header nav{gap:clamp(14px,2vw,28px)}.site-header nav a{font-size:14px;white-space:nowrap}
.hero-grid{min-height:510px;grid-template-columns:1.08fr .92fr;gap:55px}.hero-copy{padding:48px 0}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(39px,3.7vw,59px);line-height:1.31;margin-bottom:17px}.hero-lead{font-size:14px;line-height:1.85;margin-bottom:25px}.hero-aside{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:28px 0 25px;min-width:0}.hero-aside .hero-art{height:235px;flex:none}.hero-aside .hero-halo{width:215px;height:215px;right:8%;top:0}.hero-aside .hero-halo:before{inset:18px}.hero-aside .hero-art-initial{font-size:clamp(105px,11vw,165px);left:12%;top:12%}.hero-aside .hero-art-word{font-size:clamp(24px,2.8vw,40px)}.hero-aside .hero-art-word-one{top:14%;left:24%}.hero-aside .hero-art-word-two{top:57%;right:5%}.hero-aside .hero-art-line{top:48%}.hero-bio{border-top:1px solid #d9b9b6;padding-top:20px;max-width:520px}.hero-bio>span{font:700 10px/1.5 var(--sans);letter-spacing:.17em;color:var(--coral-dark)}.hero-bio p{font:400 15px/1.8 var(--serif);margin:9px 0 16px}.hero-bio>div{display:flex;gap:20px;flex-wrap:wrap}.hero-bio a{font:700 11px/1.4 var(--sans);border-bottom:1px solid #bd7a79;padding-bottom:5px;color:#a45558}.hero-bio a:hover{color:var(--ink)}
.selected,.data-section,.archive-preview{padding-block:72px}.archive-preview{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.archive-preview .eyebrow{margin-bottom:17px}.archive-preview h2{font-size:clamp(31px,3.1vw,46px);margin:0 0 17px}.archive-preview h2 span{color:var(--coral-dark)}.archive-preview p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:14px;line-height:1.9}.archive-preview-images{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:center}.archive-preview-images img{width:100%;height:190px;object-fit:contain;background:#eee5e2;padding:10px;box-shadow:0 10px 30px #76525415}.archive-preview-images img:last-child{height:150px;transform:translateY(25px)}
.compact-hero .inner-hero-grid{min-height:0;padding-block:37px;grid-template-columns:1fr auto;gap:45px}.compact-hero .eyebrow{margin-bottom:11px}.compact-hero h1{font-size:clamp(32px,3.2vw,48px);line-height:1.3;margin-bottom:10px}.compact-hero .inner-hero-grid>div:first-child>p:last-child{max-width:880px;line-height:1.75;margin:0}.compact-hero-aside{display:flex;gap:11px;align-items:center;color:#cda8a7;font:700 11px var(--sans);letter-spacing:.13em;white-space:nowrap}.compact-hero-aside b{font:400 82px/.9 Georgia,serif;color:#d6baba;letter-spacing:-.08em}.compact-hero-aside span{writing-mode:vertical-rl}.projects-section{padding-block:32px 75px}.projects-section .project-jump{margin-top:0}.archive-page-section,.credentials-section,.timeline-section,.learning-section,.story-section{padding-block:68px}.archive-page-section .archive-grid figure>div{aspect-ratio:1.58}.archive-page-section .archive-grid img{filter:none}
.timeline{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.timeline article{grid-template-columns:1fr;padding:16px 0;gap:4px}.timeline time{padding:0}.timeline h3{font-size:17px}.timeline p{margin-top:4px}.career-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.career-preview figure{margin:0;background:#fff9f6;border:1px solid #ddcbc8;padding:9px}.career-preview img{width:100%;height:135px;object-fit:contain;background:#eee7e4}.career-preview figcaption{padding:7px 4px 1px;font-size:11px;color:#927b7d}.career-preview-note{font-size:11px;color:#907d80;margin:10px 0 0}.career-preview-note a,.inline-arrow{color:var(--coral-dark);font-weight:700;border-bottom:1px solid currentColor}.story-section{background:#fffdfb}.story-grid{gap:35px}.story-grid p{font-size:15px;line-height:1.9}.learning-grid article{padding:25px}.credentials-section{scroll-margin-top:25px}
@media(max-width:1100px){.site-header nav a{font-size:14px}.hero-grid{gap:25px}.hero h1{font-size:clamp(37px,4vw,51px)}}
@media(max-width:1020px){.site-header{height:74px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:0;background:none;width:38px;height:38px;cursor:pointer}.menu-toggle span{height:1px;width:22px;background:var(--ink)}.site-header nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:15px;box-shadow:0 15px 20px #3b252010}.site-header nav.open{display:flex}}
@media(max-width:760px){.hero-grid{min-height:0;gap:0}.hero-copy{padding:42px 0 15px}.hero h1{font-size:clamp(36px,7vw,53px)}.hero-aside{width:100%;padding:0 0 30px}.hero-aside .hero-art{height:155px;margin:0}.hero-aside .hero-halo{width:150px;height:150px;right:16%}.hero-aside .hero-art-initial{font-size:95px;left:22%;top:6%}.hero-aside .hero-art-word{font-size:25px}.hero-bio{padding-top:14px}.hero-bio p{font-size:14px;margin-bottom:12px}.selected,.data-section,.archive-preview{padding-block:60px}.archive-preview{grid-template-columns:1fr;gap:18px}.archive-preview-images img{height:140px}.archive-preview-images img:last-child{height:120px;transform:none}.compact-hero .inner-hero-grid{grid-template-columns:1fr;gap:0;padding-block:28px}.compact-hero-aside{display:none}.compact-hero h1{font-size:clamp(31px,6.5vw,42px)}.timeline{grid-template-columns:1fr}.career-preview{grid-template-columns:repeat(3,1fr);gap:7px}.career-preview figure{padding:5px}.career-preview img{height:90px}.career-preview figcaption{font-size:9px}.archive-page-section,.credentials-section,.timeline-section,.learning-section,.story-section{padding-block:55px}}
@media(max-width:480px){.brand-mark{width:42px;height:42px}.brand-copy{font-size:14px}.brand-copy small{font-size:8px}.hero h1{font-size:clamp(34px,8.5vw,42px)}.hero-aside .hero-art{height:130px}.hero-aside .hero-halo{width:125px;height:125px}.hero-aside .hero-art-initial{font-size:77px}.hero-aside .hero-art-word{font-size:20px}.hero-aside .hero-art-word-two{right:12%}.hero-bio>div{gap:11px}.hero-bio a{font-size:10px}.career-preview img{height:70px}.archive-page-section .archive-grid{grid-template-columns:1fr 1fr}.archive-page-section .archive-grid figure>div{padding:6px}.archive-page-section .archive-grid figcaption{display:block}}

/* Home: three featured data / automation stories, then compact analysis links. */
.data-feature-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid #cebebb;padding:17px 0 18px}.data-feature-heading span,.data-more-heading span{font:700 10px/1.4 var(--sans);letter-spacing:.18em;color:var(--coral-dark)}.data-feature-heading p{font-size:13px;color:var(--muted);margin:0}.data-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.data-feature-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:335px;padding:27px 29px 24px;border:1px solid #d2c1be;background:#fffaf7;transition:transform .22s,box-shadow .22s}.data-feature-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #6850531b}.data-feature-line{background:#45383e;color:#fff;border-color:#45383e}.data-feature-flow{background:#dfcdcf}.data-feature-dashboard{background:#f7f0eb}.data-feature-meta{font:700 10px/1.5 var(--sans);letter-spacing:.14em;color:#a85459}.data-feature-line .data-feature-meta{color:#e8aba7}.data-feature-card h3{font:600 clamp(21px,2vw,29px)/1.4 var(--serif);margin:11px 0 9px;position:relative}.data-feature-card p{font-size:13px;line-height:1.8;color:#6a5e62;margin:0 0 20px;max-width:330px;position:relative}.data-feature-line p{color:#eadedf}.data-feature-card a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ae989a;padding-top:12px;margin-top:auto;font-size:13px;font-weight:700;position:relative}.data-feature-card a:hover,.data-feature-card a:focus-visible{text-decoration:underline;text-underline-offset:4px}.data-feature-line a{border-color:#9f888d;color:#ffe9e4}.data-feature-card a span{font-size:19px;line-height:1}.data-feature-symbol{height:92px;position:relative;display:flex;align-items:center;justify-content:center;margin:0 0 12px}.data-feature-line .data-feature-symbol{width:106px;height:80px;border:1px solid #b17f84;border-radius:50%;background:#675259;color:#fff}.data-feature-line .data-feature-symbol span{font:700 18px/1 var(--sans);letter-spacing:.04em}.data-feature-line .data-feature-symbol i{position:absolute;right:-8px;top:-4px;color:#eaa39e;font:normal 18px Georgia,serif}.data-flow-symbol{justify-content:flex-start;gap:15px;padding-left:11px}.data-flow-symbol:before{content:'';position:absolute;left:16px;right:18px;top:47px;height:1px;background:#a36f79}.data-flow-symbol i{position:relative;width:26px;height:26px;background:#fff7f4;border:1px solid #a96f79;border-radius:50%}.data-flow-symbol i:nth-child(2){background:#af7f88}.data-flow-symbol i:nth-child(3){background:#fff7f4}.data-flow-symbol i:nth-child(4){background:#805d69}.data-chart-symbol{align-items:flex-end;justify-content:flex-start;gap:10px;padding-left:16px;padding-bottom:6px}.data-chart-symbol i{width:24px;background:#bc8d91;border-radius:3px 3px 0 0}.data-chart-symbol i:nth-child(1){height:29px}.data-chart-symbol i:nth-child(2){height:47px;background:#d2a6a2}.data-chart-symbol i:nth-child(3){height:38px}.data-chart-symbol i:nth-child(4){height:68px;background:#91666c}.data-more-row{display:grid;grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:34px;align-items:start;border-top:1px solid #cebebb;margin-top:27px;padding-top:22px}.data-more-heading h3{font:600 23px/1.4 var(--serif);margin:7px 0 0}.data-mini-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.data-mini-item{display:flex;align-items:flex-start;gap:8px;min-height:70px;border:1px solid #d7c5c2;background:#f9f4f1;padding:12px 11px;transition:background .2s,border-color .2s}.data-mini-item:hover,.data-mini-item:focus-visible{background:#fffdfb;border-color:#b7797b}.data-mini-item span{font:600 15px/1.3 Georgia,serif;color:var(--coral-dark)}.data-mini-item b{font:600 13px/1.55 var(--serif);flex:1}.data-mini-item i{font:normal 15px/1 var(--sans);color:var(--coral-dark)}.data-all-link{display:flex;justify-content:space-between;align-items:center;gap:25px;width:max-content;max-width:100%;margin:24px 0 0 auto;background:#a95759;color:#fff;padding:11px 16px;font-size:13px;font-weight:700;transition:background .2s}.data-all-link:hover,.data-all-link:focus-visible{background:#45383e}.data-all-link span{font-size:17px;line-height:1}
@media(max-width:1000px){.data-feature-card{padding:23px 21px;min-height:340px}.data-feature-card h3{font-size:22px}.data-mini-list{grid-template-columns:1fr}.data-mini-item{min-height:0;align-items:center}.data-more-row{grid-template-columns:220px 1fr}}
@media(max-width:760px){.data-feature-grid{grid-template-columns:1fr 1fr}.data-feature-line{grid-column:1/-1}.data-feature-card{min-height:290px}.data-feature-line{min-height:290px}.data-feature-heading{display:block}.data-feature-heading p{margin-top:8px}.data-more-row{grid-template-columns:1fr;gap:15px}.data-mini-list{grid-template-columns:1fr 1fr}.data-mini-item:last-child{grid-column:1/-1}}
@media(max-width:540px){.data-feature-grid,.data-mini-list{grid-template-columns:1fr}.data-feature-line,.data-mini-item:last-child{grid-column:auto}.data-feature-card{min-height:0}.data-feature-symbol{height:67px}.data-feature-line .data-feature-symbol{height:66px;width:95px}.data-feature-card p{margin-bottom:18px}.data-mini-item{min-height:0}.data-all-link{width:100%}}

/* Four concise links share one row on wide screens. */
.data-more-row{display:block;padding-top:17px;margin-top:28px}.data-more-heading{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.data-more-heading h3{font-size:20px;margin:0}.data-more-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(225px,.95fr);gap:10px;align-items:stretch}.data-mini-list{display:contents}.data-mini-item{min-height:60px;align-items:center;padding:11px 12px}.data-mini-item b{font-size:11px}.data-all-link{width:auto;max-width:none;min-height:60px;margin:0;padding:11px 14px}
@media(max-width:1100px){.data-more-links{grid-template-columns:repeat(2,minmax(0,1fr))}.data-mini-item{min-height:58px}}
@media(max-width:540px){.data-more-heading{display:block}.data-more-heading h3{margin-top:5px}.data-more-links{grid-template-columns:1fr}.data-all-link{min-height:55px}}

/* Archive: one editorial page title and quiet index-style chapter labels. */
.archive-editorial-intro{background:#f5eeeb;border-bottom:1px solid #dfd0cc;padding:54px 0 30px}.archive-kicker{display:flex;align-items:center;gap:10px;margin:0 0 20px;font:700 11px/1.4 var(--sans);letter-spacing:.18em;color:#9c686d}.archive-kicker:before{content:'';width:28px;height:1px;background:#b16d70}.archive-kicker span{color:var(--ink)}.archive-editorial-intro h1{font:500 clamp(46px,5.8vw,82px)/1.2 var(--serif);letter-spacing:.055em;margin:0 0 31px;color:var(--ink)}.archive-editorial-intro h1 small{display:inline-block;vertical-align:.12em;margin:0 .45em;font:400 .34em/1 var(--serif);color:#b47173}.archive-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;border-top:1px solid #d7c7c4;padding-top:19px}.archive-intro-bottom p{font:400 15px/1.8 var(--serif);color:#66585e;margin:0}.archive-intro-bottom nav{display:flex;gap:22px;align-items:center;flex:none}.archive-intro-bottom nav a{font-size:13px;font-weight:700;border-bottom:1px solid #bb9492;padding-bottom:5px}.archive-intro-bottom nav a:hover,.archive-intro-bottom nav a:focus-visible{color:var(--coral-dark)}.archive-intro-bottom nav span{font:600 14px Georgia,serif;color:var(--coral-dark);margin-right:6px}.archive-page-section{padding-top:42px}.archive-chapter-head{border-top:1px solid #b98787;padding:15px 0 22px;margin-bottom:12px}.archive-chapter-head>div{display:flex;align-items:baseline;gap:20px}.archive-chapter-head span{font:700 10px/1.5 var(--sans);letter-spacing:.16em;color:var(--coral-dark)}.archive-chapter-head h2{font:600 25px/1.5 var(--serif);letter-spacing:.03em;color:var(--ink);margin:0}.archive-chapter-head p{max-width:730px;margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.75}.archive-page-section .archive-grid figure>div{background:#eee8e4}.credentials-section .archive-chapter-head{margin-bottom:21px}
@media(max-width:760px){.archive-editorial-intro{padding:37px 0 25px}.archive-editorial-intro h1{font-size:clamp(39px,8vw,57px);margin-bottom:22px}.archive-intro-bottom{display:block}.archive-intro-bottom p{font-size:14px}.archive-intro-bottom nav{justify-content:flex-start;margin-top:16px;gap:18px}.archive-page-section{padding-top:31px}.archive-chapter-head>div{display:block}.archive-chapter-head h2{font-size:22px;margin-top:3px}.archive-chapter-head p{font-size:13px}}
@media(max-width:430px){.archive-editorial-intro h1{font-size:36px}.archive-editorial-intro h1 small{margin:0 .2em}.archive-intro-bottom nav a{font-size:11px}}

/* Portfolio title system: an editorial index, distinct from the travel site's split bilingual headings. */
.section-heading{display:block;border-top:1px solid #cdbebc;padding-top:20px;margin-bottom:31px}.section-heading .eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:.18em;margin:0 0 11px}.section-heading .eyebrow:before{content:'';display:block;width:18px;height:2px;background:#b46b6d}.section-heading h2{font-family:var(--sans);font-size:clamp(27px,2.6vw,39px);font-weight:600;letter-spacing:-.04em;line-height:1.35;color:var(--ink);margin:0}.section-heading h2 span,.section h2 span{color:inherit}.section-heading>p{width:auto;max-width:720px;border:0;padding:0;margin:12px 0 0;font-size:14px;line-height:1.8;color:#796a6e}.selected .section-heading,.data-section .section-heading{margin-bottom:28px}.archive-preview{border-top:1px solid #cdbebc}.archive-preview .eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;margin-bottom:12px}.archive-preview .eyebrow:before{content:'';width:18px;height:2px;background:#b46b6d}.archive-preview h2{font-family:var(--sans);font-size:clamp(28px,2.7vw,40px);font-weight:600;letter-spacing:-.04em;line-height:1.35;color:var(--ink)}.archive-preview h2 span{color:inherit}.archive-preview p:not(.eyebrow){margin-top:13px}
.hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.055em;line-height:1.3}.hero h1 em{font-family:inherit;font-weight:inherit;font-style:normal;color:var(--ink);letter-spacing:inherit;text-decoration:underline;text-decoration-color:#c9807c;text-decoration-thickness:3px;text-underline-offset:8px}.compact-hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.045em}.compact-hero h1 em{font-family:var(--sans);font-weight:600;font-style:normal;color:inherit}.contact-section h2{font-family:var(--sans);font-weight:600;letter-spacing:-.04em}.contact-section em{font-style:normal;color:inherit;text-decoration:underline;text-decoration-color:#f4ddd8;text-decoration-thickness:2px;text-underline-offset:9px}
@media(max-width:760px){.section-heading{padding-top:16px;margin-bottom:24px}.section-heading>p{margin-top:10px;padding:0;max-width:650px;font-size:13px}.section-heading h2{font-size:clamp(25px,6vw,34px)}.archive-preview h2{font-size:clamp(26px,6vw,34px)}.hero h1 em{text-underline-offset:5px}}

/* Shared inner-page introduction across About, Archive, and Data projects. */
.portfolio-page-intro{background:#f5eeeb;border-bottom:1px solid #e0d2ce;padding:39px 0 31px}.portfolio-page-intro .eyebrow{margin:0 0 12px;font-size:10px;letter-spacing:.18em;color:#a95759}.portfolio-page-intro h1{font:600 clamp(34px,3.4vw,49px)/1.28 var(--sans);letter-spacing:-.04em;color:var(--ink);margin:0}.portfolio-page-deck{max-width:850px;color:#6d6065;font-size:14px;line-height:1.85;margin:13px 0 0}.portfolio-page-links{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid #d9c8c5;padding-top:13px;margin-top:21px}.portfolio-page-links a{color:#8e565e;font-size:11px;font-weight:700;letter-spacing:.04em}.portfolio-page-links a:hover,.portfolio-page-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}.timeline-section{padding-top:49px}.portfolio-page-intro+.archive-page-section{padding-top:38px}.portfolio-page-intro+.projects-section{padding-top:32px}
/* A smaller, tighter home introduction. */
.hero-grid{min-height:430px;gap:37px}.hero-copy{padding:29px 0}.hero .eyebrow{margin-bottom:15px}.hero-intro{margin-bottom:9px}.hero h1{font-size:clamp(36px,3.1vw,50px);line-height:1.28;margin-bottom:12px}.hero-lead{font-size:14px;line-height:1.75;margin-bottom:21px}.hero-aside{padding:14px 0}.hero-aside .hero-art{height:165px}.hero-aside .hero-halo{width:160px;height:160px;right:12%}.hero-aside .hero-art-initial{font-size:clamp(82px,8.6vw,122px);left:17%;top:13%}.hero-aside .hero-art-word{font-size:clamp(20px,2.25vw,32px)}.hero-aside .hero-art-word-one{left:26%}.hero-aside .hero-art-word-two{right:10%}.hero-bio{padding-top:13px}.hero-bio p{font-size:14px;line-height:1.7;margin:7px 0 12px}.hero-bio>div{gap:12px}.hero-bio a{font-size:10px}
/* Floating return-to-top control appears after scrolling. */
.go-top{position:fixed;right:22px;bottom:22px;z-index:35;width:57px;height:57px;border:1px solid #a95759;border-radius:50%;background:#fffaf6;color:#a95759;box-shadow:0 7px 23px #60474b29;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .22s,transform .22s,visibility .22s,background .22s,color .22s}.go-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.go-top:hover,.go-top:focus-visible{background:#a95759;color:#fff;outline:2px solid #fff;outline-offset:2px}.go-top span{font:400 23px/1 var(--sans)}.go-top small{font:700 9px/1.3 var(--sans);letter-spacing:.12em}
@media(max-width:760px){.portfolio-page-intro{padding:28px 0 24px}.portfolio-page-intro h1{font-size:clamp(30px,6.2vw,41px)}.portfolio-page-deck{font-size:13px;line-height:1.8}.portfolio-page-links{margin-top:16px;gap:8px 15px}.hero-grid{min-height:0;gap:0}.hero-copy{padding:32px 0 8px}.hero h1{font-size:clamp(33px,6.8vw,43px)}.hero-lead{font-size:13px}.hero-aside{padding:0 0 23px}.hero-aside .hero-art{height:112px;margin:0}.hero-aside .hero-halo{width:112px;height:112px;right:20%}.hero-aside .hero-art-initial{font-size:78px;left:24%;top:5%}.hero-aside .hero-art-word{font-size:20px}.hero-bio p{font-size:13px}.go-top{right:15px;bottom:15px;width:52px;height:52px}}
@media(max-width:480px){.hero h1{font-size:clamp(31px,8.1vw,38px)}.hero-aside .hero-art{height:100px}.hero-aside .hero-halo{width:100px;height:100px}.hero-aside .hero-art-initial{font-size:68px}.hero-aside .hero-art-word{font-size:17px}.portfolio-page-intro h1{font-size:30px}}
