/* SP-only styles. All pixel measurements below use the 100cqw Figma frame.
   The build step converts them to container-relative units. */
@media (max-width:767px) {
  html:has(.design-casa) { scrollbar-gutter:stable; }
  .design-casa > section:not(.dc-contact) { display:none; }
  .design-casa .dc-sp[hidden] { display:block; }
  .design-casa .dc-sp { font:500 3.733333cqw/1.6 'Zen Kaku Gothic New',sans-serif; letter-spacing:0.373333cqw; }
  .dc-sp section,.dc-sp article { position:relative; }
  .dc-sp article > * { margin-top:0; }
  .design-casa .dc-sp h1,.design-casa .dc-sp h2,.design-casa .dc-sp h3,.design-casa .dc-sp h4 { font-weight:500; }
  .dc-sp-hero { height:102.4cqw; }
  .dc-sp-hero > img { width:100%; height:100%; }
  .dc-sp-top { height:46.133333cqw; padding-top:7.2cqw; overflow:hidden; }
  .dc-sp-rail { display:flex; width:max-content; gap:1.6cqw; will-change:transform; }
  .design-casa .dc-sp-rail figure { flex:none; margin:0; }
  .dc-sp-rail-photo { position:relative; }
  .dc-sp-rail-photo > img { width:100%; height:100%; object-fit:cover; }
  .dc-sp-rail-top figure { width:49.333333cqw; }
  .dc-sp-rail-top .dc-sp-rail-photo { height:30.666667cqw; }
  .dc-sp-copyright { position:absolute; bottom:1.066667cqw; right:1.333333cqw; font:700 1.6cqw/1 Arial,sans-serif; letter-spacing:0; color:white; }
  .dc-sp-intro { height:244.8cqw; }
  .dc-sp-intro h1 { position:absolute; top:2.133333cqw; left:13.6cqw; width:74.666667cqw; font-family:'EB Garamond',serif; letter-spacing:0.933333cqw; line-height:1.1; }
  .dc-sp-intro h1 em { display:block; font-size:19.2cqw; font-weight:500; }
  .dc-sp-intro h1 em { transform:translateY(3.2cqw); }
  .dc-sp-intro h1 span { display:block; margin-top:-0.266667cqw; margin-left:12.8cqw; font-size:13.333333cqw; letter-spacing:0.666667cqw; white-space:nowrap; }
  .dc-sp-intro h2 { position:absolute; top:47.2cqw; left:12cqw; width:82.666667cqw; font:500 5.333333cqw/1.6 'Zen Old Mincho',serif; letter-spacing:0.533333cqw; }
  .dc-sp-intro-copy { position:absolute; top:70.666667cqw; left:12cqw; width:82.666667cqw; font-size:3.466667cqw; line-height:1.8; letter-spacing:0.346667cqw; }
  .design-casa .dc-sp-intro-copy p + p { margin-top:6.133333cqw; }
  .dc-sp-intro-line { position:absolute; top:110.133333cqw; left:49.6cqw; height:16cqw; border-left:0.266667cqw solid #616161; }
  .dc-sp-team { position:absolute; top:134.133333cqw; left:4.8cqw; width:90.4cqw; height:99.466667cqw; }
  .dc-sp-architects { height:136.266667cqw; background:#ebebe9; padding-top:13.066667cqw; overflow:hidden; }
  .dc-sp-section-heading { margin:0 6.4cqw; }
  .dc-sp-section-heading h2 { font:500 9.6cqw/1.3 'EB Garamond',serif; letter-spacing:0.48cqw; }
  .dc-sp-section-heading > p { margin-top:1.066667cqw; font:500 4.8cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.48cqw; white-space:nowrap; }
  .dc-sp-section-heading > i { display:block; width:12cqw; margin:4cqw 0 4.8cqw; border-top:0.266667cqw solid #616161; }
  .dc-sp-section-heading > div { font-size:3.466667cqw; line-height:1.8; letter-spacing:0.346667cqw; }
  .dc-sp-architects .dc-sp-rail { position:absolute; top:71.733333cqw; left:0; gap:2.133333cqw; }
  .dc-sp-rail-architects figure { width:34.133333cqw; }
  .dc-sp-rail-architects .dc-sp-rail-photo { height:47.733333cqw; }
  .dc-sp-rail-architects figcaption { margin-top:2.4cqw; font:400 2.933333cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.293333cqw; text-align:center; }
  .dc-sp-cases { padding-top:13.066667cqw; padding-bottom:18.666667cqw; }
  .dc-sp-cases > .dc-sp-section-heading { height:63.733333cqw; }
  .dc-sp-cases > .dc-sp-section-heading > div { font-size:3.2cqw; letter-spacing:0.32cqw; width:93.6cqw; line-height:1.95; }
  .dc-sp-case { height:292.533333cqw; }
  .dc-sp-case-01 { height:302.933333cqw; }
  .dc-sp-case + .dc-sp-case { margin-top:17.066667cqw; }
  .dc-sp-case > header { position:relative; height:21.6cqw; }
  .dc-sp-case-number { position:absolute; z-index:1; top:-0.266667cqw; left:5.066667cqw; font:500 19.2cqw/.85 'EB Garamond',serif; letter-spacing:0.96cqw; }
  .dc-sp-case-number em { display:block; font-size:8.533333cqw; font-style:normal; line-height:1.2; letter-spacing:0.426667cqw; margin-left:1.333333cqw; }
  .dc-sp-case header h3 { position:absolute; top:1.6cqw; left:27.2cqw; font:500 4.8cqw/1.6 'Zen Old Mincho',serif; letter-spacing:0.48cqw; white-space:nowrap; }
  .dc-sp-case-02 .dc-sp-case-number { left:auto; right:2.133333cqw; }
  .dc-sp-case-02 header h3 { left:4.8cqw; }
  .dc-sp-main-photo { width:100%; height:70.4cqw; }
  .dc-sp-main-photo img { width:100%; height:100%; object-fit:cover; }
  .dc-sp-thumbnails { position:absolute; top:95.2cqw; left:-20cqw; display:flex; gap:1.6cqw; width:max-content; transition:transform .3s ease; touch-action:pan-y; }
  .dc-sp-thumbnails button { flex:none; width:27.466667cqw; height:19.733333cqw; }
  .dc-sp-thumbnails img { width:100%; height:100%; object-fit:cover; }
  .dc-sp-thumbnails button[aria-pressed=true]::after { content:''; display:block; margin-top:1.6cqw; width:100%; border-bottom:1.866667cqw solid #c1c8cc; }
  .dc-sp-dots { display:flex; justify-content:center; gap:1.866667cqw; }
  .dc-sp-case > .dc-sp-dots { position:absolute; top:120.533333cqw; left:0; width:100%; }
  .dc-sp-dots button { display:block; width:2.133333cqw; height:2.133333cqw; padding:0; border-radius:50%; background:#ebebe9; }
  .dc-sp-dots button[aria-pressed=true] { background:#3d3d3d; }
  .dc-sp-wish-label { position:absolute; top:133.066667cqw; left:6.4cqw; font:500 3.733333cqw/1.8 'EB Garamond',serif; letter-spacing:0.373333cqw; }
  .dc-sp-wish-label span { margin-left:3.733333cqw; font-family:'Zen Old Mincho',serif; font-size:3.466667cqw; letter-spacing:0.346667cqw; }
  .dc-sp-wish { position:absolute; top:141.066667cqw; left:7.733333cqw; width:87.2cqw; height:26.666667cqw; padding:4cqw 0 0 5.866667cqw !important; border-left:0.266667cqw solid #616161; font-size:3.466667cqw; line-height:1.8; letter-spacing:0.346667cqw; }
  .dc-sp-case-01 .dc-sp-wish { height:36cqw; }
  .dc-sp-wish::after { content:''; position:absolute; left:-0.8cqw; bottom:0; width:0; height:0; border:0.8cqw solid transparent; border-top:1.333333cqw solid #616161; transform:translateY(50%); }
  .dc-sp-answer { position:absolute; top:172.533333cqw; left:6.4cqw; width:87.2cqw; height:120cqw; background:white; box-shadow:0 0 2.133333cqw #00000015; }
  .dc-sp-case-01 .dc-sp-answer { top:182.933333cqw; }
  .dc-sp-answer-label { position:absolute; top:7.2cqw; left:7.466667cqw; font:500 3.733333cqw/1.8 'EB Garamond',serif; letter-spacing:0.266667cqw; white-space:nowrap; }
  .dc-sp-answer-label span { margin-left:2.666667cqw; font-family:'Zen Old Mincho',serif; font-size:3.466667cqw; letter-spacing:0.346667cqw; }
  .dc-sp-answer h4 { position:absolute; top:17.066667cqw; left:7.466667cqw; font:500 5.333333cqw/1.6 'Zen Old Mincho',serif; letter-spacing:0.533333cqw; }
  .dc-sp-architect { position:absolute; left:7.466667cqw; top:38.666667cqw; width:72.533333cqw; height:31.466667cqw; border:0.266667cqw solid #c1c8cc; }
  .dc-sp-architect > img { position:absolute; top:3.733333cqw; left:3.733333cqw; width:24cqw; height:24cqw; object-fit:cover; border-radius:50%; }
  .dc-sp-architect > div { position:absolute; left:32cqw; top:5.6cqw; }
  .dc-sp-architect p:first-child { font:500 3.2cqw/1.8 'EB Garamond',serif; letter-spacing:0.32cqw; }
  .dc-sp-architect p:nth-child(2) { margin-top:1.066667cqw; font:500 4.266667cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.298667cqw; }
  .dc-sp-architect p:last-child { margin-top:0.266667cqw; font-size:2.666667cqw; line-height:1.8; letter-spacing:0.186667cqw; white-space:nowrap; }
  .dc-sp-answer-body { position:absolute; top:76.533333cqw; left:7.466667cqw; width:72.533333cqw; font-size:3.733333cqw; line-height:1.8; letter-spacing:0.373333cqw; }
  .dc-sp-value { height:139.2cqw; }
  .dc-sp-value-bg { position:absolute; inset:0; background:linear-gradient(90deg,#fff 29.333%,#ffffffdd 45%,transparent 100%),url('../images/design-casa/bce7c.webp') 29.333333cqw center / auto 100% no-repeat; }
  .dc-sp-value-bg::after { content:'©design casa'; position:absolute; right:2.666667cqw; bottom:2.133333cqw; color:white; font:700 2.133333cqw/1 Arial,sans-serif; letter-spacing:0; }
  .dc-sp-value-label { position:absolute; top:14.933333cqw; left:21.6cqw; font:500 3.733333cqw/1.8 'EB Garamond',serif; letter-spacing:0.373333cqw; }
  .dc-sp-value-label::before { content:''; position:absolute; width:11.466667cqw; left:-15.2cqw; top:3.2cqw; border-top:0.266667cqw solid #bfbfbf; }
  .dc-sp-value h2 { position:absolute; left:6.4cqw; top:27.733333cqw; font:500 6.4cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.64cqw; }
  .dc-sp-value-copy { position:absolute; top:54.4cqw; left:6.4cqw; width:82.666667cqw; font-size:3.466667cqw; line-height:1.8; letter-spacing:0.346667cqw; }
  .design-casa .dc-sp-value-copy p + p { margin-top:6.4cqw; }
  .dc-sp-feature { height:438.133333cqw; }
  .dc-sp-feature-site { height:417.866667cqw; }
  .dc-sp-feature-cost { height:451.466667cqw; }
  .dc-sp-feature header > span { position:absolute; top:1.6cqw; left:4.8cqw; color:#ebebe9; font:500 italic 30.4cqw/1.3 'EB Garamond',serif; letter-spacing:1.52cqw; }
  .dc-sp-feature header > h2 { position:absolute; top:18.4cqw; left:39.733333cqw; font:500 5.333333cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.533333cqw; white-space:nowrap; }
  .dc-sp-feature-cost header > h2 { left:36cqw; }
  .dc-sp-feature-pair { position:absolute; top:45.6cqw; left:6.4cqw; width:93.6cqw; height:115.2cqw; }
  .dc-sp-feature-copy { position:absolute; top:169.066667cqw; left:6.4cqw; width:87.2cqw; font-size:3.733333cqw; line-height:1.4; letter-spacing:0.373333cqw; }
  .design-casa .dc-sp-feature-copy p + p { margin-top:6.4cqw; }
  .dc-sp-feature-design { position:absolute; top:243.733333cqw; left:6.4cqw; width:93.6cqw; height:145.066667cqw; }
  .dc-sp-feature-site .dc-sp-feature-design { top:232.8cqw; height:118.666667cqw; }
  .dc-sp-feature-cost .dc-sp-feature-design { top:242.4cqw; height:143.2cqw; }
  .dc-sp-example { position:absolute; top:388.8cqw; left:8.8cqw; width:87.2cqw; padding:6.133333cqw 0 4.266667cqw 4.266667cqw; border-left:0.266667cqw solid #616161; font-size:3.2cqw; line-height:1.516667; letter-spacing:0.32cqw; }
  .dc-sp-example > p { font:500 3.733333cqw/1.8 'EB Garamond',serif; letter-spacing:0.373333cqw; }
  .dc-sp-example > h3 { margin:1.866667cqw 0 3.2cqw !important; font:500 4.266667cqw/1.4 'Zen Old Mincho',serif; letter-spacing:0.426667cqw; }
  .dc-sp-feature-site .dc-sp-example { top:351.466667cqw; }
  .dc-sp-feature-cost .dc-sp-example { top:385.6cqw; }
  .dc-sp-gallery { height:122.4cqw; background:linear-gradient(#ebebe9,white 93.926%); text-align:center; overflow:hidden; }
  .dc-sp-gallery > h2 { position:absolute; top:13.066667cqw; left:0; width:100%; font:500 7.466667cqw/1.15 'EB Garamond',serif; letter-spacing:0.373333cqw; }
  .dc-sp-gallery > p { position:absolute; top:31.733333cqw; left:0; width:100%; font:400 3.466667cqw/1.6 'Zen Old Mincho',serif; letter-spacing:0.693333cqw; }
  .dc-sp-gallery .dc-sp-rail { position:absolute; top:42.133333cqw; left:0; gap:2.666667cqw; }
  .dc-sp-rail-gallery figure { width:76cqw; }
  .dc-sp-rail-gallery .dc-sp-rail-photo { height:48cqw; }
  .dc-sp-rail-gallery figcaption { font:500 3.2cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.64cqw; margin-top:2.133333cqw; }
  .dc-sp-rail-gallery figcaption + figcaption { font:400 1.866667cqw/1.8 'EB Garamond',serif; letter-spacing:0.373333cqw; margin-top:0; }
  .dc-sp-gallery .dc-sp-dots { position:absolute; top:106.933333cqw; left:0; width:100%; }
  .dc-sp-catalog { height:166.133333cqw; background:linear-gradient(120deg,#fff 22%,#ffffffc9 43%,#ffffff22 80%),url('../images/design-casa/82b75.webp') 56.5% center / auto 100%; overflow:hidden; }
  .dc-sp-catalog h2 { position:absolute; top:12.8cqw; left:13.6cqw; font:500 9.6cqw/1.3 'EB Garamond',serif; letter-spacing:0.48cqw; }
  .dc-sp-catalog h3 { position:absolute; top:40cqw; left:13.6cqw; font:500 4.266667cqw/1.8 'Zen Old Mincho',serif; letter-spacing:0.426667cqw; white-space:nowrap; }
  .dc-sp-book-open { position:absolute; top:52.533333cqw; left:30.133333cqw; width:61.6cqw; height:48cqw; object-fit:contain; transform:rotate(20deg); }
  .dc-sp-book-cover { position:absolute; top:74.4cqw; left:6.4cqw; width:43.733333cqw; height:34.133333cqw; object-fit:contain; }
  .dc-sp-catalog > p { position:absolute; top:114.933333cqw; left:13.6cqw; font-size:3.466667cqw; line-height:1.8; letter-spacing:0.346667cqw; }
  .dc-sp-catalog > a { position:absolute; top:139.466667cqw; left:13.6cqw; width:66.666667cqw; height:12.533333cqw; background:#3d3d3d; color:white; padding:2.933333cqw 5.6cqw; font-size:3.733333cqw; font-weight:700; letter-spacing:0.373333cqw; }
  .dc-sp-catalog > a span { float:right; font-size:3.2cqw; }
  .dc-sp-catalog-credit { position:absolute; bottom:2.133333cqw; right:2.666667cqw; color:white; font:700 2.133333cqw/1 Arial,sans-serif; letter-spacing:0; }
  .design-casa .dc-contact { padding:12.8cqw 0 10.666667cqw; min-height:0; height:auto; }
  .design-casa .dc-contact-card { margin:0; width:100%; padding:0; background:transparent; scroll-margin-top:21.333333cqw; }
  .design-casa .dc-contact-heading { width:66.666667cqw; height:16.266667cqw; border:0; }
  .design-casa .dc-contact-heading span { left:5.333333cqw; top:0; font-size:5.333333cqw; letter-spacing:0.266667cqw; }
  .design-casa .dc-contact-heading h2 { padding-top:4cqw; font-size:8.533333cqw; line-height:1.3; letter-spacing:0.426667cqw; }
  .design-casa .dc-contact-heading p { width:41.866667cqw; margin:-0.533333cqw auto 0; font-size:2.933333cqw; line-height:1.3; letter-spacing:0.586667cqw; }
  .design-casa .dc-contact-description { width:87.2cqw; margin:9.866667cqw auto 10.933333cqw; font-size:3.466667cqw; line-height:2.3; letter-spacing:0; }
  .design-casa .dc-contact-description br:nth-of-type(7),.design-casa .dc-contact-description br:nth-of-type(8) { display:none; }
  .design-casa .dc-form { width:89.333333cqw; font-size:3.733333cqw; line-height:1.4; }
  .design-casa .dc-field { margin-bottom:2.666667cqw; }
  .design-casa .dc-field input,.design-casa .dc-field textarea { height:14.666667cqw; min-height:0; padding:3.2cqw 11.2cqw 3.2cqw 1.866667cqw; border:0.533333cqw solid #bfbfbf; border-radius:0.8cqw; font:400 3.733333cqw/1.4 'Zen Kaku Gothic New',sans-serif; }
  .design-casa .dc-field textarea { height:38.4cqw; min-height:0; padding:4.266667cqw 1.866667cqw; }
  .design-casa .dc-required { top:3.2cqw; right:2.133333cqw; width:8cqw; height:8cqw; border-radius:0.8cqw; font-size:2.933333cqw; }
  .design-casa .dc-privacy { width:50.666667cqw; margin:10.933333cqw auto 0; font-size:3.2cqw; line-height:2.5; letter-spacing:0; }
  .design-casa .dc-submit { width:66.933333cqw; margin:3.733333cqw auto 0; }
  .design-casa input.wpcf7-submit { height:11.733333cqw; font-size:3.2cqw; font-weight:400; letter-spacing:0.32cqw; background:#222629; }
  .design-casa .dc-submit::after { top:5.066667cqw; right:5.333333cqw; border-top:0.8cqw solid transparent; border-bottom:0.8cqw solid transparent; border-left:1.866667cqw solid white; }
  .design-casa .wpcf7-not-valid-tip { font-size:3.2cqw; }
  .design-casa .wpcf7-response-output { font-size:3.466667cqw; }
}
