/* Rigraft alternative — navy, warm paper, brass. Original source and imagery preserved. */
:root{--navy:#152d38;--ink:#20343c;--muted:#5e686b;--orange:#936e31;--teal:#786237;--pale:#efeee8;--paper:#faf9f5;--warm:#f1eee6;--line:#d8d5cb;--radius:2px;--shadow:0 18px 50px #172c3509;--brass:#c6a76c;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}
body{background:var(--paper);font-size:16px;font-family:"Yu Gothic",Meiryo,sans-serif;line-height:1.95;color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:.025em}h1,h2{overflow-wrap:normal;line-break:strict}h2{line-height:1.65}.shell{width:min(1180px,calc(100% - 112px))}.section{padding:100px 0}.section h2{font-size:clamp(30px,3.2vw,43px);font-weight:500;line-height:1.6}.section-top{margin-bottom:48px;align-items:flex-end;gap:28px}.section-top>p{max-width:410px;font-size:14px;line-height:2.1}.section-kicker,.atelier-label{font-family:Georgia,serif;font-size:11px;font-weight:400;letter-spacing:.16em;color:#856c3f;line-height:1.7}.section-kicker{margin-bottom:23px}.eyebrow{color:#786237;font-size:12px;letter-spacing:.15em}.eyebrow:before{background:var(--brass);height:1px;width:28px}
.site-header{background:#faf9f5f5;backdrop-filter:blur(12px);border-bottom:1px solid #dedbd3}.header-inner{min-height:86px}.site-header .brand{width:143px;background:#fff;border-radius:2px}.site-header nav{font-size:13px;font-weight:500;gap:29px}.site-header nav a[aria-current]{color:#715720}.button{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:2px;font-weight:500;font-size:14px;padding:17px 24px;min-height:54px;transition:background .2s,color .2s}.button:hover{background:#254959}.button.compact{font-size:12px;min-height:44px;padding:11px 21px}.button.brass{background:var(--brass);border-color:var(--brass);color:#142831}.button.brass:hover{background:#dec28e}.text-link{font-size:13px;font-weight:500;border-bottom:1px solid #bcbcaf;padding:8px 0;line-height:1.7;gap:25px}.text-link span{color:#8d713e}.text-link:hover{color:#886325}.button:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #a67520;outline-offset:5px}.actions{gap:25px}
.atelier-hero{position:relative;background:#132a35;color:#f3f1e9;overflow:hidden;padding:72px 0 0;background-image:radial-gradient(ellipse at 80% 35%,#25404b 0%,transparent 65%)}.atelier-hero::before{content:"";position:absolute;right:-140px;top:-300px;border:1px solid #c6a76c22;width:700px;height:1050px;transform:rotate(24deg);pointer-events:none}.atelier-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}.atelier-hero-copy>.atelier-label{color:#d5be91;display:flex;align-items:center;gap:13px;margin-bottom:29px;font-size:10px}.atelier-stroke{width:30px;height:1px;background:var(--brass)}.atelier-hero h1{font-family:var(--serif);font-size:clamp(37px,4.55vw,63px);font-weight:500;line-height:1.6;letter-spacing:-.03em;margin:0 0 24px;white-space:nowrap}.atelier-hero h1 em{color:#d7bd89;font-style:normal}.atelier-hero-lead{font-size:18px;font-family:var(--serif);line-height:1.95;letter-spacing:.06em;margin-bottom:19px}.atelier-hero-description{font-size:13px;line-height:2.05;color:#c6d0d3;margin-bottom:30px}.atelier-hero .actions{flex-wrap:wrap}.atelier-hero .text-link{color:#e8e6df;border-color:#73818a}.atelier-hero .text-link>span{color:#d0b483}.atelier-hero-art{padding:18px 0 0 12px}.atelier-photo-frame{position:relative;border:1px solid #a8a39390;padding:15px;background:#e9e5db;box-shadow:16px 16px 0 #ffffff04,0 24px 60px #0003;color:#20343c;transform:rotate(-1.5deg)}.atelier-frame-top{display:flex;justify-content:space-between;font:10px Georgia,serif;letter-spacing:.12em;padding:3px 0 15px;color:#59666a}.atelier-photo-frame img{aspect-ratio:3/2!important;width:100%;height:auto!important;object-fit:contain!important}.atelier-frame-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 3px 5px;font-size:12px;line-height:1.8}.atelier-frame-bottom strong{font-family:var(--serif);font-weight:500;font-size:20px}.atelier-round-arrow{display:grid;place-items:center;width:47px;height:47px;border:1px solid #8c9696;border-radius:50%;font-size:24px;transition:background .2s}.atelier-round-arrow:hover{background:#d7c5a3}.atelier-photo-note{font-size:10px;color:#b5c1c6;margin:22px 0 0;text-align:right}.atelier-hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:65px;padding:20px 0 24px;border-top:1px solid #c6a76c33;font:9px Georgia,serif;letter-spacing:.14em;color:#bac7cd}.atelier-hero-bottom a{padding:5px}.atelier-hero-bottom a span{display:inline-block;margin-left:20px;color:#dfcda9;font-size:18px}
.atelier-intro{position:relative;overflow:hidden;padding-bottom:125px}.atelier-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;position:relative;z-index:1}.atelier-intro-grid h2{margin:0}.atelier-intro-grid>div:last-child{font-size:14px;padding-top:36px;line-height:2.3}.atelier-intro-grid .text-link{margin-top:10px}.atelier-background-word{position:absolute;bottom:-30px;left:4%;font:clamp(48px,9vw,140px) Georgia,serif;letter-spacing:-.03em;white-space:nowrap;color:#ebe8df;pointer-events:none;line-height:1.3}
.atelier-services{background:#efeee8;border-top:1px solid var(--line)}.atelier-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.atelier-service{background:#faf9f5;border:1px solid #d9d5cb;border-radius:2px;min-width:0;padding:26px;display:flex;flex-direction:column}.atelier-service-top{display:flex;align-items:center;gap:19px;margin-bottom:21px}.atelier-service-top p{margin:0;font-size:10px}.atelier-number{font:30px Georgia,serif;line-height:1;color:#8b7449}.atelier-service .service-photo{margin:0;border:0;background:transparent}.atelier-service .service-image{overflow:hidden;border-radius:0}.atelier-service .service-image img{aspect-ratio:3/2!important;object-fit:contain!important}.atelier-service .artwork-caption{padding:6px 0 0;background:transparent;border:0;line-height:1.5;gap:0}.atelier-service .artwork-caption>span{display:none}.atelier-service .image-provenance{font-size:10px;color:#677274;margin-right:auto}.atelier-service .artwork-caption-link{font-size:11px;color:#57676a;min-height:32px}.atelier-service-copy{display:flex;flex-direction:column;flex:1;padding-top:19px}.atelier-service-copy h3{font-size:23px;margin:0 0 17px;line-height:1.6}.atelier-service-copy>p{font-size:13px;color:var(--muted);line-height:2.1;margin-bottom:23px}.atelier-service-copy .text-link{margin-top:auto;display:flex;justify-content:space-between}
.atelier-ai{background:#182f3a;color:#f1eee7}.atelier-ai .section-kicker{color:#d1b477}.atelier-ai .section-top>p{color:#c7d0d3}.atelier-ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #65716e}.atelier-ai-grid>a{padding:32px 28px;display:flex;flex-direction:column;border-right:1px solid #65716e;transition:background .2s}.atelier-ai-grid>a:last-child{border:0}.atelier-ai-grid>a:hover{background:#27414c}.atelier-ai-grid .atelier-label{color:#d1b477;font-size:10px;margin-bottom:27px}.atelier-ai-grid h3{font-size:24px;margin-bottom:22px;line-height:1.75}.atelier-ai-grid p{font-size:13px;color:#c8d1d4;line-height:2.1;margin-bottom:30px}.atelier-more{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:15px;border-top:1px solid #65716e;font-size:11px;color:#ebdec4}.atelier-more>span{font-size:23px}.atelier-usage{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:25px}.atelier-usage p{font-size:11px;color:#bdc8cd;margin:0;line-height:1.9}.atelier-usage .text-link{color:#dfd0b3;font-size:11px;white-space:nowrap;border-color:#74807f}.atelier-usage .text-link span{color:#dfd0b3}
.atelier-promise{background:#f7f5ef}.atelier-promise .split-content{grid-template-columns:1fr 1.1fr;gap:60px}.atelier-promises article{display:flex;gap:24px;border-bottom:1px solid #d8d5cb;padding:25px 0}.atelier-promises article:first-child{padding-top:5px}.atelier-promises article>span{font:17px Georgia,serif;color:#8d7344;line-height:2.1}.atelier-promises h3{font-size:21px;margin-bottom:12px}.atelier-promises p{font-size:13px;line-height:2;color:var(--muted);margin-bottom:10px}.atelier-promises .text-link{font-size:12px}.atelier-flow{border-top:1px solid var(--line)}.process{gap:25px}.process>div{border-color:#c9c4b5;padding-left:22px}.process b{font:27px Georgia,serif;color:#866e40;line-height:1}.process h3{font-size:17px;margin:24px 0 13px}.process p{font-size:13px;color:#5d6668;line-height:2}.process-note{font-size:12px;border-color:#d4d1c6}.process-note p{line-height:1.9}
.cta-band{background:#e6dfcf;border-top:1px solid #c3b69b;padding:72px 0;color:#20343c}.cta-band h2{font-weight:500;font-size:clamp(29px,3.2vw,43px);line-height:1.7}.cta-band p{font-size:13px;color:#53616a}.cta-band .button{background:#1b3440;color:#fff;border-color:#1b3440;min-width:230px;justify-content:space-between}.cta-band .button:hover{background:#2b4a57}.site-footer{background:#f9f8f3;padding:60px 0 22px}.footer-brand{width:159px;background:#fff}.footer-top p{font-size:12px;margin-top:12px}.footer-columns b{font-family:var(--serif);font-size:15px;font-weight:500}.footer-columns a{font-size:12px;color:#58666a}.footer-bottom{font-size:10px;color:#67706c;border-color:#ddd8cc}.breadcrumbs{font-size:11px;color:#667074;padding-top:24px}.page-head{padding:43px 0 65px}.page-head h1{font-size:clamp(31px,3.6vw,49px);font-weight:500}.page-head .lead{font-size:16px;line-height:2}.page-head.split{gap:48px}.page-head .service-photo{border-color:#ddd5c3;border-radius:0}.service-photo .artwork-caption{background:#faf9f5;font-size:12px;color:#5b6a6c}.detail-card,.price-card,.service-card{background:#fdfcf9;border-color:#d5d0c3;border-radius:2px;box-shadow:none}.detail-card h3,.service-card .service-card-title{font-weight:500}.detail-card p{font-size:14px;line-height:2}.callout,.agent-usage,.explain-figure{background:#ece8de;border-color:#b5a17b;color:#35434a;border-radius:2px}.callout a,.agent-usage a{color:#3e5660}.pale{background:#efeee8}.faq-list details{border-color:#d7d1c3}.faq-list summary{font-size:16px;font-weight:500}.faq-list p{font-size:14px}.service-card-head,.service-index{color:#826a3d}.service-card .service-photo .service-image{border-radius:0}.service-card .service-card-title{font-size:22px}.price-row{border-color:#d5d0c3}.price-label{font-family:var(--serif);color:#69512c}.info-table th{font-weight:500}.logo-showcase{background:white;border-radius:2px}
@media(min-width:1500px){.atelier-hero{padding-top:95px}.atelier-hero-bottom{margin-top:85px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.atelier-hero-grid{gap:30px;grid-template-columns:1.05fr 1fr}.atelier-hero h1{font-size:clamp(36px,4.6vw,50px)}.atelier-hero .actions{gap:15px}.atelier-hero .button{padding-inline:16px;font-size:13px}.atelier-ai-grid>a{padding:26px 22px}.site-header nav{gap:22px}.atelier-service-copy h3{font-size:21px}}
@media(max-width:850px){.shell{width:calc(100% - 40px)}.section{padding:65px 0}.header-inner{min-height:74px}.site-header .brand{width:125px}.menu-toggle{color:var(--navy);border-color:#b4b6ae;border-radius:2px;font-size:12px}.site-header nav{background:#faf9f5;border-color:#d5d0c3}.site-header nav.open{padding:20px}.site-header nav a{font-size:15px}.atelier-hero{padding-top:43px}.atelier-hero-grid{grid-template-columns:1fr;gap:32px;max-width:640px}.atelier-hero h1{font-size:clamp(36px,7.7vw,57px);margin-bottom:23px}.atelier-hero-copy>.atelier-label{margin-bottom:25px}.atelier-hero-lead{font-size:19px}.atelier-hero-description{font-size:13px}.atelier-hero-art{padding:5px 6px 0;max-width:610px}.atelier-photo-frame{transform:rotate(-1deg);padding:12px}.atelier-frame-bottom{padding-top:16px}.atelier-photo-note{text-align:left;margin-top:15px;font-size:10px}.atelier-hero-bottom{margin-top:30px;font-size:8px;line-height:1.8;gap:14px}.atelier-hero-bottom>span{max-width:180px}.atelier-intro-grid{gap:30px;grid-template-columns:1fr}.atelier-intro-grid>div:last-child{padding-top:0;font-size:14px}.atelier-intro{padding-bottom:100px}.atelier-background-word{bottom:0;font-size:11vw}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:20px}.atelier-service-grid{gap:18px}.atelier-service{padding:19px}.atelier-service-copy h3{font-size:20px}.atelier-ai-grid{grid-template-columns:1fr}.atelier-ai-grid>a{border-right:0;border-bottom:1px solid #65716e;padding:30px}.atelier-ai-grid h3 br{display:none}.atelier-ai-grid h3{font-size:24px;margin-bottom:17px}.atelier-ai-grid .atelier-label{margin-bottom:18px}.atelier-ai-grid p{margin-bottom:15px}.atelier-usage{display:block}.atelier-usage .text-link{margin-top:18px;white-space:normal}.atelier-promise .split-content{grid-template-columns:1fr;gap:25px}.page-head.split{grid-template-columns:1fr;gap:30px}.page-head .service-photo{max-width:650px}.cta-band{padding:48px 0}.footer-top{gap:30px}.process{gap:24px}.process h3{font-size:18px}.process p{font-size:13px}.atelier-flow .section-top>.text-link{margin-top:10px}}
@media(max-width:560px){body{font-size:15px}.shell{width:calc(100% - 40px)}.section{padding:58px 0}.section h2{font-size:29px}.section-kicker{font-size:10px;margin-bottom:18px}.atelier-hero-grid{gap:30px}.atelier-hero h1{font-size:clamp(31px,8.15vw,43px);letter-spacing:-.05em}.atelier-hero-lead{font-size:17px}.atelier-hero .actions{display:flex;align-items:center;gap:18px}.atelier-hero .button{padding:15px 14px;font-size:12px;gap:13px;min-height:52px}.atelier-hero .text-link{font-size:11px;gap:11px}.atelier-frame-top{font-size:8px}.atelier-frame-bottom strong{font-size:18px}.atelier-round-arrow{width:40px;height:40px}.atelier-frame-bottom{font-size:11px}.atelier-photo-note{font-size:9px;line-height:1.8}.atelier-hero-bottom{font-size:7px;margin-top:20px;letter-spacing:.08em}.atelier-hero-bottom a span{margin-left:8px}.atelier-service-grid{grid-template-columns:1fr;gap:22px}.atelier-service{padding:21px}.atelier-service .artwork-caption>span{display:none}.atelier-service .artwork-caption-link{font-size:11px!important}.atelier-service-copy h3{font-size:22px}.atelier-service-copy>p{font-size:13px}.atelier-ai-grid>a{padding:26px 23px}.atelier-ai-grid h3{font-size:22px}.atelier-ai-grid h3 br{display:block}.atelier-intro-grid>div:last-child br{display:none}.atelier-intro{padding-bottom:80px}.atelier-background-word{font-size:10.3vw;bottom:5px}.atelier-promises h3{font-size:19px}.atelier-promises article{gap:17px}.process{grid-template-columns:1fr 1fr;gap:27px 18px}.process>div{padding-left:14px}.process h3{font-size:15px;margin-top:20px}.process p{font-size:12px}.process b{font-size:24px}.cta-band h2{font-size:28px}.cta-band .shell{display:block}.cta-band .button{margin-top:20px;min-width:220px}.cta-band p{font-size:12px}.footer-columns{gap:22px}.footer-bottom{font-size:10px}.page-head h1{font-size:31px}.page-head .lead{font-size:15px}.page-head{padding-top:30px;padding-bottom:40px}.page-head .eyebrow{font-size:11px}.faq-list summary{font-size:15px}.desktop-break{display:none}.service-card .service-card-title{font-size:20px}.service-card .artwork-caption-link{font-size:12px}.site-header nav.open{max-height:calc(100dvh - 74px);overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html:not([data-motion="full"]) *,html:not([data-motion="full"]) *::before,html:not([data-motion="full"]) *::after{animation:none!important;transition:none!important}}

/* Each new postcard lands on the previous two; all four share one grid cell. */
.atelier-carousel{display:flex;flex-direction:column}
.atelier-carousel-slides{display:grid;order:0;min-width:0;isolation:isolate;margin:8px 14px 24px 5px}
.atelier-carousel [data-hero-slide]{grid-area:1/1;min-width:0;transform-origin:50% 70%;transition:transform .65s cubic-bezier(.22,.7,.3,1),box-shadow .65s ease;box-shadow:0 4px 10px #0002;will-change:transform}
.atelier-carousel [data-hero-depth="0"]{z-index:3;transform:rotate(var(--postcard-tilt));box-shadow:0 10px 26px #0003}
.atelier-carousel [data-hero-depth="1"]{z-index:2;transform:translate(8px,12px) rotate(-4deg);pointer-events:none}
.atelier-carousel [data-hero-depth="2"]{z-index:1;transform:translate(-5px,22px) rotate(3deg);pointer-events:none}
.atelier-carousel [data-hero-depth="3"]{z-index:0;transform:translate(0,26px) rotate(-2deg);pointer-events:none}
.atelier-carousel [data-hero-slide][hidden]{display:block!important;visibility:hidden;pointer-events:none}
.atelier-carousel [data-hero-slide].is-arriving{animation:postcard-place .65s cubic-bezier(.22,.7,.3,1) both}
@keyframes postcard-place{
  0%{opacity:0;transform:translate(15%,-10%) rotate(calc(var(--postcard-tilt) + 9deg)) scale(1.04);box-shadow:-12px 25px 45px #0004}
  18%{opacity:1}
  75%{transform:translate(-.6%,.5%) rotate(calc(var(--postcard-tilt) - .5deg)) scale(1)}
  100%{opacity:1;transform:translate(0,0) rotate(var(--postcard-tilt)) scale(1);box-shadow:0 10px 26px #0003}
}
.atelier-carousel .atelier-frame-bottom{align-items:flex-start}
.atelier-frame-copy{min-width:0}
.atelier-frame-copy strong{display:block;margin-bottom:10px}
.atelier-frame-description{display:block;font-size:12px;line-height:1.9}
.atelier-carousel .atelier-round-arrow{flex-shrink:0}
.atelier-carousel-controls{order:1;display:flex;align-items:center;gap:12px;margin-top:22px;color:#c7d0d3;font-size:11px}
.atelier-carousel-controls button{min-height:36px;min-width:76px;padding:6px 14px;color:#f1eee7;background:transparent;border:1px solid #89999e;border-radius:2px;font-size:11px}
.atelier-carousel-controls button:hover{background:#2b4652;border-color:#d1b477}
.atelier-carousel+.atelier-photo-note{margin-top:10px}

/* Whole-site audit, 2026-10-03: one paper/brass palette for detail components. */
.site-header nav a.button[aria-current]{color:#fff}
.section-kicker,.atelier-label{color:#786237}
.section-top .section-kicker{font-family:Georgia,serif;font-size:11px;font-weight:400;letter-spacing:.16em;line-height:1.7;color:#786237;margin-bottom:23px}
.atelier-ai .section-top .section-kicker{color:#d1b477}
.ai-use-card,.project-card{background:#fdfcf9;border-color:var(--line);border-radius:var(--radius)}
.service-index{font-family:Georgia,serif;font-weight:400;color:#806638}
.project-status{color:#624d28;background:#ece6d7;border-radius:var(--radius);font-size:13px;font-weight:600}
.use-example{color:#405259;border-top-color:var(--line)}
.flow-diagram li{background:#fdfcf9;border:1px solid var(--line);border-radius:var(--radius)}
.flow-number,.flow-diagram li:not(:last-child)::after{color:#806638}
.system-panels>section{background:#fdfcf9;border-top:3px solid #a58b57;border-radius:var(--radius)}
.panel-label,.system-panels dt{color:#53626a}
.flow-state{background:#eee8dc;color:#35464d;border-radius:var(--radius)}
.process-note{border-radius:var(--radius)}
.info-table th{color:#37494f;font-weight:600}
.info-table td{color:var(--ink)}
.source-links a,.note a{color:#345363}
@media(max-width:560px){
 .section-top .section-kicker{font-size:10px;margin-bottom:18px}
 .info-table th,.info-table td{width:100%}
 .process{grid-template-columns:1fr;gap:0;margin-top:24px}
 .process>div{grid-template-columns:38px minmax(0,1fr);padding:22px 0 18px;gap:0 16px}
 .process h3{font-size:17px;line-height:1.8;margin:0 0 8px}
 .process p{font-size:13px;line-height:2}
}
/* Phrase boundaries are specified by the reviewed Japanese copy, not line length. */
.page-head h1,.section h2,.cta-band h2{ text-wrap:wrap; }

@media(max-width:560px){.page-head h1{font-size:clamp(23px,7.2vw,31px);text-wrap:wrap}}
.section h3{text-wrap:wrap}
.split-content h2 br{display:none}
@media(max-width:560px){
 .section h2,.cta-band h2{font-size:clamp(22px,6.6vw,28px)}
 .section h2 br,.cta-band h2 br{display:none}
}
