*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#31434d;background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #298797;outline-offset:6px}img{display:block;max-width:100%}.header{height:104px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eef0;background:#ffffffed;position:sticky;top:0;z-index:10;backdrop-filter:blur(15px)}.brand{font-size:26px;letter-spacing:.2em;font-weight:600;white-space:nowrap;line-height:1.3}.brand span{display:block;font-size:10px;letter-spacing:.23em;margin-top:8px}.header nav{display:flex;gap:44px;text-align:center}.header nav a{font-family:Georgia,serif;font-size:17px;letter-spacing:.14em;position:relative;padding:14px 0}.header nav small{display:block;font-size:11px;letter-spacing:.07em;font-family:inherit}.header nav [aria-current]{color:#28879b}.header nav [aria-current]:after{content:"";position:absolute;height:2px;background:#6fc3d3;bottom:2px;left:0;width:100%}.hero{position:relative;margin:0 2.2%;overflow:hidden;background:#e9f9fc}.hero img{width:100%;height:clamp(410px,42vw,680px);object-fit:cover;object-position:58% center}.hero-copy{position:absolute;left:6%;top:24%;max-width:50%}.eyebrow{font-size:13px;letter-spacing:.23em;color:#4e8798;font-weight:600}.hero h1{font-family:"Yu Mincho",serif;font-size:clamp(30px,3.3vw,52px);line-height:1.65;letter-spacing:.13em;font-weight:500;margin:20px 0}.hero-copy p:last-child{font-size:14px;letter-spacing:.14em}.hero-end{padding:24px 6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.18em;border-bottom:1px solid #e8eef0}.section{width:min(1200px,88%);margin:100px auto}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.section-head h2,.page-head h1{font-family:Georgia,serif;font-weight:400;letter-spacing:.1em;font-size:clamp(38px,5vw,68px);line-height:1.1;margin:0}.section-head h2 span{display:block;font-family:inherit;font-size:14px;margin-top:15px;letter-spacing:.15em}.text-link{font-size:14px;border-bottom:1px solid #7db5c3;padding:6px 0}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 25px}.work figure{margin:0;overflow:hidden;background:#eff5f7}.work img{width:100%;aspect-ratio:4/3;object-fit:contain;transition:transform .35s}.work:hover img{transform:scale(1.035)}.work h3{font-size:14px;line-height:1.7;font-weight:500;margin:15px 0 0}.work .category{font-size:11px;letter-spacing:.14em;color:#6d8790}.profile-section{background:#f1f9fb;padding:90px 0}.profile{width:min(1100px,88%);margin:auto;display:grid;grid-template-columns:1fr 1.3fr;gap:10%;align-items:start}.profile .large-label{font-family:Georgia,serif;font-size:clamp(45px,6vw,78px);letter-spacing:.03em;line-height:1.1;color:#b0d5de}.profile h2{font-family:"Yu Mincho",serif;font-size:34px;font-weight:500;letter-spacing:.16em;margin:0 0 10px}.profile p{font-size:15px}.profile .role{font-family:Georgia,serif;letter-spacing:.15em;font-size:13px}.profile dl{border-top:1px solid #d5e5e9;padding-top:20px;font-size:14px}.profile dt{font-weight:600}.profile dd{margin:8px 0 20px}.contact-band{text-align:center;padding:85px 24px;background:#eef8fb;margin-top:90px}.contact-band h2{font-family:Georgia,serif;letter-spacing:.1em;font-size:54px;font-weight:400;line-height:1.2;margin:0 0 20px}.contact-band p{font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 28px;border:1px solid #80adba;min-width:230px;background:#fff;transition:.2s;font-size:14px}.button:hover{background:#ddecf0}.button.primary{background:#315866;color:white;border-color:#315866}.contact-band .button{margin:15px 8px 0}.page-head{width:min(1200px,88%);margin:65px auto 45px}.page-head .jp{margin:18px 0 8px;font-size:20px;letter-spacing:.12em}.page-head .intro{font-size:15px;color:#637780}.breadcrumb{font-size:12px;letter-spacing:.12em;margin:0 0 45px;color:#7b8e95}.price-frame{width:100%;height:max(850px,85vh);border:0;display:block;background:#f7f9fc}.price-shell{margin:0 auto;width:96%;border:1px solid #dfebee}.frame-note{width:88%;margin:24px auto;font-size:14px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.contact-layout{width:min(1100px,88%);margin:0 auto 80px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:65px}.contact-info{border-top:1px solid #b8d6de;padding-top:25px;align-self:start;position:sticky;top:130px}.contact-info h2{font-size:15px;letter-spacing:.12em;margin:0}.contact-info p,.contact-info ol{font-size:14px}.contact-info ol{padding-left:20px;line-height:2.3}.contact-info a{border-bottom:1px solid #a4c3cc;overflow-wrap:anywhere}.contact-form{width:100%;min-height:2600px;border:0;display:block}.form-fallback{font-size:13px;background:#f1f7f9;padding:14px 18px}.form-fallback a{border-bottom:1px solid #98b5bf}.test-note{font-size:12px;color:#647780}.skip{position:absolute;left:10px;top:-100px;z-index:30;background:#fff;padding:12px}.skip:focus{top:10px}footer{padding:60px 6% 35px;text-align:center}footer .brand{display:inline-block;font-size:23px}footer>div{display:flex;gap:30px;justify-content:center;font-size:13px;margin:27px 0}footer p{font-size:12px;color:#72848b}footer>small{font-size:11px;letter-spacing:.12em}.test-label{display:inline-block;margin-left:16px;color:#87979d}@media(max-width:700px){.header{height:88px;padding:0 5%}.brand{font-size:21px}.brand span{font-size:8px}.header nav{gap:20px}.header nav a{font-size:12px}.header nav small{font-size:9px}.hero{margin:0}.hero img{height:510px;object-position:66% center}.hero-copy{top:auto;bottom:25px;left:6%;max-width:90%;background:#ffffffdd;padding:18px 22px;backdrop-filter:blur(3px)}.hero h1{font-size:27px;margin:10px 0}.hero-copy .eyebrow{font-size:10px}.hero-copy p:last-child{font-size:11px}.hero-end{font-size:10px;padding:18px 6%}.section{margin:60px auto}.section-head{align-items:start;gap:15px}.section-head .text-link{font-size:12px}.works{grid-template-columns:repeat(2,1fr);gap:25px 14px}.work h3{font-size:12px}.profile{grid-template-columns:1fr;gap:25px}.profile-section{padding:55px 0}.profile .large-label{font-size:48px}.profile h2{font-size:30px}.contact-band{padding:55px 20px;margin-top:55px}.contact-band h2{font-size:42px}.page-head{margin-top:35px}.breadcrumb{margin-bottom:25px}.contact-layout{grid-template-columns:1fr;gap:20px;width:94%}.contact-info{position:static;margin:0 4%;padding-bottom:15px}.contact-info ol{display:none}.contact-info .flow-title{display:none}.contact-form{min-height:3000px}.price-shell{width:100%;border-left:0;border-right:0}.price-frame{height:85vh}.frame-note{font-size:12px}footer>div{gap:20px}footer p{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}fieldset{border:0;border-bottom:1px solid #e3edf0;margin:0 0 30px;padding:0 0 30px;min-width:0}legend{font-size:16px;font-weight:600;padding:0;margin-bottom:12px}.required{font-size:11px;font-weight:400;color:#457480;background:#eaf4f7;padding:3px 8px;margin-left:8px;white-space:nowrap}.field-help{font-size:13px;color:#71828b;margin:5px 0 12px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;font:inherit;font-size:16px;border:1px solid #cbdce2;background:#fff;border-radius:0;padding:12px 14px;color:#31434d;display:block;margin-top:8px}input[hidden]{display:none!important}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #82c6d5;outline-offset:1px}.choice{display:flex;align-items:baseline;gap:10px;margin:9px 0;font-size:15px}.choice input{accent-color:#438f9f;width:17px;height:17px}.other{margin-top:8px}#form-error{color:#a43f50}dialog{border:1px solid #cbdee4;max-width:720px;width:90%;max-height:85vh;padding:30px;color:#31434d}dialog::backdrop{background:#19384470}dialog h2{font-size:23px}dialog p{font-size:14px}dialog dt{font-weight:bold;border-top:1px solid #dce8ec;padding-top:16px;font-size:14px}dialog dd{margin:8px 0 20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}/* Genre galleries and editable text placements */
.work-genre{margin-top:50px}.genre-heading{display:flex;align-items:center;gap:18px;border-bottom:1px solid #dbe9ef;margin-bottom:24px;padding-bottom:14px}.genre-heading h3{font-size:24px;letter-spacing:.08em;margin:0}.genre-heading>span{font-size:12px;color:#69818c;letter-spacing:.12em}.genre-description{white-space:pre-wrap;margin:-6px 0 24px;color:#627f8a}.genre-more{margin-top:24px}.genre-more summary{cursor:pointer;border-block:1px solid #d8e7ed;padding:15px 20px;color:#315866;background:#f4f9fb;font-size:14px}.genre-more[open] summary{margin-bottom:25px}.when-open,.genre-more[open] .when-closed{display:none}.genre-more[open] .when-open{display:inline}.editable-copy{display:inline-block!important;position:relative;translate:var(--copy-x,0px) var(--copy-y,0px);white-space:pre-wrap;font:inherit!important;letter-spacing:inherit!important;margin:0!important;color:inherit!important}.header{z-index:10}.editable-copy:empty:before{content:'\200b'}@media(max-width:700px){.editable-copy{translate:var(--copy-mobile-x,0px) var(--copy-mobile-y,0px)}.genre-heading h3{font-size:20px}.work-genre{margin-top:35px}}
/* Editable text keeps existing typography until a style is explicitly chosen. */
.editable-copy{font-family:var(--text-font,inherit)!important;font-size:var(--text-size,inherit)!important;font-weight:var(--text-weight,inherit)!important;color:var(--text-color,inherit)!important;width:var(--copy-width,auto);height:var(--copy-height,auto);overflow-wrap:anywhere;vertical-align:top;max-width:none;box-sizing:border-box}.text-link-custom{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.free-area{height:var(--area-height);padding:0 24px;position:relative}.free-canvas{position:relative;height:100%;max-width:1200px;margin:auto}.free-node{position:absolute!important;left:0;top:0}.editable-image{translate:var(--copy-x,0px) var(--copy-y,0px);width:var(--copy-width,320px);height:var(--copy-height,240px);object-fit:contain;max-width:none}.work video{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:#edf3f6}.work-detail-link{font-size:12px;color:#52849b;text-underline-offset:4px}.work h3{margin-bottom:8px}.work-detail h1{font-size:clamp(24px,4vw,40px);line-height:1.6;margin:20px 0 36px}.detail-media img,.detail-media video{display:block;max-width:100%;width:auto;max-height:850px;margin:auto;object-fit:contain}.detail-media video{width:100%}.work-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;margin:40px 0}.detail-gallery{display:grid;gap:24px;margin:40px 0}.detail-gallery img{width:100%;height:auto;max-height:1000px;object-fit:contain}.field-help{white-space:pre-wrap}
@media(max-width:700px){.editable-copy{width:var(--copy-mobile-width,auto);height:var(--copy-mobile-height,auto)}.free-area{height:var(--area-mobile-height);padding-inline:20px}.editable-image{translate:var(--copy-mobile-x,0px) var(--copy-mobile-y,0px);width:var(--copy-mobile-width,280px);height:var(--copy-mobile-height,210px)}}
main{position:relative}.free-area.page-overlay{position:absolute;inset:0;padding:0;height:100%;pointer-events:none;z-index:4}.page-overlay .free-canvas{max-width:none}.page-overlay .free-node{pointer-events:auto}.editable-copy [data-rich-run]{white-space:pre-wrap}
[data-section]{position:relative;height:var(--section-height,auto);min-height:0}.profile-visual{min-width:0}.profile-image{width:100%;max-width:400px;height:auto;aspect-ratio:1;object-fit:contain;margin:30px 0 0}.flow-heading{text-align:center;margin-bottom:55px}.flow-heading h2,.contact-pricing>h2{font-size:30px;margin:10px 0}.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0;list-style:none}.flow-grid>li{position:relative;border:1px solid #dce8ec;border-radius:18px;padding:38px 22px 28px;background:#fff}.flow-step{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:#315866;color:white;border-radius:30px;padding:5px 15px;font-size:12px;letter-spacing:.12em;white-space:nowrap}.flow-number{display:grid;place-items:center;margin:0 auto 24px;width:60px;height:60px;border-radius:50%;background:#eef7fa;color:#457d8e;font:24px Georgia,serif}.flow-grid h3{text-align:center;font-size:19px}.flow-grid p{font-size:14px}.flow-grid aside{padding:16px;border:1px solid #d0e3ea;border-radius:12px;background:#f4f9fb;font-size:14px}.flow-grid aside p{margin-bottom:0}.flow-action{text-align:center;margin-top:30px}.rate-card{display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #dce6ec;padding:30px;margin-top:18px}.rate-card h3{font-size:22px;margin:0}.rate-card p{margin:8px 0;color:#657d88}.rate-action{text-align:right}.rate-card .rate-price{font-size:27px;font-weight:700;color:#315866}.rate-action .button{font-size:14px;padding:12px 18px}.pricing-note{margin-top:35px;padding:30px;border:1px solid #c9dfe7;border-radius:18px;background:#f0f7fa}.pricing-note h3{margin:0}.pricing-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pricing-factors>div{background:white;border:1px solid #dce8ed;border-radius:12px;padding:18px}.pricing-factors h4{margin:0}.pricing-factors p{font-size:14px}.pricing-footnote{padding:16px;border:1px dashed #83a6b4;border-radius:9px;background:#fff;font-size:14px}#prices-status{font-size:13px;color:#627b88}@media(max-width:900px){.flow-grid{grid-template-columns:repeat(2,1fr);gap:35px 20px}}@media(max-width:700px){[data-section]{height:var(--section-mobile-height,auto)}.flow-grid{grid-template-columns:1fr}.rate-card{display:block;padding:22px}.rate-action{text-align:left}.pricing-factors{grid-template-columns:1fr}.pricing-note{padding:20px}.profile-image{max-width:300px}.flow-heading h2,.contact-pricing>h2{font-size:26px}}

/* Editable profile rules, separate from their text. */
.profile dl{border-top:0;padding-top:0;margin-top:4px}.profile-price-link{display:inline-block}.profile-price-link>a{display:block;padding-top:6px}.editable-line{display:block;position:relative;box-sizing:border-box;width:var(--copy-width,100%);height:var(--copy-height,24px);transform:translate(var(--copy-x,0px),var(--copy-y,0px));color:var(--text-color,#b1cfd7)}.editable-line:after{content:"";position:absolute;left:0;right:0;top:50%;height:var(--line-width,1px);background:currentColor}.profile-line-link{color:var(--text-color,#7db5c3)}
.hero-slides{position:relative}.hero .hero-slide{display:block;transition:opacity .65s ease;opacity:0}.hero .hero-slide:not(:first-child){position:absolute;inset:0}.hero .hero-slide.is-active{opacity:1}.hero-copy{pointer-events:none}.hero-copy [data-placement]{pointer-events:auto}.slide-controls{position:absolute;z-index:2;right:24px;bottom:20px;display:flex;align-items:center;gap:12px;background:#fffef4ed;color:#31434d;border-radius:30px;padding:6px 12px;font-size:14px}.slide-controls button{font:inherit;background:transparent;border:0;color:inherit;cursor:pointer;min-height:36px;min-width:36px}.slide-controls button:focus-visible{outline:2px solid #315d69}.slide-controls [data-slide-count]{min-width:45px;text-align:center}
.price-shell[data-section]{height:auto!important;min-height:0;overflow:visible}.price-frame{display:block;width:100%;height:1000px;border:0;overflow:hidden}
.contact-pricing{max-width:960px;margin:32px auto}.contact-pricing .rate-card{padding:14px 20px;margin:10px 0;gap:16px}.contact-pricing .rate-card h3{font-size:18px;margin:0 0 3px}.contact-pricing .rate-card p{font-size:14px;margin:3px 0}.contact-pricing .rate-price{font-size:22px}.contact-pricing .rate-card .button{padding:8px 14px;font-size:14px}.contact-pricing .pricing-note{padding:16px 20px;margin-top:18px}.contact-pricing .pricing-note h3{font-size:16px;margin:0 0 8px}.contact-pricing .pricing-note p{font-size:14px;margin:8px 0}.contact-pricing .pricing-factors{gap:10px}.contact-pricing .pricing-factors>div{padding:10px}.contact-pricing .section-head{margin-bottom:16px}
@media(max-width:700px){.editable-line{width:var(--copy-mobile-width,100%);height:var(--copy-mobile-height,24px);transform:translate(var(--copy-mobile-x,0px),var(--copy-mobile-y,0px))}.slide-controls{right:12px;bottom:8px;gap:5px;padding:3px 8px}.contact-pricing{margin:24px auto}.contact-pricing .rate-card{padding:12px;gap:8px}.contact-pricing .rate-action{display:flex;align-items:center;justify-content:space-between;gap:10px}.contact-pricing .pricing-note{padding:12px}.contact-pricing .pricing-factors{grid-template-columns:1fr}.contact-pricing .pricing-factors>div{padding:8px}}
@media(prefers-reduced-motion:reduce){.hero .hero-slide{transition:none}}

.contact-pricing .rate-card .rate-price{font-size:22px}.contact-pricing .pricing-footnote{padding:10px}.editable-line{min-height:24px}

[data-placement][hidden]{display:none!important}.hero-mobile{display:none}.hero-desktop{display:block}.hero video.hero-slide{width:100%;height:clamp(410px,42vw,680px);object-fit:cover}.hero .hero-slide:not(.is-active){visibility:hidden;pointer-events:none}.hero .hero-slide.is-active{visibility:visible}.media-empty{display:grid;place-items:center;min-height:180px;background:#eef4f6;color:#637884}@media(max-width:700px){.hero-desktop{display:none}.hero-mobile{display:block}.hero video.hero-slide{height:510px}}

.profile-image.editable-image{transform:translate(var(--copy-x,0px),var(--copy-y,0px));width:var(--copy-width,100%);height:var(--copy-height,auto)}@media(max-width:700px){.profile-image.editable-image{transform:translate(var(--copy-mobile-x,0px),var(--copy-mobile-y,0px));width:var(--copy-mobile-width,100%);height:var(--copy-mobile-height,auto)}}

.youtube-player{display:block;width:100%;aspect-ratio:16/9;min-height:200px;border:0;background:#101820}.work figure{aspect-ratio:4/3;position:relative}.work figure>img,.work figure>video,.work figure>.youtube-player{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;min-height:0;object-fit:contain}

.contact-pricing .editable-button{min-width:0;width:var(--copy-width,auto);height:var(--copy-height,auto);transform:translate(var(--copy-x,0px),var(--copy-y,0px));justify-content:center;max-width:100%;overflow-wrap:anywhere}.rate-part{height:var(--part-height,auto)}.rate-part .section-resize{display:none}
@media(max-width:700px){.contact-pricing .rate-card{display:block;padding:22px 18px;margin:14px 0}.contact-pricing .rate-card h3{font-size:20px;line-height:1.5;margin:0 0 8px}.contact-pricing .rate-card p{font-size:15px;line-height:1.7}.contact-pricing .rate-action{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;text-align:left}.contact-pricing .rate-card .rate-price{font-size:28px;font-weight:700;margin:0}.contact-pricing .editable-button{font-size:15px;padding:12px 16px;width:var(--copy-mobile-width,auto);height:var(--copy-mobile-height,auto);transform:translate(var(--copy-mobile-x,0px),var(--copy-mobile-y,0px))}}

.content-part{height:var(--part-height,auto);position:relative;display:flow-root}.content-part>.section{margin:24px auto}.content-part>.profile-section{padding-block:35px}.content-part>.contact-layout{margin-block:24px}.work-description{margin:12px 0 32px}@media(max-width:700px){.content-part{height:var(--part-mobile-height,auto)}}

.genre-more>summary{zoom:.35;transform:scaleX(.7142857143);transform-origin:center;display:flex;justify-content:center;align-items:center;min-height:64px;width:fit-content;max-width:100%;margin:30px auto;padding:16px 38px;border:0;border-radius:999px;background:#175c43;color:#fff;font-size:18px;font-weight:700;box-shadow:0 4px 12px #123d2422;cursor:pointer;list-style:none}.genre-more>summary::-webkit-details-marker{display:none}.genre-more>summary:hover{background:#10432f}.genre-more>summary:focus-visible{outline:3px solid #73b99b;outline-offset:4px}.genre-more>summary .when-closed:before{content:'▶ ';}.genre-more>summary .when-open:before{content:'▼ ';}
.editable-copy{font-style:var(--text-italic,normal);text-decoration:var(--text-decoration,none)}.added-button{display:inline-flex!important;align-items:center;justify-content:center;padding:12px 24px;background:#175c43;color:var(--text-color,#fff);font-weight:var(--text-weight,700);text-decoration:none;box-sizing:border-box;cursor:pointer;min-height:44px}.button-round{border-radius:999px}.button-square{border-radius:0}.added-button:hover{filter:brightness(.9)}

.editable-copy{font-style:var(--text-italic,normal)!important;font-synthesis:style}.editable-copy [data-rich-run]{font-synthesis:style}
@media(min-width:901px){.flow-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px}.flow-grid>li{flex:1 1 calc(20% - 22px);max-width:calc((100% - 66px)/4);min-width:0;min-height:360px;padding-left:16px;padding-right:16px}.flow-grid h3{overflow-wrap:anywhere}}
@media(min-width:701px) and (max-width:900px){.flow-grid{grid-auto-rows:1fr}.flow-grid>li:last-child:nth-child(odd){grid-column:1 / -1;width:calc((100% - 20px)/2);justify-self:center}}

/* Cancel the unequal button scaling for its label, preserving the compact outline. */
.genre-more>summary>span{transform:scaleY(.7142857143);transform-origin:center}

/* Hero artwork and copy share the editor's design coordinates. */
.hero.hero-layout-ready{height:var(--hero-render-height)!important}
.hero-stage{position:relative;transform-origin:top left}
.hero-layout-ready .hero-stage{width:1147.2px;height:var(--hero-design-height);transform:scale(var(--hero-scale,1))}
.hero-layout-ready .hero-stage h1{font-size:39.6px}
.hero-layout-ready .hero-stage .hero-slide{height:504px}
@media(max-width:700px){.hero-layout-ready .hero-stage{width:390px}.hero-layout-ready .hero-stage h1{font-size:27px}.hero-layout-ready .hero-stage .hero-slide{height:510px}}

.editable-copy{font-size:var(--text-size-desktop,inherit)!important}.editable-copy [data-rich-run]{font-size:var(--run-size-desktop,inherit)}
@media(max-width:700px){.editable-copy{font-size:var(--text-size-mobile,inherit)!important}.editable-copy [data-rich-run]{font-size:var(--run-size-mobile,inherit)}}

footer[data-section="shared-footer"]{position:relative}.free-area.footer-overlay{position:absolute;inset:0;height:100%;padding:0;pointer-events:none}.footer-overlay .free-canvas{max-width:none}.footer-overlay .free-node{pointer-events:auto}
footer>.free-area.footer-overlay{margin:0;display:block;text-align:left;font-size:16px}

.editable-copy{line-height:var(--text-line-height,inherit)!important;letter-spacing:var(--text-letter-spacing,inherit)!important}
@media(max-width:700px){.work-genre .works{grid-template-columns:minmax(0,1fr)}.work-genre .work{min-width:0}}
.testimonials-part{padding-block:32px;min-width:0;overflow:hidden}.testimonials-part h2{font-size:28px;margin:0 0 24px}.testimonials-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;align-items:stretch}.testimonial-card{flex:0 0 min(380px,85%);scroll-snap-align:start;background:#f0f8fa;border:1px solid #d9e7ea;border-radius:16px;padding:24px;min-width:0}.testimonial-card blockquote{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow-y:auto;font-size:16px}.testimonial-card img{width:100%;height:260px;object-fit:contain}.testimonial-card p{font-size:14px;margin:16px 0 0}.testimonials-controls{display:flex;justify-content:center;gap:12px;margin-top:20px}.testimonials-controls button{border:1px solid #315866;border-radius:8px;background:white;color:#315866;padding:8px 16px;cursor:pointer}.original-image-link{display:block;width:fit-content;padding:8px 20px;margin:14px auto 28px;border:1px solid #315866;border-radius:8px;font-size:14px}.detail-gallery figure{margin:0}.detail-media>img{max-height:none}.part-mini.testimonials{display:flex}

.custom-page{min-height:360px}.header nav{max-width:70%;overflow-x:auto;align-items:center}.header nav>a{flex-shrink:0}

/* Narrow desktop uses one coordinate system for each complete composition. */
.profile-design-stage{display:contents}
.profile-layout-ready{padding:0;height:var(--profile-render-height)!important}
.profile-layout-ready>.profile-design-stage{display:block;width:1366px;padding:90px 0;transform:scale(var(--profile-scale));transform-origin:top left}
.profile-layout-ready .profile .large-label{font-size:78px}
.page-overlay .free-node{transform-origin:top left;scale:var(--overlay-scale,1)}

.hero-layout-ready .hero-stage .hero-slide{height:var(--hero-design-height)}

.editable-shape{display:block;box-sizing:border-box;color:var(--text-color,#315866);width:var(--copy-width,160px);height:var(--copy-height,160px);position:relative;translate:var(--copy-x,0px) var(--copy-y,0px)}.editable-shape::after{content:"";position:absolute;inset:0;background:currentColor;pointer-events:none}.shape-circle::after{border-radius:50%}.shape-triangle::after{clip-path:polygon(50% 0,100% 100%,0 100%)}.shape-line::after{top:50%;bottom:auto;height:var(--line-width,1px);transform:translateY(-50%)}@media(max-width:700px){.editable-shape{width:var(--copy-mobile-width,160px);height:var(--copy-mobile-height,160px);translate:var(--copy-mobile-x,0px) var(--copy-mobile-y,0px)}}

.hero-copy[hidden],.hero-bound-hidden{visibility:hidden!important;pointer-events:none!important}.hero-bound-hidden *{pointer-events:none!important}.editable-shape::after{opacity:var(--shape-opacity,1)}@media(max-width:700px){.hero.no-mobile-text-background .hero-copy{background:transparent;backdrop-filter:none}}

/* Independent element layers; overlays must not trap their children's order. */
[data-placement]{z-index:var(--element-z,auto)}
.editable-image,.editable-button{position:relative}
body[data-layer-order] .free-area.page-overlay{z-index:auto}
/* Zoom keeps the same design dimensions without creating a transform stacking context. */
body[data-layer-order] .hero-layout-ready .hero-stage{transform:none;zoom:var(--hero-scale,1)}
body[data-layer-order] .profile-layout-ready>.profile-design-stage{transform:none;zoom:var(--profile-scale,1)}
body[data-layer-order] .hero-copy{backdrop-filter:none}
body[data-layer-order] main,body[data-layer-order] footer{isolation:isolate}

fieldset[data-required="true"]>legend .required{color:#b42336;background:#fff0f2;font-weight:700}.field-validation-message{color:#b42336;font-size:14px;line-height:1.6;margin:8px 0 0}fieldset [aria-invalid="true"]{border-color:#c83249;outline-color:#c83249}.field-validation-message[hidden]{display:none}
